Skip to content

Commit 4ed2242

Browse files
committed
test: add e2e test for connection string secret annotations
1 parent 0a97573 commit 4ed2242

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

test/e2e/mongodbtests/mongodbtests.go

+13
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@ func ConnectionStringSecretsAreConfigured(ctx context.Context, mdb *mdbv1.MongoD
205205

206206
assert.NoError(t, err)
207207
assertEqualOwnerReference(t, "Secret", secretNamespacedName, secret.GetOwnerReferences(), expectedOwnerReference)
208+
containsMetadata(t, secret.ObjectMeta, map[string]string{}, user.ConnectionStringSecretAnnotations, "secret "+secretNamespacedName.Name)
208209
}
209210
}
210211
}
@@ -684,6 +685,18 @@ func AddConnectionStringOptionToUser(ctx context.Context, mdb *mdbv1.MongoDBComm
684685
}
685686
}
686687

688+
func AddConnectionStringAnnotationsToUser(ctx context.Context, mdb *mdbv1.MongoDBCommunity, annotations map[string]string) func(t *testing.T) {
689+
return func(t *testing.T) {
690+
t.Logf("Adding %v to connection string annotations", annotations)
691+
err := e2eutil.UpdateMongoDBResource(ctx, mdb, func(db *mdbv1.MongoDBCommunity) {
692+
db.Spec.Users[0].ConnectionStringSecretAnnotations = annotations
693+
})
694+
if err != nil {
695+
t.Fatal(err)
696+
}
697+
}
698+
}
699+
687700
func StatefulSetContainerConditionIsTrue(ctx context.Context, mdb *mdbv1.MongoDBCommunity, containerName string, condition func(c corev1.Container) bool) func(*testing.T) {
688701
return func(t *testing.T) {
689702
sts := appsv1.StatefulSet{}

test/e2e/replica_set_connection_string_options/replica_set_connection_string_options_test.go

+20
Original file line numberDiff line numberDiff line change
@@ -108,4 +108,24 @@ func TestReplicaSetWithConnectionString(t *testing.T) {
108108
tester.ConnectivityRejected(ctx, WithURI(mongodbtests.GetSrvConnectionStringForUser(ctx, mdb, scramUser))))
109109
})
110110

111+
/**
112+
Connection String Annotations options.
113+
*/
114+
t.Run("Connection String With Annotations", func(t *testing.T) {
115+
t.Run("Resetting Connection String Options", mongodbtests.ResetConnectionStringOptions(ctx, &mdb))
116+
t.Run("Test Add New Connection String Annotations to Resource", mongodbtests.AddConnectionStringAnnotationsToUser(ctx, &mdb, map[string]string{"mongodbcommunity.mongodb.com/test-annotation": "test-value"}))
117+
t.Run("Test Secrets Are Updated", mongodbtests.MongoDBReachesRunningPhase(ctx, &mdb))
118+
119+
scramUser = mdb.GetAuthUsers()[0]
120+
t.Run("Test Basic Connectivity", tester.ConnectivitySucceeds())
121+
t.Run("Test SRV Connectivity", tester.ConnectivitySucceeds(WithURI(mdb.MongoSRVURI("")), WithoutTls(), WithReplicaSet(mdb.Name)))
122+
t.Run("Test Basic Connectivity with generated connection string secret",
123+
tester.ConnectivitySucceeds(WithURI(mongodbtests.GetConnectionStringForUser(ctx, mdb, scramUser))))
124+
t.Run("Test SRV Connectivity with generated connection string secret",
125+
tester.ConnectivitySucceeds(WithURI(mongodbtests.GetSrvConnectionStringForUser(ctx, mdb, scramUser))))
126+
127+
ownerRef := mdb.GetOwnerReferences()[0]
128+
t.Run("Test Connection String Annotations are as expected", mongodbtests.ConnectionStringSecretsAreConfigured(ctx, &mdb, ownerRef))
129+
})
130+
111131
}

0 commit comments

Comments
 (0)