async def test_subscription_request(): """Test subscription request""" source = SubscriptionRequest('feed', 'topic', True) stream_writer = MockStreamWriter() data_writer = DataWriter(stream_writer) await source.write(data_writer) stream_reader = MockStreamReader(stream_writer.buf) data_reader = DataReader(stream_reader) dest = await Message.read(data_reader) assert source == dest
async def test_authorization_request(): """Test forwarded subscription request""" source = AuthorizationRequest( uuid.UUID('12345678123456781234567812345678'), 'host', 'user', 'feed', 'topic') stream_writer = MockStreamWriter() data_writer = DataWriter(stream_writer) await source.write(data_writer) stream_reader = MockStreamReader(stream_writer.buf) data_reader = DataReader(stream_reader) dest = await Message.read(data_reader) assert source == dest
async def test_multicast_data(): """Test multicast data message""" source = MulticastData('feed', 'topic', True, [ DataPacket({1, 2}, b'first'), DataPacket(None, b'second'), ]) stream_writer = MockStreamWriter() data_writer = DataWriter(stream_writer) await source.write(data_writer) stream_reader = MockStreamReader(stream_writer.buf) data_reader = DataReader(stream_reader) dest = await Message.read(data_reader) assert source == dest
async def test_basic_authentication(): """Test for BasicAuthenticator()""" stream_writer = MockStreamWriter() data_writer = DataWriter(stream_writer) stream_reader = MockStreamReader(b'') data_reader = DataReader(stream_reader) authenticator = BasicAuthenticator("username", "password", None, None, "application") await authenticator.authenticate(data_reader, data_writer) assert ( stream_writer.buf == b'\x00\x00\x00;Username=username;Password=password;Application=application' )
async def test_forwarded_unicast_data(): """Test forwarded unicast data message""" source = ForwardedUnicastData( 'user', 'host', uuid.UUID('12345678123456781234567812345678'), 'feed', 'topic', True, [ DataPacket({1, 2}, b'first'), DataPacket(None, b'second'), ]) stream_writer = MockStreamWriter() data_writer = DataWriter(stream_writer) await source.write(data_writer) stream_reader = MockStreamReader(stream_writer.buf) data_reader = DataReader(stream_reader) dest = await Message.read(data_reader) assert source == dest
async def test_roundtrip(): """Test round trip serialization""" stream_writer = MockStreamWriter() data_writer = DataWriter(stream_writer) data_writer.write_boolean(True) data_writer.write_boolean(False) data_writer.write_byte(32) data_writer.write_int(42) data_writer.write_string('This is not a test') data_writer.write_uuid(uuid.UUID('12345678123456781234567812345678')) stream_reader = MockStreamReader(stream_writer.buf) data_reader = DataReader(stream_reader) assert await data_reader.read_boolean() assert not await data_reader.read_boolean() assert await data_reader.read_byte() == 32 assert await data_reader.read_int() == 42 assert await data_reader.read_string() == 'This is not a test' assert await data_reader.read_uuid() == uuid.UUID( '12345678123456781234567812345678')