From 0021b14de81c8ec566309deb5641adc311fceb94 Mon Sep 17 00:00:00 2001 From: Ulysses Souza Date: Wed, 6 Jan 2021 19:54:46 -0300 Subject: [PATCH] Add unit tests to container_name Signed-off-by: Ulysses Souza --- local/compose/convergence_test.go | 55 +++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 local/compose/convergence_test.go diff --git a/local/compose/convergence_test.go b/local/compose/convergence_test.go new file mode 100644 index 000000000..3a5009a06 --- /dev/null +++ b/local/compose/convergence_test.go @@ -0,0 +1,55 @@ +/* + Copyright 2020 Docker Compose CLI authors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +package compose + +import ( + "fmt" + "testing" + + "github.com/compose-spec/compose-go/types" + "gotest.tools/assert" +) + +func TestContainerName(t *testing.T) { + var replicas uint64 = 1 + s := types.ServiceConfig{ + Name: "testservicename", + ContainerName: "testcontainername", + Scale: 1, + Deploy: &types.DeployConfig{}, + } + ret, err := getScale(s) + assert.NilError(t, err) + assert.Equal(t, ret, s.Scale) + + s.Scale = 0 + s.Deploy.Replicas = &replicas + ret, err = getScale(s) + assert.NilError(t, err) + assert.Equal(t, ret, int(*s.Deploy.Replicas)) + + s.Deploy.Replicas = nil + s.Scale = 2 + _, err = getScale(s) + assert.Error(t, err, fmt.Sprintf(doubledContainerNameWarning, s.Name, s.ContainerName)) + + replicas = 2 + s.Deploy.Replicas = &replicas + s.Scale = 0 + _, err = getScale(s) + assert.Error(t, err, fmt.Sprintf(doubledContainerNameWarning, s.Name, s.ContainerName)) +}