void VerifyResult(CreateOrUpdateCommandTestData testData, CreateOrUpdateCommand command) { Assert.Equal(testData.ModuleName, command.ModuleSpec.Name); Assert.Equal(testData.ModuleType, command.ModuleSpec.Type); Assert.Equal(testData.ImagePullPolicy, command.ModuleSpec.ImagePullPolicy); Assert.Equal(testData.Settings, command.ModuleSpec.Settings); List <Models.EnvVar> environmentVariables = command.ModuleSpec.EnvironmentVariables.ToList(); foreach (string key in testData.EnvironmentVariables.Keys) { Assert.Equal(testData.EnvironmentVariables[key].Value, environmentVariables.First(v => v.Key.Equals(key)).Value); } Assert.Equal(testData.EdgeletWorkloadUri, environmentVariables.First(v => v.Key.Equals(Constants.EdgeletWorkloadUriVariableName)).Value); Assert.Equal(testData.EdgeletAuthScheme, environmentVariables.First(v => v.Key.Equals(Constants.EdgeletAuthSchemeVariableName)).Value); Assert.Equal(testData.ModuleGenerationId, environmentVariables.First(v => v.Key.Equals(Constants.EdgeletModuleGenerationIdVariableName)).Value); Assert.Equal(testData.IoTHubHostname, environmentVariables.First(v => v.Key.Equals(Constants.IotHubHostnameVariableName)).Value); Assert.Equal(testData.DeviceId, environmentVariables.First(v => v.Key.Equals(Constants.DeviceIdVariableName)).Value); Assert.Equal(testData.ModuleId, environmentVariables.First(v => v.Key.Equals(Constants.ModuleIdVariableName)).Value); Assert.Equal(LogEventLevel.Information.ToString(), environmentVariables.First(v => v.Key.Equals(Logger.RuntimeLogLevelEnvKey)).Value); Assert.Equal(testData.UpstreamProtocol, environmentVariables.First(v => v.Key.Equals(Constants.UpstreamProtocolKey)).Value); Assert.Equal(testData.EdgeletApiVersion, environmentVariables.First(v => v.Key.Equals(Constants.EdgeletApiVersionVariableName)).Value); if (testData.ModuleId.Equals(Constants.EdgeAgentModuleIdentityName)) { Assert.Equal("iotedged", environmentVariables.First(v => v.Key.Equals(Constants.ModeKey)).Value); Assert.Equal(testData.EdgeletManagementUri, environmentVariables.First(v => v.Key.Equals(Constants.EdgeletManagementUriVariableName)).Value); Assert.Equal(testData.NetworkId, environmentVariables.First(v => v.Key.Equals(Constants.NetworkIdKey)).Value); Assert.Equal(testData.EdgeDeviceHostname, environmentVariables.First(v => v.Key.Equals(Constants.EdgeDeviceHostNameKey)).Value); testData.ParentEdgeHostname.ForEach(value => Assert.Equal(value, environmentVariables.First(v => v.Key.Equals(Constants.GatewayHostnameVariableName)).Value)); Assert.Null(environmentVariables.FirstOrDefault(v => v.Key.Equals(Constants.ParentEdgeHostnameVariableName))); } else if (testData.ModuleId.Equals(Constants.EdgeHubModuleIdentityName)) { Assert.Null(environmentVariables.FirstOrDefault(v => v.Key.Equals(Constants.ModeKey))); Assert.Null(environmentVariables.FirstOrDefault(v => v.Key.Equals(Constants.EdgeletManagementUriVariableName))); Assert.Null(environmentVariables.FirstOrDefault(v => v.Key.Equals(Constants.NetworkIdKey))); Assert.Equal(testData.EdgeDeviceHostname, environmentVariables.First(v => v.Key.Equals(Constants.EdgeDeviceHostNameKey)).Value); testData.ParentEdgeHostname.ForEach(value => Assert.Equal(value, environmentVariables.First(v => v.Key.Equals(Constants.GatewayHostnameVariableName)).Value)); Assert.Null(environmentVariables.FirstOrDefault(v => v.Key.Equals(Constants.ParentEdgeHostnameVariableName))); } else { Assert.Null(environmentVariables.FirstOrDefault(v => v.Key.Equals(Constants.ModeKey))); Assert.Null(environmentVariables.FirstOrDefault(v => v.Key.Equals(Constants.EdgeletManagementUriVariableName))); Assert.Null(environmentVariables.FirstOrDefault(v => v.Key.Equals(Constants.NetworkIdKey))); Assert.Equal(testData.EdgeDeviceHostname, environmentVariables.First(v => v.Key.Equals(Constants.GatewayHostnameVariableName)).Value); testData.ParentEdgeHostname.ForEach(value => Assert.Equal(value, environmentVariables.First(v => v.Key.Equals(Constants.ParentEdgeHostnameVariableName)).Value)); Assert.Null(environmentVariables.FirstOrDefault(v => v.Key.Equals(Constants.EdgeDeviceHostNameKey))); } }
public void VerfiyCreateOrUpdateCommand(CreateOrUpdateCommandTestData testData) { var mocks = new CreateOrUpdateCommandMocks(testData); CreateOrUpdateCommand command = CreateOrUpdateCommand.BuildCreate( mocks.ModuleManager.Object, mocks.EdgeAgentModule.Object, mocks.EdgeAgentModuleIdentity.Object, mocks.ConfigSource.Object, testData.Settings, testData.EdgeDeviceHostname, testData.ParentEdgeHostname); this.VerifyResult(testData, command); }
internal CreateOrUpdateCommandMocks(CreateOrUpdateCommandTestData testData) { this.ModuleManager = new Mock <IModuleManager>(); this.EdgeAgentModule = new Mock <IEdgeAgentModule>(); this.EdgeAgentModuleIdentity = new Mock <IModuleIdentity>(); this.ConfigSource = new Mock <IConfigSource>(); this.Configuration = new Mock <IConfiguration>(); this.EdgeAgentModule.Setup(m => m.Name).Returns(testData.ModuleName); this.EdgeAgentModule.Setup(m => m.Type).Returns(testData.ModuleType); this.EdgeAgentModule.Setup(m => m.ImagePullPolicy).Returns(testData.ImagePullPolicy); this.EdgeAgentModule.Setup(m => m.Env).Returns(testData.EnvironmentVariables); this.EdgeAgentModuleIdentity.Setup(id => id.DeviceId).Returns(testData.DeviceId); this.EdgeAgentModuleIdentity.Setup(id => id.ModuleId).Returns(testData.ModuleId); this.EdgeAgentModuleIdentity.Setup(id => id.Credentials).Returns(testData.ModuleCredentials); this.EdgeAgentModuleIdentity.Setup(id => id.IotHubHostname).Returns(testData.IoTHubHostname); this.ConfigSource.Setup(cs => cs.Configuration).Returns(this.Configuration.Object); var upstreamProtocolConfig = new Mock <IConfigurationSection>(); this.Configuration.Setup(c => c.GetSection(Constants.UpstreamProtocolKey)).Returns(upstreamProtocolConfig.Object); upstreamProtocolConfig.Setup(c => c.Value).Returns(testData.UpstreamProtocol); var edgeletManagementUriConfig = new Mock <IConfigurationSection>(); this.Configuration.Setup(c => c.GetSection(Constants.EdgeletManagementUriVariableName)).Returns(edgeletManagementUriConfig.Object); edgeletManagementUriConfig.Setup(c => c.Value).Returns(testData.EdgeletManagementUri); var edgeletWorkloadListenUriMntConfig = new Mock <IConfigurationSection>(); this.Configuration.Setup(c => c.GetSection(Constants.EdgeletWorkloadListenMntUriVariableName)).Returns(edgeletWorkloadListenUriMntConfig.Object); edgeletWorkloadListenUriMntConfig.Setup(c => c.Value).Returns(testData.EdgeletWorkloadListenUriMnt); var networkIdConfig = new Mock <IConfigurationSection>(); this.Configuration.Setup(c => c.GetSection(Constants.NetworkIdKey)).Returns(networkIdConfig.Object); networkIdConfig.Setup(c => c.Value).Returns(testData.NetworkId); var edgeletApiVersionConfig = new Mock <IConfigurationSection>(); this.Configuration.Setup(c => c.GetSection(Constants.EdgeletApiVersionVariableName)).Returns(edgeletApiVersionConfig.Object); edgeletApiVersionConfig.Setup(c => c.Value).Returns(testData.EdgeletApiVersion); }