Exemplo n.º 1
0
        public async Task DoesNotSendToModule()
        {
            var connector          = GetConnector();
            var connectionRegistry = GetConnectionRegistry();
            var identity           = new ModuleIdentity("hub", "device_id", "module_id");
            var message            = new EdgeMessage
                                     .Builder(new byte[] { 0x01, 0x02, 0x03 })
                                     .Build();

            var sut = new Cloud2DeviceMessageHandler(connectionRegistry);

            sut.SetConnector(connector);

            await sut.SendC2DMessageAsync(message, identity);

            Mock.Get(connector)
            .Verify(c => c.SendAsync(It.IsAny <string>(), It.IsAny <byte[]>()), Times.Never());
        }
Exemplo n.º 2
0
        public async Task EncodesDeviceNameInTopic()
        {
            var capture            = new SendCapture();
            var connector          = GetConnector(capture);
            var connectionRegistry = GetConnectionRegistry();
            var identity           = new DeviceIdentity("hub", "device_id");
            var message            = new EdgeMessage
                                     .Builder(new byte[] { 0x01, 0x02, 0x03 })
                                     .Build();

            var sut = new Cloud2DeviceMessageHandler(connectionRegistry);

            sut.SetConnector(connector);

            await sut.SendC2DMessageAsync(message, identity);

            Assert.Equal("$edgehub/device_id/messages/c2d/post/", capture.Topic);
        }
        public async Task SendsMessageDataAsPayload()
        {
            var capture            = new SendCapture();
            var connector          = GetConnector(capture);
            var connectionRegistry = GetConnectionRegistry();
            var identity           = new DeviceIdentity("hub", "device_id");
            var message            = new EdgeMessage
                                     .Builder(new byte[] { 0x01, 0x02, 0x03 })
                                     .SetSystemProperties(new Dictionary <string, string>()
            {
                [SystemProperties.LockToken] = "12345"
            })
                                     .Build();

            var sut = new Cloud2DeviceMessageHandler(connectionRegistry);

            sut.SetConnector(connector);

            await sut.SendC2DMessageAsync(message, identity, true);

            Assert.Equal(new byte[] { 0x01, 0x02, 0x03 }, capture.Content);
        }