Esempio n. 1
0
        public async Task TestPresetSettingIsReportedOnModuleStart()
        {
            var harness    = new ModuleHostHarness();
            var controller = new TestController1();
            await harness.RunTestAsync(controller.YieldReturn(),
                                       async (deviceId, moduleId, services) => {
                // Act
                var hub  = services.Resolve <IIoTHubTwinServices>();
                var twin = await hub.GetAsync(deviceId, moduleId);

                // Assert
                Assert.Equal("yearn", controller.TestSetting3);

                // TODO : Should report initial state of setting if not null
                // Assert.Equal("yearn", twin.Properties.Reported[nameof(TestController1.TestSetting3)]);
            });
        }
Esempio n. 2
0
        public async Task TestSettingDesiredPropertyAndCheckReported1()
        {
            var harness    = new ModuleHostHarness();
            var controller = new TestController1();
            await harness.RunTestAsync(controller.YieldReturn(),
                                       async (deviceId, moduleId, services) => {
                // Act
                var hub = services.Resolve <IIoTHubTwinServices>();
                await hub.UpdatePropertyAsync(deviceId, moduleId,
                                              nameof(TestController1.TestSetting1), "test");
                var twin = await hub.GetAsync(deviceId, moduleId);

                // Assert
                Assert.True(controller._applyCalled);
                Assert.Equal("test", controller.TestSetting1);
                Assert.Equal("test", twin.Properties.Reported[nameof(TestController1.TestSetting1)]);
                Assert.True((bool)twin.Properties.Reported[TwinProperty.kConnected]);
            });
        }
Esempio n. 3
0
        public async Task TestSetting2DesiredPropertyAndCheckReported1()
        {
            var harness    = new ModuleHostHarness();
            var controller = new TestController1();
            await harness.RunTestAsync(controller.YieldReturn(),
                                       async (deviceId, moduleId, services) => {
                var test  = _serializer.FromObject("test");
                var test2 = _serializer.FromObject("test2");
                // Act
                var hub = services.Resolve <IIoTHubTwinServices>();
                await hub.UpdatePropertyAsync(deviceId, moduleId,
                                              nameof(TestController1.TestSetting1), test);
                await hub.UpdatePropertyAsync(deviceId, moduleId,
                                              nameof(TestController1.TestSetting2), test2);
                var twin = await hub.GetAsync(deviceId, moduleId);

                // Assert
                Assert.True(controller._applyCalled);
                Assert.Equal("test", controller.TestSetting1);
                Assert.Equal("test2", controller.TestSetting2);
                Assert.Equal(test, twin.Properties.Reported[nameof(TestController1.TestSetting1)]);
                Assert.Equal(test2, twin.Properties.Reported[nameof(TestController1.TestSetting2)]);
            });
        }
Esempio n. 4
0
        public async Task TestSettingDesiredPropertyToNullAndCheckReported1()
        {
            var harness    = new ModuleHostHarness();
            var controller = new TestController1();
            await harness.RunTestAsync(controller.YieldReturn(),
                                       async (deviceId, moduleId, services) => {
                var hub  = services.Resolve <IIoTHubTwinServices>();
                var twin = await hub.GetAsync(deviceId, moduleId);

                // TODO : Assert precondition
                // Assert.True(twin.Properties.Reported.TryGetValue(nameof(TestController1.TestSetting3), out var pre));

                // Act
                await hub.UpdatePropertyAsync(deviceId, moduleId,
                                              nameof(TestController1.TestSetting3), null);
                twin = await hub.GetAsync(deviceId, moduleId);

                // Assert
                Assert.True(controller._applyCalled);
                Assert.Null(controller.TestSetting3);
                Assert.False(twin.Properties.Reported.TryGetValue(nameof(TestController1.TestSetting3), out var post));
                Assert.Null(post);
            });
        }