Exemplo n.º 1
0
        public async Task Consume_PublishIntoKafkaAndConsumeCreateCloudEvent_ConsumedEqualsPublished()
        {
            var          topic   = randomizerString.Generate();
            const string message = "testMessage";

            await PublishMessage(topic, "someKey", message);

            var consumer = GetConsumer <string>(topic);
            var rawConsumedKafkaMessage = (byte[])null;
            var taskCompletionSource    = new TaskCompletionSource();

            consumer.ConsumeCallbackAsync = async(dataEvent, _) =>
            {
                rawConsumedKafkaMessage = dataEvent.TypedData;
                taskCompletionSource.TrySetResult();
                return(await Task.FromResult(ProcessedMessageStatus.Success));
            };

            await consumer.StartAsync();

            var consumerStartTask = consumer.ExecuteAsync();

            await Task.WhenAny(consumerStartTask, taskCompletionSource.Task);

            Assert.Equal(message, Encoding.UTF8.GetString(rawConsumedKafkaMessage));
        }
Exemplo n.º 2
0
    public async Task Consume_RawPublishIntoSQSAndConsumeCreateCloudEvent_ConsumedEqualsPublished()
    {
        const string expectedMessage = "testMessage";
        var          queueName       = _randomizerString.Generate();
        var          clientOptions   = GetSqsClientOptions(queueName);

        var sqs = new SQSClientFactory().From(clientOptions);

        await sqs.CreateQueueAsync(queueName);

        await PublishMessage(sqs, queueName, expectedMessage);

        var consumer = GetConsumer <string>(Options.Create(clientOptions), $"{_baseSQSUrl}/queue/{queueName}");
        var rawConsumedSQSMessage = await RawConsumedSqsMessage(consumer);

        Assert.Equal(expectedMessage, Encoding.UTF8.GetString(rawConsumedSQSMessage));
    }
    public async void PublishMessageWithoutException()
    {
        const string expectedMessage = "testMessage";
        var topicName = _randomizerString.Generate();
        var queueName = _randomizerString.Generate();

        var publisherOptions = GetNATSBaseOptions(topicName);
        var publisher = GetPublisher(MSOptions.Create(publisherOptions));

        var consumerOptions = GetNATSConsumerOptions(topicName, queueName);

        var consumer = GetConsumer<string>(MSOptions.Create(consumerOptions));
        var rawConsumedNatsMessage =
            await RawConsumedNatsMessageWithNatsPublisherPublishedMessage(consumer, publisher, expectedMessage);

        Assert.NotNull(rawConsumedNatsMessage);
        Assert.Equal(expectedMessage, Encoding.UTF8.GetString(rawConsumedNatsMessage));
    }