public void PortBindingsCreatesAServiceWithPorts() { var createOptions = new Docker.Models.CreateContainerParameters { // Add a port binding to host HostConfig = new DockerModels.HostConfig { PortBindings = new Dictionary <string, IList <DockerModels.PortBinding> > { ["10/TCP"] = new List <DockerModels.PortBinding> { new DockerModels.PortBinding { HostPort = "10" } } } } }; var config = new CombinedDockerConfig("image", createOptions, Option.None <AuthConfig>()); var docker = new DockerModule("module1", "v1", ModuleStatus.Running, Core.RestartPolicy.Always, Config1, ImagePullPolicy.OnCreate, DefaultConfigurationInfo, EnvVars); var module = new KubernetesModule(docker, config); var moduleLabels = new Dictionary <string, string>(); var mapper = new KubernetesServiceMapper(PortMapServiceType.ClusterIP); var moduleId = new ModuleIdentity("hostname", "gatewayhost", "deviceid", "moduleid", Mock.Of <ICredentials>()); var service = mapper.CreateService(moduleId, module, moduleLabels).OrDefault(); Assert.Equal(1, service.Spec.Ports.Count); AssertPort(new V1ServicePort(10, "hostport-10-tcp", null, "TCP", 10), service.Spec.Ports.First()); Assert.Equal("ClusterIP", service.Spec.Type); }
public void LabelsConvertedAsLabelsAndSelectors() { var createOptions = new Docker.Models.CreateContainerParameters { // Add a port to be exposed ExposedPorts = new Dictionary <string, EmptyStruct> { ["10/TCP"] = default(EmptyStruct) } }; var config = new CombinedDockerConfig("image", createOptions, Option.None <AuthConfig>()); var docker = new DockerModule("module1", "v1", ModuleStatus.Running, Core.RestartPolicy.Always, Config1, ImagePullPolicy.OnCreate, DefaultConfigurationInfo, EnvVars); var module = new KubernetesModule(docker, config); var moduleLabels = new Dictionary <string, string> { { "Label1", "VaLue1" } }; var mapper = new KubernetesServiceMapper(PortMapServiceType.ClusterIP); var moduleId = new ModuleIdentity("hostname", "gatewayhost", "deviceid", "moduleid", Mock.Of <ICredentials>()); var service = mapper.CreateService(moduleId, module, moduleLabels).OrDefault(); Assert.Equal(1, service.Spec.Ports.Count); Assert.Equal(1, service.Metadata.Annotations.Count); Assert.NotNull(service.Metadata.Annotations[KubernetesConstants.CreationString]); Assert.Equal(1, service.Metadata.Labels.Count); Assert.Equal("VaLue1", service.Metadata.Labels["Label1"]); Assert.Equal("ClusterIP", service.Spec.Type); Assert.Equal(1, service.Spec.Selector.Count); Assert.Equal("VaLue1", service.Spec.Selector["Label1"]); }