Skip to content

Commit 1d6150a

Browse files
authored
CLOUDP-265086: Add PAK deletion to cleanup (#3211)
1 parent a911d78 commit 1d6150a

File tree

3 files changed

+55
-31
lines changed

3 files changed

+55
-31
lines changed

test/e2e/atlas/atlas_e2e_test_generator_test.go

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,56 @@ func deleteProjectWithRetry(t *testing.T, projectID string) {
253253
}
254254
}
255255

256+
// list of keys to delete as clean up.
257+
func getKeysToDelete() map[string]struct{} {
258+
return map[string]struct{}{
259+
"mongodb-atlas-operator-api-key": {},
260+
"e2e-test-helper": {},
261+
"e2e-test-atlas-org": {},
262+
}
263+
}
264+
265+
func deleteKeys(t *testing.T, cliPath string, toDelete map[string]struct{}) {
266+
t.Helper()
267+
268+
cmd := exec.Command(cliPath,
269+
orgEntity,
270+
"apiKeys",
271+
"ls",
272+
"-o=json")
273+
274+
cmd.Env = os.Environ()
275+
resp, err := e2e.RunAndGetStdOut(cmd)
276+
require.NoError(t, err, string(resp))
277+
278+
var keys atlasv2.PaginatedApiApiUser
279+
err = json.Unmarshal(resp, &keys)
280+
require.NoError(t, err)
281+
for _, key := range keys.GetResults() {
282+
keyID := key.GetId()
283+
desc := key.GetDesc()
284+
285+
errors := []error{}
286+
if _, ok := toDelete[desc]; ok {
287+
t.Logf("Deleting key with ID: %s", keyID)
288+
cmd = exec.Command(cliPath,
289+
orgEntity,
290+
"apiKeys",
291+
"rm",
292+
keyID,
293+
"--force")
294+
cmd.Env = os.Environ()
295+
_, err = e2e.RunAndGetStdOut(cmd)
296+
if err != nil {
297+
errors = append(errors, err)
298+
}
299+
}
300+
if len(errors) > 0 {
301+
t.Errorf("unexpected errors while deleting keys: %v", errors)
302+
}
303+
}
304+
}
305+
256306
func deleteOrgInvitations(t *testing.T, cliPath string) {
257307
t.Helper()
258308
cmd := exec.Command(cliPath,

test/e2e/atlas/cleanup_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ func TestCleanup(t *testing.T) {
6565
t.Parallel()
6666
deleteAllDataFederations(t, cliPath, projectID)
6767
})
68+
t.Cleanup(func() {
69+
deleteKeys(t, cliPath, getKeysToDelete())
70+
})
6871

6972
t.Log("skip deleting default project", projectID)
7073
continue
@@ -74,6 +77,7 @@ func TestCleanup(t *testing.T) {
7477
t.Parallel()
7578
t.Cleanup(func() {
7679
deleteProjectWithRetry(t, projectID)
80+
deleteKeys(t, cliPath, getKeysToDelete())
7781
})
7882
for _, provider := range []string{"aws", "gcp", "azure"} {
7983
p := provider

test/e2e/atlas/kubernetes_operator_install_test.go

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package atlas_test
1818

1919
import (
20-
"encoding/json"
2120
"fmt"
2221
"os"
2322
"os/exec"
@@ -29,7 +28,6 @@ import (
2928
akov2 "github.com/mongodb/mongodb-atlas-kubernetes/v2/pkg/api/v1"
3029
"github.com/stretchr/testify/assert"
3130
"github.com/stretchr/testify/require"
32-
atlasv2 "go.mongodb.org/atlas-sdk/v20240530005/admin"
3331
appsv1 "k8s.io/api/apps/v1"
3432
corev1 "k8s.io/api/core/v1"
3533
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -444,33 +442,5 @@ func cleanUpKeys(t *testing.T, operator *operatorHelper, namespace string, cliPa
444442
toDelete[secret.Name] = struct{}{}
445443
}
446444

447-
cmd := exec.Command(cliPath,
448-
orgEntity,
449-
"apiKeys",
450-
"ls",
451-
"-o=json")
452-
cmd.Env = os.Environ()
453-
resp, err := e2e.RunAndGetStdOut(cmd)
454-
require.NoError(t, err, string(resp))
455-
456-
var keys atlasv2.PaginatedApiApiUser
457-
err = json.Unmarshal(resp, &keys)
458-
require.NoError(t, err)
459-
460-
for _, key := range keys.GetResults() {
461-
keyID := *key.Id
462-
desc := *key.Desc
463-
464-
if _, ok := toDelete[desc]; ok {
465-
cmd = exec.Command(cliPath,
466-
orgEntity,
467-
"apiKeys",
468-
"rm",
469-
keyID,
470-
"--force")
471-
cmd.Env = os.Environ()
472-
_, err = e2e.RunAndGetStdOut(cmd)
473-
require.NoError(t, err)
474-
}
475-
}
445+
deleteKeys(t, cliPath, toDelete)
476446
}

0 commit comments

Comments
 (0)