Skip to content

Commit 774d253

Browse files
m1kolafealebenpae
authored andcommitted
CLOUDP-302068: Move image unit tests to controller level (#4154)
As we prepare to merge enterprise and community operators, we are refactoring environment variables. Reads from image-related variables will be moved to `main`, and controllers will be receiving parameters with image information. This commit moves tests from the StatefulSet constructor level to the controller level.
1 parent 9d10d24 commit 774d253

13 files changed

+400
-156
lines changed

api/v1/mdbmulti/mongodbmultibuilder.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ func (m *MultiReplicaSetBuilder) Build() *MongoDBMultiCluster {
6363
return res
6464
}
6565

66+
func (m *MultiReplicaSetBuilder) SetVersion(version string) *MultiReplicaSetBuilder {
67+
m.Spec.Version = version
68+
return m
69+
}
70+
6671
func (m *MultiReplicaSetBuilder) SetSecurity(s *mdbv1.Security) *MultiReplicaSetBuilder {
6772
m.Spec.Security = s
6873
return m

controllers/operator/construct/appdb_construction.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ const (
3838
appDBServiceAccount = "mongodb-enterprise-appdb"
3939
InitAppDbContainerName = "mongodb-enterprise-init-appdb"
4040
// AppDB environment variable names
41-
initAppdbVersionEnv = "INIT_APPDB_VERSION"
41+
InitAppdbVersionEnv = "INIT_APPDB_VERSION"
4242
podNamespaceEnv = "POD_NAMESPACE"
4343
automationConfigMapEnv = "AUTOMATION_CONFIG_MAP"
4444
headlessAgentEnv = "HEADLESS_AGENT"
@@ -141,7 +141,7 @@ func appDbPodSpec(om om.MongoDBOpsManager) podtemplatespec.Modification {
141141

142142
// buildAppDBInitContainer builds the container specification for mongodb-enterprise-init-appdb image.
143143
func buildAppDBInitContainer(volumeMounts []corev1.VolumeMount) container.Modification {
144-
version := env.ReadOrDefault(initAppdbVersionEnv, "latest")
144+
version := env.ReadOrDefault(InitAppdbVersionEnv, "latest")
145145
initContainerImageURL := ContainerImage(util.InitAppdbImageUrlEnv, version, nil)
146146

147147
_, configureContainerSecurityContext := podtemplatespec.WithDefaultSecurityContextsModifications()

controllers/operator/construct/appdb_construction_test.go

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
package construct
22

33
import (
4-
"fmt"
54
"os"
65
"testing"
76

87
"github.com/stretchr/testify/assert"
98
"go.uber.org/zap"
109

11-
"github.com/mongodb/mongodb-kubernetes-operator/controllers/construct"
12-
1310
v1 "k8s.io/api/apps/v1"
1411
corev1 "k8s.io/api/core/v1"
1512

@@ -79,38 +76,3 @@ func TestResourceRequirements(t *testing.T) {
7976
}
8077
}
8178
}
82-
83-
func TestAppDbStatefulSetWithRelatedImages(t *testing.T) {
84-
agentRelatedImageEnv := fmt.Sprintf("RELATED_IMAGE_%s_10_26_0_6851_1", construct.AgentImageEnv)
85-
mongodbRelatedImageEnv := fmt.Sprintf("RELATED_IMAGE_%s_1_2_3_ubi8", construct.MongodbImageEnv)
86-
initAppdbRelatedImageEnv := fmt.Sprintf("RELATED_IMAGE_%s_3_4_5", util.InitAppdbImageUrlEnv)
87-
88-
om := omv1.NewOpsManagerBuilderDefault().Build()
89-
90-
t.Setenv(construct.MongodbImageEnv, "mongodb-enterprise-appdb-database-ubi")
91-
t.Setenv(construct.MongodbRepoUrl, "quay.io/mongodb")
92-
t.Setenv(util.InitAppdbImageUrlEnv, "quay.io/mongodb/mongodb-enterprise-init-appdb")
93-
t.Setenv(initAppdbVersionEnv, "3.4.5")
94-
agentImageEnv := "quay.io/mongodb/mongodb-agent:10.26.0.6851-1"
95-
96-
// without related imaged sts is configured using env vars
97-
om.Spec.AppDB.Version = "1.2.3-ent"
98-
sts, err := AppDbStatefulSet(*om, &env.PodEnvVars{ProjectID: "abcd"}, AppDBStatefulSetOptions{AgentVersion: agentImageEnv}, scalers.GetAppDBScaler(om, multicluster.LegacyCentralClusterName, 0, nil), v1.OnDeleteStatefulSetStrategyType, nil)
99-
assert.NoError(t, err)
100-
assert.Equal(t, "quay.io/mongodb/mongodb-agent:10.26.0.6851-1", sts.Spec.Template.Spec.Containers[0].Image)
101-
assert.Equal(t, "quay.io/mongodb/mongodb-enterprise-appdb-database-ubi:1.2.3-ent", sts.Spec.Template.Spec.Containers[1].Image)
102-
assert.Equal(t, "quay.io/mongodb/mongodb-enterprise-init-appdb:3.4.5", sts.Spec.Template.Spec.InitContainers[0].Image)
103-
104-
// sts should be configured with related images when they are defined
105-
t.Setenv(agentRelatedImageEnv, "quay.io/mongodb/mongodb-agent@sha256:AGENT_SHA")
106-
t.Setenv(mongodbRelatedImageEnv, "quay.io/mongodb/mongodb-enterprise-appdb-database-ubi@sha256:MONGODB_SHA")
107-
t.Setenv(initAppdbRelatedImageEnv, "quay.io/mongodb/mongodb-enterprise-init-appdb@sha256:INIT_APPDB_SHA")
108-
109-
om.Spec.AppDB.Version = "1.2.3-ent"
110-
sts, err = AppDbStatefulSet(*om, &env.PodEnvVars{ProjectID: "abcd"}, AppDBStatefulSetOptions{AgentVersion: agentImageEnv}, scalers.GetAppDBScaler(om, multicluster.LegacyCentralClusterName, 0, nil), v1.OnDeleteStatefulSetStrategyType, nil)
111-
assert.NoError(t, err)
112-
// agent's image is not used from RELATED_IMAGE because its value is from AGENT_IMAGE which is full image version
113-
assert.Equal(t, "quay.io/mongodb/mongodb-agent:10.26.0.6851-1", sts.Spec.Template.Spec.Containers[0].Image)
114-
assert.Equal(t, "quay.io/mongodb/mongodb-enterprise-appdb-database-ubi:1.2.3-ent", sts.Spec.Template.Spec.Containers[1].Image)
115-
assert.Equal(t, "quay.io/mongodb/mongodb-enterprise-init-appdb@sha256:INIT_APPDB_SHA", sts.Spec.Template.Spec.InitContainers[0].Image)
116-
}

controllers/operator/construct/backup_construction_test.go

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package construct
22

33
import (
44
"context"
5-
"fmt"
65
"testing"
76

87
"github.com/stretchr/testify/assert"
@@ -84,26 +83,3 @@ func TestMultipleBackupDaemons(t *testing.T) {
8483
assert.NoError(t, err)
8584
assert.Equal(t, 3, int(*sts.Spec.Replicas))
8685
}
87-
88-
func Test_BackupDaemonStatefulSetWithRelatedImages(t *testing.T) {
89-
ctx := context.Background()
90-
initOpsManagerRelatedImageEnv := fmt.Sprintf("RELATED_IMAGE_%s_1_2_3", util.InitOpsManagerImageUrl)
91-
opsManagerRelatedImageEnv := fmt.Sprintf("RELATED_IMAGE_%s_5_0_0", util.OpsManagerImageUrl)
92-
93-
t.Setenv(util.InitOpsManagerImageUrl, "quay.io/mongodb/mongodb-enterprise-init-appdb")
94-
t.Setenv(util.InitOpsManagerVersion, "1.2.3")
95-
t.Setenv(util.OpsManagerImageUrl, "quay.io/mongodb/mongodb-enterprise-ops-manager")
96-
t.Setenv(initOpsManagerRelatedImageEnv, "quay.io/mongodb/mongodb-enterprise-init-ops-manager:@sha256:MONGODB_INIT_APPDB")
97-
t.Setenv(opsManagerRelatedImageEnv, "quay.io/mongodb/mongodb-enterprise-ops-manager:@sha256:MONGODB_OPS_MANAGER")
98-
99-
client, _ := mock.NewDefaultFakeClient()
100-
secretsClient := secrets.SecretClient{
101-
VaultClient: &vault.VaultClient{},
102-
KubeClient: client,
103-
}
104-
105-
sts, err := BackupDaemonStatefulSet(ctx, secretsClient, omv1.NewOpsManagerBuilderDefault().SetVersion("5.0.0").Build(), multicluster.GetLegacyCentralMemberCluster(1, 0, client, secretsClient), zap.S())
106-
assert.NoError(t, err)
107-
assert.Equal(t, "quay.io/mongodb/mongodb-enterprise-init-ops-manager:@sha256:MONGODB_INIT_APPDB", sts.Spec.Template.Spec.InitContainers[0].Image)
108-
assert.Equal(t, "quay.io/mongodb/mongodb-enterprise-ops-manager:@sha256:MONGODB_OPS_MANAGER", sts.Spec.Template.Spec.Containers[0].Image)
109-
}

controllers/operator/construct/database_construction_test.go

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -268,24 +268,6 @@ func TestContainerImage(t *testing.T) {
268268
assert.Equal(t, "mongodb:1.2.3", ContainerImage(util.OpsManagerImageUrl, "1.2.3", nil))
269269
}
270270

271-
func Test_DatabaseStatefulSetWithRelatedImages(t *testing.T) {
272-
databaseRelatedImageEnv := fmt.Sprintf("RELATED_IMAGE_%s_1_0_0", util.NonStaticDatabaseEnterpriseImage)
273-
initDatabaseRelatedImageEnv := fmt.Sprintf("RELATED_IMAGE_%s_2_0_0", util.InitDatabaseImageUrlEnv)
274-
275-
t.Setenv(util.NonStaticDatabaseEnterpriseImage, "quay.io/mongodb/mongodb-enterprise-database")
276-
t.Setenv(DatabaseVersionEnv, "1.0.0")
277-
t.Setenv(util.InitDatabaseImageUrlEnv, "quay.io/mongodb/mongodb-enterprise-init-database")
278-
t.Setenv(InitDatabaseVersionEnv, "2.0.0")
279-
t.Setenv(databaseRelatedImageEnv, "quay.io/mongodb/mongodb-enterprise-database:@sha256:MONGODB_DATABASE")
280-
t.Setenv(initDatabaseRelatedImageEnv, "quay.io/mongodb/mongodb-enterprise-init-database:@sha256:MONGODB_INIT_DATABASE")
281-
282-
rs := mdbv1.NewReplicaSetBuilder().Build()
283-
sts := DatabaseStatefulSet(*rs, ReplicaSetOptions(GetPodEnvOptions()), zap.S())
284-
285-
assert.Equal(t, "quay.io/mongodb/mongodb-enterprise-init-database:@sha256:MONGODB_INIT_DATABASE", sts.Spec.Template.Spec.InitContainers[0].Image)
286-
assert.Equal(t, "quay.io/mongodb/mongodb-enterprise-database:@sha256:MONGODB_DATABASE", sts.Spec.Template.Spec.Containers[0].Image)
287-
}
288-
289271
func TestGetAppDBImage(t *testing.T) {
290272
// Note: if no construct.DefaultImageType is given, we will default to ubi8
291273
tests := []struct {

controllers/operator/construct/multicluster/multicluster_replicaset_test.go

Lines changed: 0 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
package multicluster
22

33
import (
4-
"fmt"
54
"os"
65
"testing"
76

87
"github.com/stretchr/testify/assert"
98
"k8s.io/utils/ptr"
109

1110
mdbc "github.com/mongodb/mongodb-kubernetes-operator/api/v1"
12-
mcoConstruct "github.com/mongodb/mongodb-kubernetes-operator/controllers/construct"
1311
appsv1 "k8s.io/api/apps/v1"
1412
corev1 "k8s.io/api/core/v1"
1513
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -19,7 +17,6 @@ import (
1917
"github.com/10gen/ops-manager-kubernetes/controllers/operator/construct"
2018
"github.com/10gen/ops-manager-kubernetes/controllers/operator/mock"
2119
"github.com/10gen/ops-manager-kubernetes/pkg/util"
22-
"github.com/10gen/ops-manager-kubernetes/pkg/util/architectures"
2320
)
2421

2522
func init() {
@@ -170,57 +167,6 @@ func TestMultiClusterStatefulSet(t *testing.T) {
170167
})
171168
}
172169

173-
func Test_MultiClusterStatefulSetWithRelatedImages(t *testing.T) {
174-
databaseRelatedImageEnv := fmt.Sprintf("RELATED_IMAGE_%s_1_0_0", util.NonStaticDatabaseEnterpriseImage)
175-
initDatabaseRelatedImageEnv := fmt.Sprintf("RELATED_IMAGE_%s_2_0_0", util.InitDatabaseImageUrlEnv)
176-
177-
t.Setenv(util.NonStaticDatabaseEnterpriseImage, "quay.io/mongodb/mongodb-enterprise-database")
178-
t.Setenv(construct.DatabaseVersionEnv, "1.0.0")
179-
t.Setenv(util.InitDatabaseImageUrlEnv, "quay.io/mongodb/mongodb-enterprise-init-database")
180-
t.Setenv(construct.InitDatabaseVersionEnv, "2.0.0")
181-
t.Setenv(databaseRelatedImageEnv, "quay.io/mongodb/mongodb-enterprise-database:@sha256:MONGODB_DATABASE")
182-
t.Setenv(initDatabaseRelatedImageEnv, "quay.io/mongodb/mongodb-enterprise-init-database:@sha256:MONGODB_INIT_DATABASE")
183-
184-
mdbm := getMultiClusterMongoDB()
185-
opts := MultiClusterReplicaSetOptions(
186-
WithClusterNum(0),
187-
WithMemberCount(3),
188-
construct.GetPodEnvOptions(),
189-
)
190-
191-
sts := MultiClusterStatefulSet(mdbm, opts)
192-
193-
assert.Equal(t, "quay.io/mongodb/mongodb-enterprise-init-database:@sha256:MONGODB_INIT_DATABASE", sts.Spec.Template.Spec.InitContainers[0].Image)
194-
assert.Equal(t, "quay.io/mongodb/mongodb-enterprise-database:@sha256:MONGODB_DATABASE", sts.Spec.Template.Spec.Containers[0].Image)
195-
}
196-
197-
func Test_MultiClusterStatefulSetWithRelatedImagesWithStaticArchitecture(t *testing.T) {
198-
databaseRelatedImageEnv := fmt.Sprintf("RELATED_IMAGE_%s_5_0_0_ubi9", mcoConstruct.MongodbImageEnv)
199-
agentRelatedImageEnv := fmt.Sprintf("RELATED_IMAGE_%s_12_0_30_7791_1", architectures.MdbAgentImageRepo)
200-
201-
t.Setenv(architectures.DefaultEnvArchitecture, string(architectures.Static))
202-
203-
t.Setenv(architectures.MdbAgentImageRepo, "quay.io/mongodb/mongodb-agent-ubi")
204-
t.Setenv(agentRelatedImageEnv, "quay.io/mongodb/mongodb-agent-ubi:@sha256:MONGODB_AGENT")
205-
206-
t.Setenv(mcoConstruct.MongodbImageEnv, "quay.io/mongodb/mongodb-enterprise-server")
207-
t.Setenv(databaseRelatedImageEnv, "quay.io/mongodb/mongodb-enterprise-database:@sha256:MONGODB_DATABASE")
208-
209-
mdbm := getMultiClusterMongoDB()
210-
opts := MultiClusterReplicaSetOptions(
211-
WithClusterNum(0),
212-
WithMemberCount(3),
213-
construct.GetPodEnvOptions(),
214-
construct.WithAutomationAgentVersion("12.0.30.7791-1"),
215-
)
216-
217-
sts := MultiClusterStatefulSet(mdbm, opts)
218-
219-
assert.Equal(t, 0, len(sts.Spec.Template.Spec.InitContainers))
220-
assert.Equal(t, "quay.io/mongodb/mongodb-agent-ubi:@sha256:MONGODB_AGENT", sts.Spec.Template.Spec.Containers[0].Image)
221-
assert.Equal(t, "quay.io/mongodb/mongodb-enterprise-database:@sha256:MONGODB_DATABASE", sts.Spec.Template.Spec.Containers[1].Image)
222-
}
223-
224170
func TestPVCOverride(t *testing.T) {
225171
tests := []struct {
226172
inp appsv1.StatefulSetSpec

controllers/operator/construct/opsmanager_construction_test.go

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package construct
22

33
import (
44
"context"
5-
"fmt"
65
"testing"
76

87
"github.com/stretchr/testify/assert"
@@ -413,23 +412,6 @@ func TestOpsManagerPodTemplate_Container(t *testing.T) {
413412
containerObj.Lifecycle.PreStop.Exec.Command)
414413
}
415414

416-
func Test_OpsManagerStatefulSetWithRelatedImages(t *testing.T) {
417-
ctx := context.Background()
418-
initOpsManagerRelatedImageEnv := fmt.Sprintf("RELATED_IMAGE_%s_1_2_3", util.InitOpsManagerImageUrl)
419-
opsManagerRelatedImageEnv := fmt.Sprintf("RELATED_IMAGE_%s_5_0_0", util.OpsManagerImageUrl)
420-
421-
t.Setenv(util.InitOpsManagerImageUrl, "quay.io/mongodb/mongodb-enterprise-init-ops-manager")
422-
t.Setenv(util.InitOpsManagerVersion, "1.2.3")
423-
t.Setenv(util.OpsManagerImageUrl, "quay.io/mongodb/mongodb-enterprise-ops-manager")
424-
t.Setenv(initOpsManagerRelatedImageEnv, "quay.io/mongodb/mongodb-enterprise-init-ops-manager:@sha256:MONGODB_INIT_APPDB")
425-
t.Setenv(opsManagerRelatedImageEnv, "quay.io/mongodb/mongodb-enterprise-ops-manager:@sha256:MONGODB_OPS_MANAGER")
426-
427-
sts, err := createOpsManagerStatefulset(ctx, omv1.NewOpsManagerBuilderDefault().SetName("test-om").SetVersion("5.0.0").Build())
428-
assert.NoError(t, err)
429-
assert.Equal(t, "quay.io/mongodb/mongodb-enterprise-init-ops-manager:@sha256:MONGODB_INIT_APPDB", sts.Spec.Template.Spec.InitContainers[0].Image)
430-
assert.Equal(t, "quay.io/mongodb/mongodb-enterprise-ops-manager:@sha256:MONGODB_OPS_MANAGER", sts.Spec.Template.Spec.Containers[0].Image)
431-
}
432-
433415
func defaultNodeAffinity() corev1.NodeAffinity {
434416
return corev1.NodeAffinity{
435417
RequiredDuringSchedulingIgnoredDuringExecution: &corev1.NodeSelector{

controllers/operator/mongodbmultireplicaset_controller_test.go

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"sigs.k8s.io/controller-runtime/pkg/reconcile"
2222

2323
v1 "github.com/mongodb/mongodb-kubernetes-operator/api/v1"
24+
mcoConstruct "github.com/mongodb/mongodb-kubernetes-operator/controllers/construct"
2425
kubernetesClient "github.com/mongodb/mongodb-kubernetes-operator/pkg/kube/client"
2526
appsv1 "k8s.io/api/apps/v1"
2627
corev1 "k8s.io/api/core/v1"
@@ -98,6 +99,78 @@ func TestCreateMultiReplicaSet(t *testing.T) {
9899
checkMultiReconcileSuccessful(ctx, t, reconciler, mrs, client, false)
99100
}
100101

102+
func TestMultiReplicaSetClusterReconcileContainerImages(t *testing.T) {
103+
databaseRelatedImageEnv := fmt.Sprintf("RELATED_IMAGE_%s_1_0_0", util.NonStaticDatabaseEnterpriseImage)
104+
initDatabaseRelatedImageEnv := fmt.Sprintf("RELATED_IMAGE_%s_2_0_0", util.InitDatabaseImageUrlEnv)
105+
106+
t.Setenv(construct.DatabaseVersionEnv, "1.0.0")
107+
t.Setenv(construct.InitDatabaseVersionEnv, "2.0.0")
108+
t.Setenv(databaseRelatedImageEnv, "quay.io/mongodb/mongodb-enterprise-database:@sha256:MONGODB_DATABASE")
109+
t.Setenv(initDatabaseRelatedImageEnv, "quay.io/mongodb/mongodb-enterprise-init-database:@sha256:MONGODB_INIT_DATABASE")
110+
111+
ctx := context.Background()
112+
mrs := mdbmulti.DefaultMultiReplicaSetBuilder().SetClusterSpecList(clusters).SetVersion("8.0.0").Build()
113+
reconciler, kubeClient, memberClients, _ := defaultMultiReplicaSetReconciler(ctx, mrs)
114+
115+
checkMultiReconcileSuccessful(ctx, t, reconciler, mrs, kubeClient, false)
116+
117+
clusterSpecs, err := mrs.GetClusterSpecItems()
118+
require.NoError(t, err)
119+
for _, item := range clusterSpecs {
120+
c := memberClients[item.ClusterName]
121+
122+
t.Run(item.ClusterName, func(t *testing.T) {
123+
sts := appsv1.StatefulSet{}
124+
err := c.Get(ctx, kube.ObjectKey(mrs.Namespace, mrs.MultiStatefulsetName(mrs.ClusterNum(item.ClusterName))), &sts)
125+
require.NoError(t, err)
126+
127+
require.Len(t, sts.Spec.Template.Spec.InitContainers, 1)
128+
require.Len(t, sts.Spec.Template.Spec.Containers, 1)
129+
130+
assert.Equal(t, "quay.io/mongodb/mongodb-enterprise-init-database:@sha256:MONGODB_INIT_DATABASE", sts.Spec.Template.Spec.InitContainers[0].Image)
131+
assert.Equal(t, "quay.io/mongodb/mongodb-enterprise-database:@sha256:MONGODB_DATABASE", sts.Spec.Template.Spec.Containers[0].Image)
132+
})
133+
}
134+
}
135+
136+
func TestMultiReplicaSetClusterReconcileContainerImagesWithStaticArchitecture(t *testing.T) {
137+
t.Setenv(architectures.DefaultEnvArchitecture, string(architectures.Static))
138+
139+
databaseRelatedImageEnv := fmt.Sprintf("RELATED_IMAGE_%s_8_0_0_ubi9", mcoConstruct.MongodbImageEnv)
140+
141+
t.Setenv(architectures.MdbAgentImageRepo, "quay.io/mongodb/mongodb-agent-ubi")
142+
t.Setenv(mcoConstruct.MongodbImageEnv, "quay.io/mongodb/mongodb-enterprise-server")
143+
t.Setenv(databaseRelatedImageEnv, "quay.io/mongodb/mongodb-enterprise-server:@sha256:MONGODB_DATABASE")
144+
145+
ctx := context.Background()
146+
mrs := mdbmulti.DefaultMultiReplicaSetBuilder().SetClusterSpecList(clusters).SetVersion("8.0.0").Build()
147+
reconciler, kubeClient, memberClients, omConnectionFactory := defaultMultiReplicaSetReconciler(ctx, mrs)
148+
omConnectionFactory.SetPostCreateHook(func(connection om.Connection) {
149+
connection.(*om.MockedOmConnection).SetAgentVersion("12.0.30.7791-1", "")
150+
})
151+
152+
checkMultiReconcileSuccessful(ctx, t, reconciler, mrs, kubeClient, false)
153+
154+
clusterSpecs, err := mrs.GetClusterSpecItems()
155+
require.NoError(t, err)
156+
for _, item := range clusterSpecs {
157+
c := memberClients[item.ClusterName]
158+
159+
t.Run(item.ClusterName, func(t *testing.T) {
160+
sts := appsv1.StatefulSet{}
161+
err := c.Get(ctx, kube.ObjectKey(mrs.Namespace, mrs.MultiStatefulsetName(mrs.ClusterNum(item.ClusterName))), &sts)
162+
require.NoError(t, err)
163+
164+
assert.Len(t, sts.Spec.Template.Spec.InitContainers, 0)
165+
require.Len(t, sts.Spec.Template.Spec.Containers, 2)
166+
167+
// Version from OM + operator version
168+
assert.Equal(t, "quay.io/mongodb/mongodb-agent-ubi:12.0.30.7791-1_9.9.9-test", sts.Spec.Template.Spec.Containers[0].Image)
169+
assert.Equal(t, "quay.io/mongodb/mongodb-enterprise-server:@sha256:MONGODB_DATABASE", sts.Spec.Template.Spec.Containers[1].Image)
170+
})
171+
}
172+
}
173+
101174
func TestReconcilePVCResizeMultiCluster(t *testing.T) {
102175
ctx := context.Background()
103176

0 commit comments

Comments
 (0)