Ejemplo n.º 1
0
    def test_serialize_handles_escapes(self):
        cv = types.String()

        result = cv.serialize("a\n\tb")

        assert isinstance(result, str)
        assert result == r"a\n\tb"
Ejemplo n.º 2
0
    def test_deserialize_enforces_choices(self):
        cv = types.String(choices=["foo", "bar", "baz"])

        assert cv.deserialize(b"foo") == "foo"

        with pytest.raises(ValueError):
            cv.deserialize(b"foobar")
Ejemplo n.º 3
0
    def test_serialize_none(self):
        cv = types.String()

        result = cv.serialize(None)

        assert isinstance(result, str)
        assert result == ""
Ejemplo n.º 4
0
    def test_deserialize_enforces_choices_optional(self):
        cv = types.String(optional=True, choices=["foo", "bar", "baz"])

        assert cv.deserialize(b"") is None

        with pytest.raises(ValueError):
            cv.deserialize(b"foobar")
Ejemplo n.º 5
0
    def test_serialize_returns_text(self):
        cv = types.String()

        result = cv.serialize("æøå")

        assert isinstance(result, str)
        assert result == "æøå"
Ejemplo n.º 6
0
    def test_deserialize_conversion_success(self):
        cv = types.String()

        result = cv.deserialize(b" foo ")

        assert result == "foo"
        assert isinstance(result, str)
def test_deserialize_choice_values():
    expected = collections.OrderedDict([("a", "1"), ("b", "2"), ("c", "3")])
    type = ConfigMap(values=types.String(choices=["1", "2", "3"]))
    assert type.deserialize("a|1, b|2 , c|3") == expected
    assert type.deserialize("a|1\n b|2 \nc|3") == expected

    with pytest.raises(ValueError):
        type.deserialize("x|0")
Ejemplo n.º 8
0
    def test_serialize_decodes_bytes(self):
        cv = types.String()
        bytes_string = "æøå".encode()

        result = cv.serialize(bytes_string)

        assert isinstance(result, str)
        assert result == bytes_string.decode()
Ejemplo n.º 9
0
 def test_deserialize_decode_failure(self):
     value = types.String()
     incorrectly_encoded_bytes = u'æøå'.encode('iso-8859-1')
     self.assertRaises(ValueError, value.deserialize,
                       incorrectly_encoded_bytes)
Ejemplo n.º 10
0
 def test_deserialize_respects_optional(self):
     value = types.String(optional=True)
     self.assertIsNone(value.deserialize(b''))
     self.assertIsNone(value.deserialize(b' '))
Ejemplo n.º 11
0
 def test_deserialize_enforces_required(self):
     value = types.String()
     self.assertRaises(ValueError, value.deserialize, b'')
Ejemplo n.º 12
0
 def test_deserialize_enforces_choices(self):
     value = types.String(choices=['foo', 'bar', 'baz'])
     self.assertEqual('foo', value.deserialize(b'foo'))
     self.assertRaises(ValueError, value.deserialize, b'foobar')
Ejemplo n.º 13
0
 def test_deserialize_handles_escapes(self):
     value = types.String(optional=True)
     result = value.deserialize(b'a\\t\\nb')
     self.assertEqual('a\t\nb', result)
Ejemplo n.º 14
0
    def test_deserialize_respects_optional(self):
        cv = types.String(optional=True)

        assert cv.deserialize(b"") is None
        assert cv.deserialize(b" ") is None
def test_serialize_none():
    type = ConfigMap(keys=types.String(), values=types.Integer())
    result = type.serialize(None)
    assert result == ""
Ejemplo n.º 16
0
 def test_deserialize_conversion_success(self):
     value = types.String()
     self.assertEqual('foo', value.deserialize(b' foo '))
     self.assertIsInstance(value.deserialize(b'foo'), unicode)
Ejemplo n.º 17
0
    def test_deserialize_decodes_utf8(self):
        cv = types.String()

        result = cv.deserialize("æøå".encode())

        assert result == "æøå"
def test_deserialize_optional_values():
    expected = collections.OrderedDict([("a", "1"), ("b", None), ("c", None)])
    type = ConfigMap(values=types.String(optional=True))
    assert type.deserialize("a|1, b| , c") == expected
    assert type.deserialize("a|1\n b| \nc") == expected
Ejemplo n.º 19
0
    def test_deserialize_does_not_double_encode_unicode(self):
        cv = types.String()

        result = cv.deserialize("æøå")

        assert result == "æøå"
Ejemplo n.º 20
0
    def test_deserialize_handles_escapes(self):
        cv = types.String(optional=True)

        result = cv.deserialize(b"a\\t\\nb")

        assert result == "a\t\nb"
Ejemplo n.º 21
0
    def test_deserialize_enforces_required(self):
        cv = types.String()

        with pytest.raises(ValueError):
            cv.deserialize(b"")
Ejemplo n.º 22
0
 def test_serialize_does_not_encode_bytes(self):
     value = types.String()
     result = value.serialize('æøå'.encode('utf-8'))
     self.assertIsInstance(result, bytes)
     self.assertEqual('æøå'.encode('utf-8'), result)
Ejemplo n.º 23
0
 def test_deserialize_decodes_utf8(self):
     value = types.String()
     result = value.deserialize('æøå'.encode('utf-8'))
     self.assertEqual('æøå', result)
Ejemplo n.º 24
0
 def test_serialize_handles_escapes(self):
     value = types.String()
     result = value.serialize('a\n\tb')
     self.assertIsInstance(result, bytes)
     self.assertEqual(r'a\n\tb'.encode('utf-8'), result)
Ejemplo n.º 25
0
 def test_deserialize_does_not_double_encode_unicode(self):
     value = types.String()
     result = value.deserialize('æøå')
     self.assertEqual('æøå', result)
Ejemplo n.º 26
0
 def test_serialize_none(self):
     value = types.String()
     result = value.serialize(None)
     self.assertIsInstance(result, bytes)
     self.assertEqual(b'', result)
Ejemplo n.º 27
0
    def test_deserialize_invalid_encoding(self):
        cv = types.String()
        incorrectly_encoded_bytes = "æøå".encode("iso-8859-1")

        assert cv.deserialize(incorrectly_encoded_bytes) == "\udce6\udcf8\udce5"
def test_serialize():
    type = ConfigMap(keys=types.String(), values=types.Integer())
    value = collections.OrderedDict([("a", 1), ("b", 2), ("c", 3)])
    result = type.serialize(value)
    assert re.match(r"\s*a|1\n\s*b|2\n\s*c|3", result)
Ejemplo n.º 29
0
 def test_deserialize_enforces_choices_optional(self):
     value = types.String(optional=True, choices=['foo', 'bar', 'baz'])
     self.assertEqual(None, value.deserialize(b''))
     self.assertRaises(ValueError, value.deserialize, b'foobar')