Пример #1
0
        public void Should_initialize_MQTTClient()
        {
            var args = new List <IManagedMqttClientOptions>();

            MqttClientMock.Setup(m => m.StartAsync(Capture.In(args)));

            var subject       = new MqttSink(Options, MqttClientMock.Object);
            var actualOptions = args.First();
            MqttClientTcpOptions actualChannelOptions = actualOptions.ClientOptions.ChannelOptions as MqttClientTcpOptions;

            MqttClientMock.Verify(it => it.StartAsync(It.IsAny <IManagedMqttClientOptions>()));

            Assert.AreEqual(actualOptions.ClientOptions.Credentials.Username, MqttClientOptions.ClientOptions.Credentials.Username);
            Assert.AreEqual(actualOptions.ClientOptions.Credentials.Password, MqttClientOptions.ClientOptions.Credentials.Password);
            Assert.AreEqual(actualChannelOptions.Server, MqttClientTcpOptions.Server);
            Assert.AreEqual(actualChannelOptions.Port, MqttClientTcpOptions.Port);
        }
Пример #2
0
        public void Should_publish_value_to_all_configured_topics()
        {
            var args = new List <ManagedMqttApplicationMessage>();

            MqttClientMock.Setup(it => it.PublishAsync(Capture.In(args)));

            var subject = new MqttSink(Options, MqttClientMock.Object);


            var value = "Batman";

            subject.Consume(value);

            Assert.AreEqual(2, args.Count());

            var first  = args[0];
            var second = args[1];

            Assert.AreEqual(Topics[0], first.ApplicationMessage.Topic);
            Assert.AreEqual(value, first.ApplicationMessage.Payload);
            Assert.AreEqual(Topics[1], second.ApplicationMessage.Topic);
            Assert.AreEqual(value, second.ApplicationMessage.Payload);
        }