public void ConsumeTest()
        {
            KafkaConnection kConnection = new KafkaConnection
            {
                Url   = "localhost",
                Port  = 9092,
                Topic = "witsmlCreateEvent"
            };
            Action <string>  onMessageConsumed = ConsumeMessage;
            KafkaTaskManager taskManager       = new KafkaTaskManager();
            string           group             = $"test_{new Random().Next()}";
            string           autoOffsetReset   = "earliest";
            int timeOut = 10 * 1000;

            // Create the token source for cancelation purpose
            CancellationTokenSource cts = new CancellationTokenSource();
            CancellationToken       ct  = cts.Token;

            Assert.Throws <OperationCanceledException>(() =>
            {
                cts.CancelAfter(timeOut);
                KafkaTaskManager.Consume(kConnection, group, autoOffsetReset, ct, onMessageConsumed);
            });

            cts.Dispose();

            Assert.IsTrue(isMessageConsumed, "Message should be received from kafka");
        }
Exemplo n.º 2
0
        public async Task ProduceTest()
        {
            KafkaTaskManager taskManager = new KafkaTaskManager();
            KafkaConnection  kConnection = new KafkaConnection
            {
                Url   = "localhost",
                Port  = 9092,
                Topic = "witsmlCreateEvent"
            };

            int    timeout = 2000;
            string message = $"message {new Random().Next()}";

            var success = await KafkaTaskManager.Produce(kConnection, timeout, message);

            Assert.IsTrue(success, "Should be able to produce on a kafka cluster");
        }