def test_missing_yaml_library() -> None: msg = "Missing yaml: pip install PyYAML" with patch("faust.serializers.codecs._yaml", None): with pytest.raises(ImproperlyConfigured): loads("yaml", dumps("yaml", DATA)) pytest.fail(msg) with pytest.raises(ImproperlyConfigured): get_codec("yaml").loads(b"") pytest.fail(msg)
def test_missing_yaml_library() -> None: msg = 'Missing yaml: pip install PyYAML' with patch('faust.serializers.codecs._yaml', None): with pytest.raises(ImproperlyConfigured): loads('yaml', dumps('yaml', DATA)) pytest.fail(msg) with pytest.raises(ImproperlyConfigured): get_codec('yaml').loads(b'') pytest.fail(msg)
def loads(cls, s: bytes, *, default_serializer: CodecArg = None) -> ModelT: """Deserialize model object from bytes. Arguments: default_serializer (CodecArg): Default serializer to use if no custom serializer was set for this model subclass. **kwargs: Additional attributes to set on the model object. Note, these are regarded as defaults, and any fields also present in the message takes precedence. """ data = loads(cls._options.serializer or default_serializer, s) return cls.from_data(data)
def loads(cls, s: bytes, *, default_serializer: CodecArg = None, # XXX use serializer serializer: CodecArg = None) -> ModelT: """Deserialize model object from bytes. Keyword Arguments: serializer (CodecArg): Default serializer to use if no custom serializer was set for this model subclass. """ if default_serializer is not None: warnings.warn(DeprecationWarning( 'default_serializer deprecated, use: serializer')) ser = cls._options.serializer or serializer or default_serializer data = loads(ser, s) return cls.from_data(data)
def test_binary(input: bytes) -> None: assert loads('binary', dumps('binary', input)) == input
def test_json_subset(codec: str) -> None: assert loads(codec, dumps(codec, DATA)) == DATA
def test_binary(input: bytes) -> None: assert loads("binary", dumps("binary", input)) == input