forked from LaconicNetwork/kompose
Fix container name (#1528)
* fix: update get container name function * test: add a test for the introduced fix
This commit is contained in:
@@ -890,9 +890,9 @@ func FormatContainerName(name string) string {
|
|||||||
func GetContainerName(service kobject.ServiceConfig) string {
|
func GetContainerName(service kobject.ServiceConfig) string {
|
||||||
name := service.Name
|
name := service.Name
|
||||||
if len(service.ContainerName) > 0 {
|
if len(service.ContainerName) > 0 {
|
||||||
name = FormatContainerName(service.ContainerName)
|
name = service.ContainerName
|
||||||
}
|
}
|
||||||
return name
|
return FormatContainerName(name)
|
||||||
}
|
}
|
||||||
|
|
||||||
// FormatResourceName generate a valid k8s resource name
|
// FormatResourceName generate a valid k8s resource name
|
||||||
|
|||||||
@@ -571,3 +571,29 @@ func TestServiceWithServiceAccount(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestCreateServiceWithSpecialName(t *testing.T) {
|
||||||
|
service := kobject.ServiceConfig{
|
||||||
|
ContainerName: "front_end",
|
||||||
|
Image: "nginx",
|
||||||
|
}
|
||||||
|
|
||||||
|
// An example object generated via k8s runtime.Objects()
|
||||||
|
komposeObject := kobject.KomposeObject{
|
||||||
|
ServiceConfigs: map[string]kobject.ServiceConfig{"app": service},
|
||||||
|
}
|
||||||
|
k := Kubernetes{}
|
||||||
|
objects, err := k.Transform(komposeObject, kobject.ConvertOptions{CreateD: true, Replicas: 3})
|
||||||
|
if err != nil {
|
||||||
|
t.Error(errors.Wrap(err, "k.Transform failed"))
|
||||||
|
}
|
||||||
|
expectedContainerName := "front-end"
|
||||||
|
for _, obj := range objects {
|
||||||
|
if deploy, ok := obj.(*appsv1.Deployment); ok {
|
||||||
|
containerName := deploy.Spec.Template.Spec.Containers[0].Name
|
||||||
|
if containerName != "front-end" {
|
||||||
|
t.Errorf("Error while transforming container name. Expected %s Got %s", expectedContainerName, containerName)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user