Skip to content

Commit 133f8fe

Browse files
colm-quinnGustavo Bazan
andauthored
CLOUDP-166012: Adding e2e test for cluster update (#1757)
Co-authored-by: Gustavo Bazan <[email protected]>
1 parent 28071b8 commit 133f8fe

File tree

3 files changed

+61
-1
lines changed

3 files changed

+61
-1
lines changed

test/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
| `cluster list` | Y | | | Y | | |
5858
| `cluster start` | N | | | Y | | |
5959
| `cluster pause` | N | | | Y | | |
60-
| `cluster update` | Y | | | Y | | |
60+
| `cluster update` | Y | Y | Y | Y | Y | Y |
6161
| `cluster watch` | Y | | | Y | | |
6262
| `cluster onlineArchive create` | Y | | | Y | N | N |
6363
| `cluster onlineArchive delete` | Y | | | Y | N | N |

test/e2e/cloud_manager/deploy_replica_set_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,30 @@ func TestDeployReplicaSet(t *testing.T) {
115115
}
116116
})
117117

118+
t.Run("Update", func(t *testing.T) {
119+
if err := generateRSConfigUpdate(testFile); err != nil {
120+
t.Fatalf("unexpected error: %v", err)
121+
}
122+
123+
cmd := exec.Command(cliPath,
124+
entity,
125+
clustersEntity,
126+
"update",
127+
clusterName,
128+
"-f",
129+
testFile,
130+
)
131+
132+
cmd.Env = os.Environ()
133+
resp, err := cmd.CombinedOutput()
134+
135+
if err != nil {
136+
t.Fatalf("unexpected error: %v, resp: %v\n", err, string(resp))
137+
}
138+
})
139+
140+
t.Run("Watch", watchAutomation(cliPath))
141+
118142
t.Run("Reclaim free space", func(t *testing.T) {
119143
cmd := exec.Command(cliPath,
120144
entity,

test/e2e/cloud_manager/helper_test.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,42 @@ func generateRSConfig(filename, hostname, clusterName, version, fcVersion string
176176
return jsonEncoder.Encode(cluster)
177177
}
178178

179+
func generateRSConfigUpdate(filename string) error {
180+
defaultWriteConcernJ := true
181+
jsonData, err := os.ReadFile(filename)
182+
if err != nil {
183+
return err
184+
}
185+
186+
var cluster convert.ClusterConfig
187+
err = json.Unmarshal(jsonData, &cluster)
188+
if err != nil {
189+
return err
190+
}
191+
192+
for i := 0; i < len(cluster.Processes); i++ {
193+
cluster.Processes[i].DefaultRWConcern = &convert.DefaultRWConcern{
194+
DefaultReadConcern: &convert.DefaultReadConcern{
195+
Level: "majority",
196+
},
197+
DefaultWriteConcern: &convert.DefaultWriteConcern{
198+
W: 1,
199+
J: &defaultWriteConcernJ,
200+
Wtimeout: 0,
201+
},
202+
}
203+
}
204+
205+
out, err := os.Create(filename)
206+
if err != nil {
207+
return err
208+
}
209+
defer out.Close()
210+
jsonEncoder := json.NewEncoder(out)
211+
jsonEncoder.SetIndent("", " ")
212+
return jsonEncoder.Encode(cluster)
213+
}
214+
179215
func generateShardedConfig(filename, hostname, clusterName, version, fcVersion string) error {
180216
configFile, err := os.Create(filename)
181217
if err != nil {

0 commit comments

Comments
 (0)