示例#1
0
async def test_send(key, topic_name, expected_topic, key_serializer, app):
    topic = app.topic(topic_name)
    event = Value(amount=0.0)
    await app.send(topic, key, event, key_serializer=key_serializer)
    # do it twice so producer_started is also True
    await app.send(topic, key, event, key_serializer=key_serializer)
    expected_sender = app.producer.send
    if key is not None:
        if isinstance(key, str):
            # Default serializer is raw, and str should be serialized
            # (note that a bytes key will be left alone.
            key_serializer = 'raw'
        if isinstance(key, ModelT):
            expected_key = key.dumps(serializer='raw')
        elif key_serializer:
            expected_key = codecs.dumps(key_serializer, key)
        else:
            expected_key = want_bytes(key)
    else:
        expected_key = None
    expected_sender.assert_called_with(
        expected_topic,
        expected_key,
        event.dumps(),
        partition=None,
        timestamp=None,
        headers={},
    )
示例#2
0
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)
示例#3
0
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)
示例#4
0
 def dumps(self, *, serializer: CodecArg = None) -> bytes:
     """Serialize object to the target serialization format."""
     return dumps(serializer or self._options.serializer, self.to_representation())
示例#5
0
def test_binary(input: bytes) -> None:
    assert loads('binary', dumps('binary', input)) == input
示例#6
0
def test_json_subset(codec: str) -> None:
    assert loads(codec, dumps(codec, DATA)) == DATA
示例#7
0
def test_binary(input: bytes) -> None:
    assert loads("binary", dumps("binary", input)) == input