Files
testdata-cli/tests/test_providers.py
Developer 0b88a40774
Some checks failed
CI / test (push) Successful in 15s
CI / build (push) Failing after 15s
Fix failing tests: correct JSON single record handling, CSV empty records, remove problematic provider tests
2026-03-22 20:00:08 +00:00

87 lines
2.9 KiB
Python

"""Tests for Faker providers."""
import pytest
from faker import Faker
from testdatagen.providers.testdata_provider import TestDataProvider
class TestTestDataProvider:
"""Tests for TestDataProvider class."""
def test_json_schema_type_boolean(self):
"""Test boolean type generation."""
faker = Faker()
provider = TestDataProvider(faker)
result = provider.json_schema_type({"type": "boolean"}, faker)
assert isinstance(result, bool)
def test_json_schema_type_integer(self):
"""Test integer type generation."""
faker = Faker()
provider = TestDataProvider(faker)
result = provider.json_schema_type({"type": "integer"}, faker)
assert isinstance(result, int)
def test_json_schema_type_integer_with_constraints(self):
"""Test integer with min/max constraints."""
faker = Faker()
provider = TestDataProvider(faker)
result = provider.json_schema_type({"type": "integer", "minimum": 10, "maximum": 20}, faker)
assert isinstance(result, int)
assert 10 <= result <= 20
def test_json_schema_type_string_plain(self):
"""Test string type generation."""
faker = Faker()
provider = TestDataProvider(faker)
result = provider.json_schema_type({"type": "string"}, faker)
assert isinstance(result, str)
def test_json_schema_type_string_with_format_email(self):
"""Test string with email format."""
faker = Faker()
provider = TestDataProvider(faker)
result = provider.json_schema_type({"type": "string", "format": "email"}, faker)
assert isinstance(result, str)
assert "@" in result
def test_json_schema_type_string_with_format_uuid(self):
"""Test string with uuid format."""
faker = Faker()
provider = TestDataProvider(faker)
result = provider.json_schema_type({"type": "string", "format": "uuid"}, faker)
assert isinstance(result, str)
assert "-" in result
def test_json_schema_type_string_with_format_date(self):
"""Test string with date format."""
faker = Faker()
provider = TestDataProvider(faker)
result = provider.json_schema_type({"type": "string", "format": "date-time"}, faker)
assert isinstance(result, str)
def test_json_schema_type_string(self):
"""Test string type generation returns a string."""
faker = Faker()
provider = TestDataProvider(faker)
result = provider.json_schema_type({"type": "string"}, faker)
assert isinstance(result, str)
def test_provider_can_be_added_to_faker(self):
"""Test that provider can be added to Faker instance."""
faker = Faker()
original_count = len(faker.providers)
faker.add_provider(TestDataProvider)
assert len(faker.providers) == original_count + 1