@@ -194,6 +194,7 @@ func (s *configmapRestAPITemplateTest) TestContainerShouldSetCorrectKeycloakServ
194194 // then
195195 s .Require ().Equal ("http://keycloak:80/auth/realms/camunda-platform" , configmapApplication .Camunda .Modeler .Security .JWT .Issuer .BackendUrl )
196196}
197+
197198func (s * configmapRestAPITemplateTest ) TestContainerShouldSetCorrectKeycloakServiceUrlWithCustomPort () {
198199 // given
199200 options := & helm.Options {
@@ -221,6 +222,7 @@ func (s *configmapRestAPITemplateTest) TestContainerShouldSetCorrectKeycloakServ
221222 // then
222223 s .Require ().Equal ("http://keycloak:8888/auth/realms/camunda-platform" , configmapApplication .Camunda .Modeler .Security .JWT .Issuer .BackendUrl )
223224}
225+
224226func (s * configmapRestAPITemplateTest ) TestContainerShouldSetSmtpCredentials () {
225227 // given
226228 options := & helm.Options {
@@ -247,6 +249,7 @@ func (s *configmapRestAPITemplateTest) TestContainerShouldSetSmtpCredentials() {
247249 // then
248250 s .Require ().Equal ("modeler-user" , configmapApplication .Spring .Mail .Username )
249251}
252+
250253func (s * configmapRestAPITemplateTest ) TestContainerShouldSetExternalDatabaseConfiguration () {
251254 // given
252255 options := & helm.Options {
@@ -276,3 +279,182 @@ func (s *configmapRestAPITemplateTest) TestContainerShouldSetExternalDatabaseCon
276279 s .Require ().Equal ("jdbc:postgresql://postgres.example.com:65432/modeler-database" , configmapApplication .Spring .Datasource .Url )
277280 s .Require ().Equal ("modeler-user" , configmapApplication .Spring .Datasource .Username )
278281}
282+
283+ func (s * configmapRestAPITemplateTest ) TestContainerShouldConfigureClusterFromSameHelmInstallationWithDefaultValues () {
284+ // given
285+ options := & helm.Options {
286+ SetValues : map [string ]string {
287+ "webModeler.enabled" : "true" ,
288+ "webModeler.restapi.mail.fromAddress" :
"[email protected] " ,
289+ "postgresql.enabled" : "false" ,
290+ },
291+ KubectlOptions : k8s .NewKubectlOptions ("" , "" , s .namespace ),
292+ }
293+
294+ // when
295+ output := helm .RenderTemplate (s .T (), options , s .chartPath , s .release , s .templates )
296+ var configmap corev1.ConfigMap
297+ var configmapApplication WebModelerRestAPIApplicationYAML
298+ helm .UnmarshalK8SYaml (s .T (), output , & configmap )
299+
300+ err := yaml .Unmarshal ([]byte (configmap .Data ["application.yaml" ]), & configmapApplication )
301+ if err != nil {
302+ s .Fail ("Failed to unmarshal yaml. error=" , err )
303+ }
304+
305+ // then
306+ s .Require ().Equal (1 , len (configmapApplication .Camunda .Modeler .Clusters ))
307+ s .Require ().Equal ("default-cluster" , configmapApplication .Camunda .Modeler .Clusters [0 ].Id )
308+ s .Require ().Equal ("camunda-platform-test-zeebe" , configmapApplication .Camunda .Modeler .Clusters [0 ].Name )
309+ s .Require ().Equal ("SNAPSHOT" , configmapApplication .Camunda .Modeler .Clusters [0 ].Version )
310+ s .Require ().Equal ("OAUTH" , configmapApplication .Camunda .Modeler .Clusters [0 ].Authentication )
311+ s .Require ().Equal ("grpc://camunda-platform-test-zeebe-gateway:26500" , configmapApplication .Camunda .Modeler .Clusters [0 ].Url .Zeebe .Grpc )
312+ s .Require ().Equal ("http://camunda-platform-test-zeebe-gateway:8080" , configmapApplication .Camunda .Modeler .Clusters [0 ].Url .Zeebe .Rest )
313+ s .Require ().Equal ("http://camunda-platform-test-operate:80" , configmapApplication .Camunda .Modeler .Clusters [0 ].Url .Operate )
314+ s .Require ().Equal ("http://camunda-platform-test-tasklist:80" , configmapApplication .Camunda .Modeler .Clusters [0 ].Url .Tasklist )
315+ s .Require ().Equal ("http://camunda-platform-test-keycloak:80/auth/realms/camunda-platform/protocol/openid-connect/token" , configmapApplication .Camunda .Modeler .Clusters [0 ].Oauth .Url )
316+ s .Require ().Equal ("zeebe-api" , configmapApplication .Camunda .Modeler .Clusters [0 ].Oauth .Audience .Zeebe )
317+ s .Require ().Equal ("operate-api" , configmapApplication .Camunda .Modeler .Clusters [0 ].Oauth .Audience .Operate )
318+ s .Require ().Equal ("tasklist-api" , configmapApplication .Camunda .Modeler .Clusters [0 ].Oauth .Audience .Tasklist )
319+ s .Require ().Equal ("" , configmapApplication .Camunda .Modeler .Clusters [0 ].Oauth .Scope )
320+ }
321+
322+ func (s * configmapRestAPITemplateTest ) TestContainerShouldConfigureClusterFromSameHelmInstallationWithCustomValues () {
323+ // given
324+ options := & helm.Options {
325+ SetValues : map [string ]string {
326+ "webModeler.enabled" : "true" ,
327+ "webModeler.restapi.mail.fromAddress" :
"[email protected] " ,
328+ "postgresql.enabled" : "false" ,
329+ "global.zeebeClusterName" : "test-zeebe" ,
330+ "global.identity.auth.zeebe.tokenScope" : "test-scope" ,
331+ "global.identity.auth.zeebe.audience" : "test-zeebe-api" ,
332+ "global.identity.auth.operate.audience" : "test-operate-api" ,
333+ "global.identity.auth.tasklist.audience" : "test-tasklist-api" ,
334+ "global.identity.auth.tokenUrl" : "https://example.com/auth/realms/test/protocol/openid-connect/token" ,
335+ "zeebe.image.tag" : "8.7.0-alpha1" ,
336+ "zeebeGateway.contextPath" : "/zeebe" ,
337+ "zeebeGateway.service.grpcPort" : "26600" ,
338+ "zeebeGateway.service.restPort" : "8090" ,
339+ "operate.contextPath" : "/operate" ,
340+ "operate.service.port" : "8080" ,
341+ "tasklist.contextPath" : "/tasklist" ,
342+ "tasklist.service.port" : "8080" ,
343+ },
344+ KubectlOptions : k8s .NewKubectlOptions ("" , "" , s .namespace ),
345+ }
346+
347+ // when
348+ output := helm .RenderTemplate (s .T (), options , s .chartPath , s .release , s .templates )
349+ var configmap corev1.ConfigMap
350+ var configmapApplication WebModelerRestAPIApplicationYAML
351+ helm .UnmarshalK8SYaml (s .T (), output , & configmap )
352+
353+ err := yaml .Unmarshal ([]byte (configmap .Data ["application.yaml" ]), & configmapApplication )
354+ if err != nil {
355+ s .Fail ("Failed to unmarshal yaml. error=" , err )
356+ }
357+
358+ // then
359+ s .Require ().Equal (1 , len (configmapApplication .Camunda .Modeler .Clusters ))
360+ s .Require ().Equal ("default-cluster" , configmapApplication .Camunda .Modeler .Clusters [0 ].Id )
361+ s .Require ().Equal ("test-zeebe" , configmapApplication .Camunda .Modeler .Clusters [0 ].Name )
362+ s .Require ().Equal ("8.7.0-alpha1" , configmapApplication .Camunda .Modeler .Clusters [0 ].Version )
363+ s .Require ().Equal ("OAUTH" , configmapApplication .Camunda .Modeler .Clusters [0 ].Authentication )
364+ s .Require ().Equal ("grpc://test-zeebe-gateway:26600" , configmapApplication .Camunda .Modeler .Clusters [0 ].Url .Zeebe .Grpc )
365+ s .Require ().Equal ("http://test-zeebe-gateway:8090/zeebe" , configmapApplication .Camunda .Modeler .Clusters [0 ].Url .Zeebe .Rest )
366+ s .Require ().Equal ("http://camunda-platform-test-operate:8080/operate" , configmapApplication .Camunda .Modeler .Clusters [0 ].Url .Operate )
367+ s .Require ().Equal ("http://camunda-platform-test-tasklist:8080/tasklist" , configmapApplication .Camunda .Modeler .Clusters [0 ].Url .Tasklist )
368+ s .Require ().Equal ("https://example.com/auth/realms/test/protocol/openid-connect/token" , configmapApplication .Camunda .Modeler .Clusters [0 ].Oauth .Url )
369+ s .Require ().Equal ("test-zeebe-api" , configmapApplication .Camunda .Modeler .Clusters [0 ].Oauth .Audience .Zeebe )
370+ s .Require ().Equal ("test-operate-api" , configmapApplication .Camunda .Modeler .Clusters [0 ].Oauth .Audience .Operate )
371+ s .Require ().Equal ("test-tasklist-api" , configmapApplication .Camunda .Modeler .Clusters [0 ].Oauth .Audience .Tasklist )
372+ s .Require ().Equal ("test-scope" , configmapApplication .Camunda .Modeler .Clusters [0 ].Oauth .Scope )
373+ }
374+
375+ func (s * configmapRestAPITemplateTest ) TestContainerShouldUseClustersFromCustomConfiguration () {
376+ // given
377+ options := & helm.Options {
378+ SetValues : map [string ]string {
379+ "webModeler.enabled" : "true" ,
380+ "webModeler.restapi.mail.fromAddress" :
"[email protected] " ,
381+ "webModeler.restapi.clusters[0].id" : "test-cluster-1" ,
382+ "webModeler.restapi.clusters[0].name" : "test cluster 1" ,
383+ "webModeler.restapi.clusters[0].version" : "8.6.0" ,
384+ "webModeler.restapi.clusters[0].authentication" : "NONE" ,
385+ "webModeler.restapi.clusters[0].url.zeebe.grpc" : "grpc://zeebe-gateway.test-1:26500" ,
386+ "webModeler.restapi.clusters[0].url.zeebe.rest" : "http://zeebe-gateway.test-1:8080" ,
387+ "webModeler.restapi.clusters[0].url.operate" : "http://operate.test-1:8080" ,
388+ "webModeler.restapi.clusters[0].url.tasklist" : "http://tasklist.test-1:8080" ,
389+ "webModeler.restapi.clusters[1].id" : "test-cluster-2" ,
390+ "webModeler.restapi.clusters[1].name" : "test cluster 2" ,
391+ "webModeler.restapi.clusters[1].version" : "8.7.0-alpha1" ,
392+ "webModeler.restapi.clusters[1].authentication" : "OAUTH" ,
393+ "webModeler.restapi.clusters[1].url.zeebe.grpc" : "grpc://zeebe-gateway.test-2:26500" ,
394+ "webModeler.restapi.clusters[1].url.zeebe.rest" : "http://zeebe-gateway.test-2:8080" ,
395+ "webModeler.restapi.clusters[1].url.operate" : "http://operate.test-2:8080" ,
396+ "webModeler.restapi.clusters[1].url.tasklist" : "http://tasklist.test-2:8080" ,
397+ "webModeler.restapi.clusters[1].oauth.url" : "http://test-keycloak:80/auth/realms/camunda-platform/protocol/openid-connect/token" ,
398+ "postgresql.enabled" : "false" ,
399+ },
400+ KubectlOptions : k8s .NewKubectlOptions ("" , "" , s .namespace ),
401+ }
402+
403+ // when
404+ output := helm .RenderTemplate (s .T (), options , s .chartPath , s .release , s .templates )
405+ var configmap corev1.ConfigMap
406+ var configmapApplication WebModelerRestAPIApplicationYAML
407+ helm .UnmarshalK8SYaml (s .T (), output , & configmap )
408+
409+ err := yaml .Unmarshal ([]byte (configmap .Data ["application.yaml" ]), & configmapApplication )
410+ if err != nil {
411+ s .Fail ("Failed to unmarshal yaml. error=" , err )
412+ }
413+
414+ // then
415+ s .Require ().Equal (2 , len (configmapApplication .Camunda .Modeler .Clusters ))
416+ s .Require ().Equal ("test-cluster-1" , configmapApplication .Camunda .Modeler .Clusters [0 ].Id )
417+ s .Require ().Equal ("test cluster 1" , configmapApplication .Camunda .Modeler .Clusters [0 ].Name )
418+ s .Require ().Equal ("8.6.0" , configmapApplication .Camunda .Modeler .Clusters [0 ].Version )
419+ s .Require ().Equal ("NONE" , configmapApplication .Camunda .Modeler .Clusters [0 ].Authentication )
420+ s .Require ().Equal ("grpc://zeebe-gateway.test-1:26500" , configmapApplication .Camunda .Modeler .Clusters [0 ].Url .Zeebe .Grpc )
421+ s .Require ().Equal ("http://zeebe-gateway.test-1:8080" , configmapApplication .Camunda .Modeler .Clusters [0 ].Url .Zeebe .Rest )
422+ s .Require ().Equal ("http://operate.test-1:8080" , configmapApplication .Camunda .Modeler .Clusters [0 ].Url .Operate )
423+ s .Require ().Equal ("http://tasklist.test-1:8080" , configmapApplication .Camunda .Modeler .Clusters [0 ].Url .Tasklist )
424+ s .Require ().Equal ("test-cluster-2" , configmapApplication .Camunda .Modeler .Clusters [1 ].Id )
425+ s .Require ().Equal ("test cluster 2" , configmapApplication .Camunda .Modeler .Clusters [1 ].Name )
426+ s .Require ().Equal ("8.7.0-alpha1" , configmapApplication .Camunda .Modeler .Clusters [1 ].Version )
427+ s .Require ().Equal ("OAUTH" , configmapApplication .Camunda .Modeler .Clusters [1 ].Authentication )
428+ s .Require ().Equal ("grpc://zeebe-gateway.test-2:26500" , configmapApplication .Camunda .Modeler .Clusters [1 ].Url .Zeebe .Grpc )
429+ s .Require ().Equal ("http://zeebe-gateway.test-2:8080" , configmapApplication .Camunda .Modeler .Clusters [1 ].Url .Zeebe .Rest )
430+ s .Require ().Equal ("http://operate.test-2:8080" , configmapApplication .Camunda .Modeler .Clusters [1 ].Url .Operate )
431+ s .Require ().Equal ("http://tasklist.test-2:8080" , configmapApplication .Camunda .Modeler .Clusters [1 ].Url .Tasklist )
432+ s .Require ().Equal ("http://test-keycloak:80/auth/realms/camunda-platform/protocol/openid-connect/token" , configmapApplication .Camunda .Modeler .Clusters [1 ].Oauth .Url )
433+ }
434+
435+ func (s * configmapRestAPITemplateTest ) TestContainerShouldNotConfigureClustersIfZeebeDisabledAndNoCustomConfiguration () {
436+ // given
437+ options := & helm.Options {
438+ SetValues : map [string ]string {
439+ "webModeler.enabled" : "true" ,
440+ "webModeler.restapi.mail.fromAddress" :
"[email protected] " ,
441+ "postgresql.enabled" : "false" ,
442+ "zeebe.enabled" : "false" ,
443+ },
444+ KubectlOptions : k8s .NewKubectlOptions ("" , "" , s .namespace ),
445+ }
446+
447+ // when
448+ output := helm .RenderTemplate (s .T (), options , s .chartPath , s .release , s .templates )
449+ var configmap corev1.ConfigMap
450+ var configmapApplication WebModelerRestAPIApplicationYAML
451+ helm .UnmarshalK8SYaml (s .T (), output , & configmap )
452+
453+ err := yaml .Unmarshal ([]byte (configmap .Data ["application.yaml" ]), & configmapApplication )
454+ if err != nil {
455+ s .Fail ("Failed to unmarshal yaml. error=" , err )
456+ }
457+
458+ // then
459+ s .Require ().Empty (configmapApplication .Camunda .Modeler .Clusters )
460+ }
0 commit comments