Esempio n. 1
0
        public async Task produces_message_with_expected_value()
        {
            var expected = "foo value 123";
            var spy      = new KafkaProducerSpy(new PayloadSerializerStub(expected));

            var payloadStub = new PayloadDescriptorBuilder().Build();
            await spy.Produce(payloadStub);

            Assert.Equal(expected, spy.Value);
        }
Esempio n. 2
0
        public async Task produces_to_expected_topic()
        {
            var spy = new KafkaProducerSpy();

            var expected = "foo topic name";

            var payloadStub = new PayloadDescriptorBuilder()
                              .WithTopicName(expected)
                              .Build();

            await spy.Produce(payloadStub);

            Assert.Equal(expected, spy.Topic);
        }
Esempio n. 3
0
        public async Task produces_message_with_expected_key()
        {
            var spy = new KafkaProducerSpy();

            var expected = "foo partition key";

            var payloadStub = new PayloadDescriptorBuilder()
                              .WithPartitionKey(expected)
                              .Build();

            await spy.Produce(payloadStub);

            Assert.Equal(expected, spy.Key);
        }
Esempio n. 4
0
        public async Task returns_expected_serialized_value_of_simple_payload_without_headers()
        {
            var sut = new DefaultPayloadSerializer();

            var messageDataStub = "foo-message-data";

            var payloadStub = new PayloadDescriptorBuilder()
                              .WithMessageData(messageDataStub)
                              .Build();

            AssertJson.Equal(
                expected: $@"
                            {{
                                ""messageId"":""{payloadStub.MessageId}"",
                                ""type"":""{payloadStub.MessageType}"",
                                ""data"":""{messageDataStub}""
                            }}",
                actual: await sut.Serialize(payloadStub)
                );
        }
        public async Task returns_expected_serialized_value_of_simple_payload_with_simple_headers()
        {
            var sut = new DefaultPayloadSerializer();

            var messageDataStub = "foo-message-data";
            var headerEntryStub = KeyValuePair.Create <string, object>("foo", "bar");

            var payloadStub = new PayloadDescriptorBuilder()
                              .WithMessageData(messageDataStub)
                              .WithMessageHeaders(headerEntryStub)
                              .Build();

            AssertJson.Equal(
                expected: $@"
                            {{
                                ""messageId"":""{payloadStub.MessageId}"",
                                ""type"":""{payloadStub.MessageType}"",
                                ""{headerEntryStub.Key}"":""{headerEntryStub.Value}"",
                                ""data"":""{messageDataStub}""
                            }}",
                actual: await sut.Serialize(payloadStub)
                );
        }