public static void UserKafkaConsummer(this ConsummerSettings settings, Action <KafkaSettings> settignsAction)
        {
            var settingsDict = new KafkaSettings();

            settignsAction(settingsDict);
            settings.Consumer = new KafkaConsumer(settingsDict.GetDictionaryConfig());
        }
Beispiel #2
0
        public async Task SubscribeHostedService_CallEvent()
        {
            var moqIConsumer         = A.Fake <IConsumer>();
            var moqConsummerSettings = new ConsummerSettings()
            {
                Consumer = moqIConsumer
            };
            var moqDeserializer = A.Fake <IDeserializer <string> >();

            A.CallTo(() => moqDeserializer.Deserialize(A <byte[]> ._))
            .Returns("test msg");
            var moqSubscribeSettings = new SubscribeSettings <string>()
            {
                Deserializer = moqDeserializer
            };
            bool isCallIncomeMessage = false;

            moqSubscribeSettings.IncomeMessage += (data) =>
            {
                isCallIncomeMessage = true;
                data.Should().BeEquivalentTo("test msg");
            };

            var optionsSnapshot = A.Fake <IOptionsSnapshot <SubscribeSettings <string> > >();

            A.CallTo(() => optionsSnapshot.Get(A <string> ._)).Returns(moqSubscribeSettings);

            var testClass = new SubscribeHostedService <string>(moqConsummerSettings, optionsSnapshot, "topicName");

            moqIConsumer.IncomeMessage += Raise.FreeForm.With(new byte[] { 0x0, 0x1, 0x2 });

            isCallIncomeMessage.Should().BeTrue();
        }
Beispiel #3
0
        public async Task SubscribeHostedService_CallSubscribeAsyncConsummer()
        {
            var moqIConsumer         = A.Fake <IConsumer>();
            var moqConsummerSettings = new ConsummerSettings()
            {
                Consumer = moqIConsumer
            };

            var optionsSnapshot = A.Fake <IOptionsSnapshot <SubscribeSettings <string> > >();

            var testClass = new SubscribeHostedService <string>(moqConsummerSettings, optionsSnapshot, "topicName");

            await testClass.StartAsync(CancellationToken.None);

            A.CallTo(() => moqIConsumer.SubscribeAsync("topicName", A <CancellationToken> ._))
            .MustHaveHappenedOnceExactly();
        }
Beispiel #4
0
        public async Task SubscribeHostedService_CallDeserializer()
        {
            var moqIConsumer         = A.Fake <IConsumer>();
            var moqConsummerSettings = new ConsummerSettings()
            {
                Consumer = moqIConsumer
            };
            var moqDeserializer      = A.Fake <IDeserializer <string> >();
            var moqSubscribeSettings = new SubscribeSettings <string>()
            {
                Deserializer = moqDeserializer
            };
            var optionsSnapshot = A.Fake <IOptionsSnapshot <SubscribeSettings <string> > >();

            A.CallTo(() => optionsSnapshot.Get(A <string> ._)).Returns(moqSubscribeSettings);

            var testClass = new SubscribeHostedService <string>(moqConsummerSettings, optionsSnapshot, "topicName");

            moqIConsumer.IncomeMessage += Raise.FreeForm.With(new byte[] { 0x0, 0x1, 0x2 });

            A.CallTo(() => moqDeserializer.Deserialize(A <byte[]> .That.IsSameSequenceAs(new byte[] { 0x0, 0x1, 0x2 })))
            .MustHaveHappenedOnceExactly();
        }