Skip to content

Commit 634d034

Browse files
author
lamai93
committed
Added more test cases.
1 parent 33bacfd commit 634d034

File tree

1 file changed

+48
-24
lines changed

1 file changed

+48
-24
lines changed

tests/resources_test.go

Lines changed: 48 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,11 @@ func TestResourcesChangeLimitsCluster(t *testing.T) {
4343
deploymentClient := kubeArangoClient.MustNewInCluster()
4444
ns := getNamespace(t)
4545

46-
size500mCPU, _ := resource.ParseQuantity("50m")
47-
size1CPU, _ := resource.ParseQuantity("1")
46+
size500m, _ := resource.ParseQuantity("50m")
47+
size1, _ := resource.ParseQuantity("1")
48+
size100Gi, _ := resource.ParseQuantity("100Gi")
49+
size1Gi, _ := resource.ParseQuantity("1Gi")
50+
size2Gi, _ := resource.ParseQuantity("2Gi")
4851

4952
// Prepare deployment config
5053
depl := newDeployment("test-chng-limits-" + uniuri.NewLen(4))
@@ -61,35 +64,56 @@ func TestResourcesChangeLimitsCluster(t *testing.T) {
6164

6265
testGroups := []api.ServerGroup{api.ServerGroupCoordinators, api.ServerGroupAgents, api.ServerGroupDBServers}
6366

67+
testCases := []v1.ResourceRequirements{
68+
{
69+
Limits: v1.ResourceList{
70+
v1.ResourceCPU: size1,
71+
},
72+
},
73+
{
74+
Requests: v1.ResourceList{
75+
v1.ResourceCPU: size500m,
76+
},
77+
},
78+
{
79+
Requests: v1.ResourceList{
80+
v1.ResourceCPU: size500m,
81+
v1.ResourceMemory: size1Gi,
82+
},
83+
},
84+
{
85+
Requests: v1.ResourceList{
86+
v1.ResourceCPU: size500m,
87+
v1.ResourceMemory: size2Gi,
88+
},
89+
},
90+
{
91+
Limits: v1.ResourceList{
92+
v1.ResourceCPU: size1,
93+
v1.ResourceMemory: size100Gi,
94+
},
95+
},
96+
}
97+
6498
for _, testgroup := range testGroups {
6599
t.Run(testgroup.AsRole(), func(t *testing.T) {
66100

67101
_, err = waitUntilDeployment(deploymentClient, depl.GetName(), ns, deploymentIsReady())
68102
assert.NoError(t, err, fmt.Sprintf("Deployment not running in time: %s", err))
69103

70-
depl, err = updateDeployment(c, depl.GetName(), ns, func(spec *api.DeploymentSpec) {
71-
gspec := spec.GetServerGroupSpec(testgroup)
72-
gspec.Resources.Limits = v1.ResourceList{
73-
v1.ResourceCPU: size1CPU,
74-
}
75-
spec.UpdateServerGroupSpec(testgroup, gspec)
76-
})
77-
assert.NoError(t, err, fmt.Sprintf("Failed to update deployment: %s", err))
78-
79-
_, err = waitUntilDeployment(deploymentClient, depl.GetName(), ns, resourcesAsRequested(kubecli, ns))
80-
assert.NoError(t, err, fmt.Sprintf("Deployment not rotated in time: %s", err))
81-
82-
depl, err = updateDeployment(c, depl.GetName(), ns, func(spec *api.DeploymentSpec) {
83-
gspec := spec.GetServerGroupSpec(testgroup)
84-
gspec.Resources.Requests = v1.ResourceList{
85-
v1.ResourceCPU: size500mCPU,
86-
}
87-
spec.UpdateServerGroupSpec(testgroup, gspec)
88-
})
89-
assert.NoError(t, err, fmt.Sprintf("Failed to update deployment: %s", err))
104+
for i, testCase := range testCases {
105+
t.Run(fmt.Sprintf("case-%d", i+1), func(t *testing.T) {
106+
depl, err = updateDeployment(c, depl.GetName(), ns, func(spec *api.DeploymentSpec) {
107+
gspec := spec.GetServerGroupSpec(testgroup)
108+
gspec.Resources = testCase
109+
spec.UpdateServerGroupSpec(testgroup, gspec)
110+
})
111+
assert.NoError(t, err, fmt.Sprintf("Failed to update deployment: %s", err))
90112

91-
_, err = waitUntilDeployment(deploymentClient, depl.GetName(), ns, resourcesAsRequested(kubecli, ns))
92-
assert.NoError(t, err, fmt.Sprintf("Deployment not rotated in time: %s", err))
113+
_, err = waitUntilDeployment(deploymentClient, depl.GetName(), ns, resourcesAsRequested(kubecli, ns))
114+
assert.NoError(t, err, fmt.Sprintf("Deployment not rotated in time: %s", err))
115+
})
116+
}
93117
})
94118
}
95119

0 commit comments

Comments
 (0)