public async Task CanFallbackToSecondaryDesiredFileConfigurationStore() { // Arrange var validConfigJson = JsonConvert.SerializeObject(this.validModuleConfig); var invalidConfigJson = JsonConvert.SerializeObject(this.invalidModuleConfig); var configJsonReader = new StringReader(validConfigJson); var twinProperties = new TwinProperties() { Desired = new TwinCollection(invalidConfigJson) }; var moduleClientMock = new Mock <IModuleClient>(); moduleClientMock.Setup(mc => mc.GetTwinAsync(new CancellationToken())).ReturnsAsync(new Twin(twinProperties)); // Act using (var fileConfig = new FileConfiguration <ModuleConfig>(this.log, configJsonReader)) { var deviceTwinConfig = new DeviceTwinConfiguration <ModuleConfig>(this.log, fileConfig, moduleClientMock.Object); var typedConfig = await deviceTwinConfig.GetDeviceConfigurationAsync(new CancellationToken()).ConfigureAwait(false); // Assert Assert.AreEqual <string>(validConfigJson, JsonConvert.SerializeObject(typedConfig)); } }
public async Task CanValidateDesiredConfigurationFromFile() { // Arrange var configJson = JsonConvert.SerializeObject(this.invalidModuleConfig); var twinProperties = new TwinProperties() { Desired = new TwinCollection(configJson) }; var moduleClientMock = new Mock <IModuleClient>(); moduleClientMock.Setup(mc => mc.GetTwinAsync(new CancellationToken())).ReturnsAsync(new Twin(twinProperties)); // Act var deviceTwinConfig = new DeviceTwinConfiguration <ModuleConfig>(this.log, null, moduleClientMock.Object); var typedConfig = await deviceTwinConfig.GetDeviceConfigurationAsync(new CancellationToken()).ConfigureAwait(false); }