Skip to content

Commit f684fe8

Browse files
committed
operator: operator: add console envtest for RedpandaCloud provider
Test that RedpandaCloud fields are present in the ConfigMap
1 parent 369a9f6 commit f684fe8

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

controllers/redpanda/console_controller_test.go

+45
Original file line numberDiff line numberDiff line change
@@ -342,4 +342,49 @@ var _ = Describe("Console controller", func() {
342342
}, timeout, interval).Should(BeTrue())
343343
})
344344
})
345+
346+
Context("When enabling multiple Login providers", func() {
347+
ctx := context.Background()
348+
It("Should prioritize RedpandaCloud", func() {
349+
var (
350+
rpCloudDomain = "test.auth.vectorized.io"
351+
rpCloudAudience = "dev.vectorized.io"
352+
)
353+
354+
By("Updating Console RedpandaCloud Login fields")
355+
console := &redpandav1alpha1.Console{}
356+
Expect(k8sClient.Get(ctx, types.NamespacedName{Namespace: ConsoleNamespace, Name: ConsoleName}, console)).Should(Succeed())
357+
console.Spec.Login.RedpandaCloud = &redpandav1alpha1.EnterpriseLoginRedpandaCloud{
358+
Enabled: true,
359+
Domain: rpCloudDomain,
360+
Audience: rpCloudAudience,
361+
}
362+
Expect(k8sClient.Update(ctx, console)).Should(Succeed())
363+
364+
By("Having only RedpandaCloud provider in ConfigMap")
365+
createdConfigMaps := &corev1.ConfigMapList{}
366+
Eventually(func() bool {
367+
if err := k8sClient.List(ctx, createdConfigMaps, client.MatchingLabels(labels.ForConsole(console)), client.InNamespace(ConsoleNamespace)); err != nil {
368+
return false
369+
}
370+
if len(createdConfigMaps.Items) != 1 {
371+
return false
372+
}
373+
for _, cm := range createdConfigMaps.Items {
374+
cc := &consolepkg.ConsoleConfig{}
375+
if err := yaml.Unmarshal([]byte(cm.Data["config.yaml"]), cc); err != nil {
376+
return false
377+
}
378+
if cc.Login.Google != nil {
379+
return false
380+
}
381+
rpCloudConfig := cc.Login.RedpandaCloud
382+
if !rpCloudConfig.Enabled || rpCloudConfig.Domain != rpCloudDomain || rpCloudConfig.Audience != rpCloudAudience {
383+
return false
384+
}
385+
}
386+
return true
387+
}, timeout, interval).Should(BeTrue())
388+
})
389+
})
345390
})

0 commit comments

Comments
 (0)