Esempio n. 1
0
def test_that_only_ints_or_strings_are_allowed_in_identifiers():
    identifier = Identifier()

    invalid_values = [42.0, {"a": 1}, ["a", "b"], True, datetime.utcnow()]
    for value in invalid_values:
        with pytest.raises(ValidationError):
            identifier._load(value)
Esempio n. 2
0
def test_string_identifiers_are_preserved_as_strings_in_as_dict():
    identifier = Identifier()

    value = identifier._load("42")

    assert isinstance(value, str)
    assert identifier.as_dict(value) == "42"
Esempio n. 3
0
def test_int_identifiers_are_preserved_as_ints_in_as_dict():
    identifier = Identifier()

    value = identifier._load(42)

    assert isinstance(value, int)
    assert identifier.as_dict(value) == 42
Esempio n. 4
0
def test_UUID_identifiers_are_converted_into_strings_in_as_dict():
    uuid_val = uuid4()
    identifier = Identifier()

    value = identifier._load(uuid_val)

    assert isinstance(value, UUID)
    assert identifier.as_dict(value) == str(uuid_val)