public void TryReceive_HasMessage_ReturnsTrueAndMessage()
        {
            var config = new KafkaQueueConfiguration {
                IsConsumer = true
            };
            var consumeResult = new ConsumeResult <Ignore, byte[]>
            {
                Message = new Message <Ignore, byte[]>
                {
                    Value     = new byte[] { 0xDE, 0xAD, 0xBE, 0xEF },
                    Timestamp = new Timestamp(DateTime.Now),
                    Headers   = new Headers()
                },
                Topic = "Topic"
            };
            var connectionFactoryMock = Given.KafkaConnectionFactory;

            connectionFactoryMock.ConsumerMock
            .Setup(x => x.Consume(It.IsAny <CancellationToken>()))
            .Returns(consumeResult);
            var adapter = Given.KafkaQueueMessageAdapter
                          .WithConfiguration(config)
                          .WithConnectionFactory(connectionFactoryMock)
                          .Please();

            adapter.Connect();
            var hasMessage = adapter.TryReceive(out var message);

            Assert.IsTrue(hasMessage);
            Assert.IsInstanceOf <BytesMessage>(message);
            var bytesMessage = (BytesMessage)message;

            Assert.AreEqual(consumeResult.Message.Value, bytesMessage.Body);
            Assert.AreEqual(consumeResult.Timestamp.UtcDateTime, bytesMessage.SendDateTime);
            Assert.AreEqual(consumeResult.Topic, bytesMessage.ReplyQueue);
        }
 public KafkaQueueMessageAdapterBuilder WithConfiguration(KafkaQueueConfiguration config)
 {
     _configuration = config;
     return(this);
 }
Пример #3
0
 public IProducer <Null, byte[]> CreateProducer(KafkaQueueConfiguration config, Action <IProducer <Null, byte[]>, LogMessage> logHandler, Action <IProducer <Null, byte[]>, Error> errorHandler)
 {
     return(ProducerMock.Object);
 }
Пример #4
0
 public IConsumer <Ignore, byte[]> CreateConsumer(KafkaQueueConfiguration config, Action <IConsumer <Ignore, byte[]>, LogMessage> logHandler, Action <IConsumer <Ignore, byte[]>, Error> errorHandler)
 {
     return(ConsumerMock.Object);
 }