Skip to content

Commit 691e060

Browse files
committed
11
1 parent 522e963 commit 691e060

File tree

1 file changed

+35
-20
lines changed

1 file changed

+35
-20
lines changed

test/tests/components/ws-manager/maintenence_test.go

Lines changed: 35 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@ package wsmanager
77
import (
88
"context"
99
"encoding/json"
10+
"errors"
1011
"testing"
1112
"time"
1213

14+
"google.golang.org/grpc/codes"
15+
"google.golang.org/grpc/status"
1316
corev1 "k8s.io/api/core/v1"
1417
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1518
"sigs.k8s.io/e2e-framework/pkg/envconf"
@@ -34,33 +37,25 @@ func TestMaintenance(t *testing.T) {
3437
t.Fatal(err)
3538
}
3639

37-
futureTime := time.Now().Add(1 * time.Hour)
38-
mcfg := config.MaintenanceConfig{
39-
EnabledUntil: &futureTime,
40-
}
41-
42-
data, err := json.Marshal(mcfg)
40+
untilTime := time.Now().Add(1 * time.Hour)
41+
cmap, err := maintenanceConfigmap(&untilTime)
4342
if err != nil {
4443
t.Fatal(err)
4544
}
4645

47-
configMap := &corev1.ConfigMap{
48-
ObjectMeta: metav1.ObjectMeta{
49-
Name: "ws-manager-mk2-maintenance-mode",
50-
Namespace: "default",
51-
},
52-
Data: map[string]string{
53-
"config.json": string(data),
54-
},
55-
}
56-
57-
err = kubeClient.Resources().Update(testCtx, configMap)
46+
err = kubeClient.Resources().Update(testCtx, cmap)
5847
if err != nil {
5948
t.Fatal(err)
6049
}
6150

6251
t.Cleanup(func() {
63-
err := kubeClient.Resources().Delete(testCtx, configMap)
52+
cmap, err := maintenanceConfigmap(nil)
53+
if err != nil {
54+
t.Error(err)
55+
return
56+
}
57+
58+
err = kubeClient.Resources().Update(testCtx, cmap)
6459
if err != nil {
6560
t.Error(err)
6661
}
@@ -89,7 +84,7 @@ func TestMaintenance(t *testing.T) {
8984
}
9085

9186
nfo, stopWs, err := integration.LaunchWorkspaceDirectly(t, ctx, api, integration.WithRequestModifier(addInitTask))
92-
if err != nil {
87+
if err != nil && !errors.Is(err, status.Error(codes.FailedPrecondition, "under maintenance")) {
9388
t.Fatal(err)
9489
}
9590

@@ -114,4 +109,24 @@ func TestMaintenance(t *testing.T) {
114109
testEnv.Test(t, f)
115110
}
116111

117-
//
112+
func maintenanceConfigmap(untilTime *time.Time) (*corev1.ConfigMap, error) {
113+
mcfg := config.MaintenanceConfig{}
114+
if untilTime != nil {
115+
mcfg.EnabledUntil = untilTime
116+
}
117+
118+
data, err := json.Marshal(mcfg)
119+
if err != nil {
120+
return nil, err
121+
}
122+
123+
return &corev1.ConfigMap{
124+
ObjectMeta: metav1.ObjectMeta{
125+
Name: "ws-manager-mk2-maintenance-mode",
126+
Namespace: "default",
127+
},
128+
Data: map[string]string{
129+
"config.json": string(data),
130+
},
131+
}, nil
132+
}

0 commit comments

Comments
 (0)