You've already forked dcmerge
fix(dockerCompose): add ServiceDeployResourcesLimits.MergeFirstWin()
This commit is contained in:
@ -1603,6 +1603,99 @@ func TestServiceDeployResourcesLimits_Equal(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestServiceDeployResourcesLimits_MergeFirstWin(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
testCases := []struct {
|
||||
serviceDeploymentResourcesLimitsA *dockerCompose.ServiceDeployResourcesLimits
|
||||
serviceDeploymentResourcesLimitsB *dockerCompose.ServiceDeployResourcesLimits
|
||||
expectedServiceDeploymentResourcesLimits *dockerCompose.ServiceDeployResourcesLimits
|
||||
}{
|
||||
{
|
||||
serviceDeploymentResourcesLimitsA: nil,
|
||||
serviceDeploymentResourcesLimitsB: nil,
|
||||
expectedServiceDeploymentResourcesLimits: nil,
|
||||
},
|
||||
{
|
||||
serviceDeploymentResourcesLimitsA: &dockerCompose.ServiceDeployResourcesLimits{
|
||||
CPUs: "1",
|
||||
Memory: "500",
|
||||
},
|
||||
serviceDeploymentResourcesLimitsB: nil,
|
||||
expectedServiceDeploymentResourcesLimits: &dockerCompose.ServiceDeployResourcesLimits{
|
||||
CPUs: "1",
|
||||
Memory: "500",
|
||||
},
|
||||
},
|
||||
{
|
||||
serviceDeploymentResourcesLimitsA: &dockerCompose.ServiceDeployResourcesLimits{},
|
||||
serviceDeploymentResourcesLimitsB: &dockerCompose.ServiceDeployResourcesLimits{
|
||||
CPUs: "1",
|
||||
Memory: "500",
|
||||
},
|
||||
expectedServiceDeploymentResourcesLimits: &dockerCompose.ServiceDeployResourcesLimits{
|
||||
CPUs: "1",
|
||||
Memory: "500",
|
||||
},
|
||||
},
|
||||
{
|
||||
serviceDeploymentResourcesLimitsA: &dockerCompose.ServiceDeployResourcesLimits{
|
||||
CPUs: "",
|
||||
Memory: "",
|
||||
},
|
||||
serviceDeploymentResourcesLimitsB: &dockerCompose.ServiceDeployResourcesLimits{
|
||||
CPUs: "1",
|
||||
Memory: "500",
|
||||
},
|
||||
expectedServiceDeploymentResourcesLimits: &dockerCompose.ServiceDeployResourcesLimits{
|
||||
CPUs: "1",
|
||||
Memory: "500",
|
||||
},
|
||||
},
|
||||
{
|
||||
serviceDeploymentResourcesLimitsA: &dockerCompose.ServiceDeployResourcesLimits{
|
||||
CPUs: "1",
|
||||
Memory: "500",
|
||||
},
|
||||
serviceDeploymentResourcesLimitsB: &dockerCompose.ServiceDeployResourcesLimits{
|
||||
CPUs: "1",
|
||||
Memory: "500",
|
||||
},
|
||||
expectedServiceDeploymentResourcesLimits: &dockerCompose.ServiceDeployResourcesLimits{
|
||||
CPUs: "1",
|
||||
Memory: "500",
|
||||
},
|
||||
},
|
||||
{
|
||||
serviceDeploymentResourcesLimitsA: &dockerCompose.ServiceDeployResourcesLimits{
|
||||
CPUs: "1",
|
||||
},
|
||||
serviceDeploymentResourcesLimitsB: &dockerCompose.ServiceDeployResourcesLimits{
|
||||
CPUs: "2",
|
||||
},
|
||||
expectedServiceDeploymentResourcesLimits: &dockerCompose.ServiceDeployResourcesLimits{
|
||||
CPUs: "1",
|
||||
},
|
||||
},
|
||||
{
|
||||
serviceDeploymentResourcesLimitsA: &dockerCompose.ServiceDeployResourcesLimits{
|
||||
Memory: "500",
|
||||
},
|
||||
serviceDeploymentResourcesLimitsB: &dockerCompose.ServiceDeployResourcesLimits{
|
||||
Memory: "1000",
|
||||
},
|
||||
expectedServiceDeploymentResourcesLimits: &dockerCompose.ServiceDeployResourcesLimits{
|
||||
Memory: "500",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for i, testCase := range testCases {
|
||||
testCase.serviceDeploymentResourcesLimitsA.MergeFirstWin(testCase.serviceDeploymentResourcesLimitsB)
|
||||
require.True(testCase.expectedServiceDeploymentResourcesLimits.Equal(testCase.serviceDeploymentResourcesLimitsA), "Failed test case %v", i)
|
||||
}
|
||||
}
|
||||
|
||||
func TestServiceDeployResourcesLimits_MergeLastWin(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
|
Reference in New Issue
Block a user