github.com/verrazzano/verrazzano@v1.7.1/pkg/vzcr/enabled_test.go (about) 1 // Copyright (c) 2021, 2023, Oracle and/or its affiliates. 2 // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. 3 package vzcr 4 5 import ( 6 "testing" 7 8 "github.com/stretchr/testify/assert" 9 vzapi "github.com/verrazzano/verrazzano/platform-operator/apis/verrazzano/v1alpha1" 10 installv1beta1 "github.com/verrazzano/verrazzano/platform-operator/apis/verrazzano/v1beta1" 11 "github.com/verrazzano/verrazzano/platform-operator/controllers/verrazzano/component/spi" 12 corev1 "k8s.io/api/core/v1" 13 v1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" 14 "k8s.io/apimachinery/pkg/runtime" 15 ) 16 17 var ( 18 enabled = true 19 disabled = false 20 ) 21 22 // TestIsExternalDNSEnabledDefault tests the IsExternalDNSEnabled function 23 // GIVEN a call to IsExternalDNSEnabled 24 // 25 // WHEN the VZ config does not explicitly configure DNS 26 // THEN false is returned 27 func TestIsExternalDNSEnabledDefault(t *testing.T) { 28 vz := &vzapi.Verrazzano{} 29 assert.False(t, IsExternalDNSEnabled(vz)) 30 31 vzv1beta1 := &installv1beta1.Verrazzano{} 32 assert.False(t, IsExternalDNSEnabled(vzv1beta1)) 33 } 34 35 // TestIsExternalDNSEnabledOCIDNS tests the IsExternalDNSEnabled function 36 // GIVEN a call to IsExternalDNSEnabled 37 // 38 // WHEN the VZ config has OCI DNS configured 39 // THEN true is returned 40 func TestIsExternalDNSEnabledOCIDNS(t *testing.T) { 41 vz := &vzapi.Verrazzano{ 42 Spec: vzapi.VerrazzanoSpec{ 43 EnvironmentName: "myenv", 44 Components: vzapi.ComponentSpec{ 45 DNS: &vzapi.DNSComponent{ 46 OCI: &vzapi.OCI{ 47 DNSZoneName: "mydomain.com", 48 }, 49 }, 50 }, 51 }, 52 } 53 assert.True(t, IsExternalDNSEnabled(vz)) 54 55 vzv1beta1 := &installv1beta1.Verrazzano{ 56 Spec: installv1beta1.VerrazzanoSpec{ 57 EnvironmentName: "myenv", 58 Components: installv1beta1.ComponentSpec{ 59 DNS: &installv1beta1.DNSComponent{ 60 OCI: &installv1beta1.OCI{ 61 DNSZoneName: "mydomain.com"}, 62 }, 63 }, 64 }, 65 } 66 assert.True(t, IsExternalDNSEnabled(vzv1beta1)) 67 } 68 69 // TestIsExternalDNSEnabledWildcardDNS tests the IsExternalDNSEnabled function 70 // GIVEN a call to IsExternalDNSEnabled 71 // 72 // WHEN the VZ config has Wildcard DNS explicitly configured 73 // THEN false is returned 74 func TestIsExternalDNSEnabledWildcardDNS(t *testing.T) { 75 vz := &vzapi.Verrazzano{ 76 Spec: vzapi.VerrazzanoSpec{ 77 EnvironmentName: "myenv", 78 Components: vzapi.ComponentSpec{ 79 DNS: &vzapi.DNSComponent{ 80 Wildcard: &vzapi.Wildcard{ 81 Domain: "xip.io", 82 }, 83 }, 84 }, 85 }, 86 } 87 assert.False(t, IsExternalDNSEnabled(vz)) 88 89 vzv1beta := &installv1beta1.Verrazzano{ 90 Spec: installv1beta1.VerrazzanoSpec{ 91 EnvironmentName: "myenv", 92 Components: installv1beta1.ComponentSpec{ 93 DNS: &installv1beta1.DNSComponent{ 94 Wildcard: &installv1beta1.Wildcard{ 95 Domain: "xip.io", 96 }, 97 }, 98 }, 99 }, 100 } 101 assert.False(t, IsExternalDNSEnabled(vzv1beta)) 102 } 103 104 // TestIsExternalDNSEnabledExternalDNS tests the IsExternalDNSEnabled function 105 // GIVEN a call to IsExternalDNSEnabled 106 // 107 // WHEN the VZ config has External DNS explicitly configured 108 // THEN false is returned 109 func TestIsExternalDNSEnabledExternalDNS(t *testing.T) { 110 vz := &vzapi.Verrazzano{ 111 Spec: vzapi.VerrazzanoSpec{ 112 EnvironmentName: "myenv", 113 Components: vzapi.ComponentSpec{ 114 DNS: &vzapi.DNSComponent{ 115 External: &vzapi.External{ 116 Suffix: "mydomain.io", 117 }, 118 }, 119 }, 120 }, 121 } 122 assert.False(t, IsExternalDNSEnabled(vz)) 123 } 124 125 var trueValue = true 126 var falseValue = false 127 128 // TestIsRancherEnabled tests the IsRancherEnabled function 129 // GIVEN a call to IsRancherEnabled 130 // 131 // THEN the value of the Enabled flag is returned if present, true otherwise (enabled by default) 132 func TestIsRancherEnabled(t *testing.T) { 133 asserts := assert.New(t) 134 asserts.True(IsRancherEnabled(nil)) 135 asserts.True(IsRancherEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 136 asserts.True(IsRancherEnabled( 137 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 138 Components: vzapi.ComponentSpec{ 139 Rancher: &vzapi.RancherComponent{}, 140 }, 141 }})) 142 asserts.True(IsRancherEnabled( 143 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 144 Components: vzapi.ComponentSpec{ 145 Rancher: &vzapi.RancherComponent{ 146 Enabled: &trueValue, 147 }, 148 }, 149 }})) 150 asserts.False(IsRancherEnabled( 151 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 152 Components: vzapi.ComponentSpec{ 153 Rancher: &vzapi.RancherComponent{ 154 Enabled: &falseValue, 155 }, 156 }, 157 }})) 158 asserts.True(IsRancherEnabled( 159 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 160 Components: installv1beta1.ComponentSpec{ 161 Rancher: &installv1beta1.RancherComponent{ 162 Enabled: &trueValue, 163 }, 164 }, 165 }})) 166 asserts.False(IsRancherEnabled( 167 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 168 Components: installv1beta1.ComponentSpec{ 169 Rancher: &installv1beta1.RancherComponent{ 170 Enabled: &falseValue, 171 }, 172 }, 173 }})) 174 } 175 176 // TestIsKeycloakEnabled tests the IsKeycloakEnabled function 177 // GIVEN a call to IsKeycloakEnabled 178 // 179 // THEN the value of the Enabled flag is returned if present, true otherwise (enabled by default) 180 func TestIsKeycloakEnabled(t *testing.T) { 181 asserts := assert.New(t) 182 asserts.True(IsKeycloakEnabled(nil)) 183 asserts.True(IsKeycloakEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 184 asserts.True(IsKeycloakEnabled( 185 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 186 Components: vzapi.ComponentSpec{ 187 Keycloak: &vzapi.KeycloakComponent{}, 188 }, 189 }})) 190 asserts.True(IsKeycloakEnabled( 191 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 192 Components: vzapi.ComponentSpec{ 193 Keycloak: &vzapi.KeycloakComponent{ 194 Enabled: &trueValue, 195 }, 196 }, 197 }})) 198 asserts.False(IsKeycloakEnabled( 199 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 200 Components: vzapi.ComponentSpec{ 201 Keycloak: &vzapi.KeycloakComponent{ 202 Enabled: &falseValue, 203 }, 204 }, 205 }})) 206 asserts.True(IsKeycloakEnabled( 207 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 208 Components: installv1beta1.ComponentSpec{ 209 Keycloak: &installv1beta1.KeycloakComponent{ 210 Enabled: &trueValue, 211 }, 212 }, 213 }})) 214 asserts.False(IsKeycloakEnabled( 215 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 216 Components: installv1beta1.ComponentSpec{ 217 Keycloak: &installv1beta1.KeycloakComponent{ 218 Enabled: &falseValue, 219 }, 220 }, 221 }})) 222 } 223 224 // TestIsClusterIssuerEnabled tests the IsClusterIssuerEnabled function 225 // GIVEN a call to IsClusterIssuerEnabled 226 // 227 // THEN the value of the Enabled flag is returned if present, true otherwise (enabled by default) 228 func TestIsClusterIssuerEnabled(t *testing.T) { 229 asserts := assert.New(t) 230 asserts.True(IsClusterIssuerEnabled(nil)) 231 asserts.True(IsClusterIssuerEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 232 asserts.True(IsClusterIssuerEnabled( 233 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 234 Components: vzapi.ComponentSpec{ 235 ClusterIssuer: &vzapi.ClusterIssuerComponent{}, 236 }, 237 }})) 238 asserts.True(IsClusterIssuerEnabled( 239 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 240 Components: vzapi.ComponentSpec{ 241 ClusterIssuer: &vzapi.ClusterIssuerComponent{ 242 Enabled: &trueValue, 243 }, 244 }, 245 }})) 246 asserts.True(IsClusterIssuerEnabled( 247 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 248 Components: vzapi.ComponentSpec{ 249 ClusterIssuer: &vzapi.ClusterIssuerComponent{ 250 Enabled: &falseValue, 251 }, 252 }, 253 }})) 254 asserts.False(IsClusterIssuerEnabled( 255 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 256 Components: vzapi.ComponentSpec{ 257 ClusterIssuer: &vzapi.ClusterIssuerComponent{ 258 Enabled: &falseValue, 259 }, 260 CertManager: &vzapi.CertManagerComponent{ 261 Enabled: &falseValue, 262 }, 263 }, 264 }})) 265 asserts.True(IsClusterIssuerEnabled( 266 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 267 Components: installv1beta1.ComponentSpec{ 268 ClusterIssuer: &installv1beta1.ClusterIssuerComponent{ 269 Enabled: &trueValue, 270 }, 271 }, 272 }})) 273 asserts.True(IsClusterIssuerEnabled( 274 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 275 Components: installv1beta1.ComponentSpec{ 276 ClusterIssuer: &installv1beta1.ClusterIssuerComponent{ 277 Enabled: &falseValue, 278 }, 279 }, 280 }})) 281 asserts.False(IsClusterIssuerEnabled( 282 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 283 Components: installv1beta1.ComponentSpec{ 284 CertManager: &installv1beta1.CertManagerComponent{ 285 Enabled: &falseValue, 286 }, 287 ClusterIssuer: &installv1beta1.ClusterIssuerComponent{ 288 Enabled: &falseValue, 289 }, 290 }, 291 }})) 292 } 293 294 // TestIsCertManagerWebhookOCIEnabled tests the IsCertManagerWebhookOCIEnabled function 295 // GIVEN a call to IsCertManagerWebhookOCIEnabled 296 // 297 // THEN the value of the Enabled flag is returned if present, false otherwise (disabled by default) 298 func TestIsCertManagerWebhookOCIEnabled(t *testing.T) { 299 asserts := assert.New(t) 300 asserts.False(IsCertManagerWebhookOCIEnabled(nil)) 301 asserts.False(IsCertManagerWebhookOCIEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 302 asserts.False(IsCertManagerWebhookOCIEnabled( 303 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 304 Components: vzapi.ComponentSpec{ 305 CertManagerWebhookOCI: &vzapi.CertManagerWebhookOCIComponent{}, 306 }, 307 }})) 308 asserts.True(IsCertManagerWebhookOCIEnabled( 309 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 310 Components: vzapi.ComponentSpec{ 311 CertManagerWebhookOCI: &vzapi.CertManagerWebhookOCIComponent{ 312 Enabled: &trueValue, 313 }, 314 }, 315 }})) 316 asserts.False(IsCertManagerWebhookOCIEnabled( 317 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 318 Components: vzapi.ComponentSpec{ 319 CertManagerWebhookOCI: &vzapi.CertManagerWebhookOCIComponent{ 320 Enabled: &falseValue, 321 }, 322 }, 323 }})) 324 asserts.True(IsCertManagerWebhookOCIEnabled( 325 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 326 Components: installv1beta1.ComponentSpec{ 327 CertManagerWebhookOCI: &installv1beta1.CertManagerWebhookOCIComponent{ 328 Enabled: &trueValue, 329 }, 330 }, 331 }})) 332 asserts.False(IsCertManagerWebhookOCIEnabled( 333 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 334 Components: installv1beta1.ComponentSpec{ 335 CertManagerWebhookOCI: &installv1beta1.CertManagerWebhookOCIComponent{ 336 Enabled: &falseValue, 337 }, 338 }, 339 }})) 340 } 341 342 // TestIsCertManagerWebhookOCIRequiredV1Alpha1 tests the IsCertManagerWebhookOCIRequired function 343 // GIVEN a call to IsCertManagerWebhookOCIRequired 344 // 345 // THEN true is returned IF the webhook is explicitly enabled OR the issuer component is enabled and OCI DNS 346 // with ACME/LetsEncrypt is configured 347 func TestIsCertManagerWebhookOCIRequiredV1Alpha1(t *testing.T) { 348 asserts := assert.New(t) 349 350 asserts.False(IsCertManagerWebhookOCIRequired(nil)) 351 352 asserts.False(IsCertManagerWebhookOCIRequired( 353 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 354 Components: vzapi.ComponentSpec{ 355 DNS: &vzapi.DNSComponent{OCI: &vzapi.OCI{}}, 356 }, 357 }})) 358 359 asserts.False(IsCertManagerWebhookOCIRequired( 360 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 361 Components: vzapi.ComponentSpec{ 362 ClusterIssuer: &vzapi.ClusterIssuerComponent{Enabled: &falseValue}, 363 DNS: &vzapi.DNSComponent{OCI: &vzapi.OCI{}}, 364 }, 365 }})) 366 367 asserts.False(IsCertManagerWebhookOCIRequired( 368 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 369 Components: vzapi.ComponentSpec{ 370 ClusterIssuer: &vzapi.ClusterIssuerComponent{Enabled: &trueValue}, 371 DNS: &vzapi.DNSComponent{OCI: &vzapi.OCI{}}, 372 }, 373 }})) 374 375 asserts.True(IsCertManagerWebhookOCIRequired( 376 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 377 Components: vzapi.ComponentSpec{ 378 ClusterIssuer: &vzapi.ClusterIssuerComponent{ 379 Enabled: &trueValue, 380 IssuerConfig: vzapi.IssuerConfig{ 381 LetsEncrypt: &vzapi.LetsEncryptACMEIssuer{}, 382 }, 383 }, 384 DNS: &vzapi.DNSComponent{OCI: &vzapi.OCI{}}, 385 }, 386 }})) 387 388 asserts.True(IsCertManagerWebhookOCIRequired( 389 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 390 Components: vzapi.ComponentSpec{ 391 ClusterIssuer: vzapi.NewDefaultClusterIssuer(), 392 CertManagerWebhookOCI: &vzapi.CertManagerWebhookOCIComponent{ 393 Enabled: &trueValue, 394 }, 395 }, 396 }})) 397 } 398 399 // TestIsCertManagerWebhookOCIRequiredV1Beta1 tests the IsCertManagerWebhookOCIRequired function 400 // GIVEN a call to IsCertManagerWebhookOCIRequired 401 // 402 // THEN true is returned IF the webhook is explicitly enabled OR the issuer component is enabled and OCI DNS 403 // with ACME/LetsEncrypt is configured 404 func TestIsCertManagerWebhookOCIRequiredV1Beta1(t *testing.T) { 405 asserts := assert.New(t) 406 407 asserts.False(IsCertManagerWebhookOCIRequired(nil)) 408 409 asserts.False(IsCertManagerWebhookOCIRequired( 410 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 411 Components: installv1beta1.ComponentSpec{ 412 DNS: &installv1beta1.DNSComponent{OCI: &installv1beta1.OCI{}}, 413 }, 414 }})) 415 416 asserts.False(IsCertManagerWebhookOCIRequired( 417 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 418 Components: installv1beta1.ComponentSpec{ 419 ClusterIssuer: &installv1beta1.ClusterIssuerComponent{Enabled: &falseValue}, 420 DNS: &installv1beta1.DNSComponent{OCI: &installv1beta1.OCI{}}, 421 }, 422 }})) 423 424 asserts.False(IsCertManagerWebhookOCIRequired( 425 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 426 Components: installv1beta1.ComponentSpec{ 427 ClusterIssuer: &installv1beta1.ClusterIssuerComponent{Enabled: &trueValue}, 428 DNS: &installv1beta1.DNSComponent{OCI: &installv1beta1.OCI{}}, 429 }, 430 }})) 431 432 asserts.True(IsCertManagerWebhookOCIRequired( 433 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 434 Components: installv1beta1.ComponentSpec{ 435 ClusterIssuer: &installv1beta1.ClusterIssuerComponent{ 436 Enabled: &trueValue, 437 IssuerConfig: installv1beta1.IssuerConfig{ 438 LetsEncrypt: &installv1beta1.LetsEncryptACMEIssuer{}, 439 }, 440 }, 441 DNS: &installv1beta1.DNSComponent{OCI: &installv1beta1.OCI{}}, 442 }, 443 }})) 444 445 asserts.True(IsCertManagerWebhookOCIRequired( 446 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 447 Components: installv1beta1.ComponentSpec{ 448 ClusterIssuer: installv1beta1.NewDefaultClusterIssuer(), 449 CertManagerWebhookOCI: &installv1beta1.CertManagerWebhookOCIComponent{ 450 Enabled: &trueValue, 451 }, 452 }, 453 }})) 454 } 455 456 func TestIsCAConfig(t *testing.T) { 457 asserts := assert.New(t) 458 459 isCA, err := IsCAConfig(&corev1.Secret{}) 460 asserts.False(isCA) 461 asserts.Error(err) 462 463 asserts.False(IsCAConfig(nil)) 464 465 asserts.True(IsCAConfig(&installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{}})) 466 467 asserts.True(IsCAConfig( 468 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 469 Components: installv1beta1.ComponentSpec{ 470 ClusterIssuer: &installv1beta1.ClusterIssuerComponent{ 471 IssuerConfig: installv1beta1.IssuerConfig{CA: &installv1beta1.CAIssuer{}}, 472 }, 473 }, 474 }})) 475 476 asserts.False(IsCAConfig( 477 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 478 Components: installv1beta1.ComponentSpec{ 479 ClusterIssuer: &installv1beta1.ClusterIssuerComponent{}, 480 }, 481 }})) 482 483 asserts.False(IsCAConfig( 484 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 485 Components: installv1beta1.ComponentSpec{ 486 ClusterIssuer: &installv1beta1.ClusterIssuerComponent{ 487 IssuerConfig: installv1beta1.IssuerConfig{LetsEncrypt: &installv1beta1.LetsEncryptACMEIssuer{}}, 488 }, 489 }, 490 }})) 491 492 asserts.True(IsCAConfig(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 493 494 asserts.True(IsCAConfig( 495 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 496 Components: vzapi.ComponentSpec{ 497 ClusterIssuer: &vzapi.ClusterIssuerComponent{ 498 IssuerConfig: vzapi.IssuerConfig{CA: &vzapi.CAIssuer{}}, 499 }, 500 }, 501 }})) 502 503 asserts.False(IsCAConfig( 504 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 505 Components: vzapi.ComponentSpec{ 506 ClusterIssuer: &vzapi.ClusterIssuerComponent{}, 507 }, 508 }})) 509 510 asserts.False(IsCAConfig( 511 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 512 Components: vzapi.ComponentSpec{ 513 ClusterIssuer: &vzapi.ClusterIssuerComponent{ 514 IssuerConfig: vzapi.IssuerConfig{LetsEncrypt: &vzapi.LetsEncryptACMEIssuer{}}, 515 }, 516 }, 517 }})) 518 } 519 520 // TestIsConsoleEnabled tests the IsConsoleEnabled function 521 // GIVEN a call to IsConsoleEnabled 522 // 523 // THEN the value of the Enabled flag is returned if present, true otherwise (enabled by default) 524 func TestIsConsoleEnabled(t *testing.T) { 525 asserts := assert.New(t) 526 asserts.True(IsConsoleEnabled(nil)) 527 asserts.True(IsConsoleEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 528 asserts.True(IsConsoleEnabled( 529 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 530 Components: vzapi.ComponentSpec{ 531 Console: &vzapi.ConsoleComponent{}, 532 }, 533 }})) 534 asserts.True(IsConsoleEnabled( 535 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 536 Components: vzapi.ComponentSpec{ 537 Console: &vzapi.ConsoleComponent{ 538 Enabled: &trueValue, 539 }, 540 }, 541 }})) 542 asserts.False(IsConsoleEnabled( 543 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 544 Components: vzapi.ComponentSpec{ 545 Console: &vzapi.ConsoleComponent{ 546 Enabled: &falseValue, 547 }, 548 }, 549 }})) 550 asserts.True(IsConsoleEnabled( 551 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 552 Components: installv1beta1.ComponentSpec{ 553 Console: &installv1beta1.ConsoleComponent{ 554 Enabled: &trueValue, 555 }, 556 }, 557 }})) 558 asserts.False(IsConsoleEnabled( 559 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 560 Components: installv1beta1.ComponentSpec{ 561 Console: &installv1beta1.ConsoleComponent{ 562 Enabled: &falseValue, 563 }, 564 }, 565 }})) 566 } 567 568 // TestIsFluentdEnabled tests the IsFluentdEnabled function 569 // GIVEN a call to IsFluentdEnabled 570 // 571 // THEN the value of the Enabled flag is returned if present, true otherwise (enabled by default) 572 func TestIsFluentdEnabled(t *testing.T) { 573 asserts := assert.New(t) 574 asserts.True(IsFluentdEnabled(nil)) 575 asserts.True(IsFluentdEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 576 asserts.True(IsFluentdEnabled( 577 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 578 Components: vzapi.ComponentSpec{ 579 Fluentd: &vzapi.FluentdComponent{}, 580 }, 581 }})) 582 asserts.True(IsFluentdEnabled( 583 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 584 Components: vzapi.ComponentSpec{ 585 Fluentd: &vzapi.FluentdComponent{ 586 Enabled: &trueValue, 587 }, 588 }, 589 }})) 590 asserts.False(IsFluentdEnabled( 591 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 592 Components: vzapi.ComponentSpec{ 593 Fluentd: &vzapi.FluentdComponent{ 594 Enabled: &falseValue, 595 }, 596 }, 597 }})) 598 asserts.True(IsFluentdEnabled( 599 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 600 Components: installv1beta1.ComponentSpec{ 601 Fluentd: &installv1beta1.FluentdComponent{ 602 Enabled: &trueValue, 603 }, 604 }, 605 }})) 606 asserts.False(IsFluentdEnabled( 607 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 608 Components: installv1beta1.ComponentSpec{ 609 Fluentd: &installv1beta1.FluentdComponent{ 610 Enabled: &falseValue, 611 }, 612 }, 613 }})) 614 } 615 616 // TestIsGrafanaEnabled tests the IsGrafanaEnabled function 617 // GIVEN a call to IsGrafanaEnabled 618 // 619 // THEN the value of the Enabled flag is returned if present, true otherwise (enabled by default) 620 func TestIsGrafanaEnabled(t *testing.T) { 621 asserts := assert.New(t) 622 asserts.True(IsGrafanaEnabled(nil)) 623 asserts.True(IsGrafanaEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 624 asserts.True(IsGrafanaEnabled( 625 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 626 Components: vzapi.ComponentSpec{ 627 Grafana: &vzapi.GrafanaComponent{}, 628 }, 629 }})) 630 asserts.True(IsGrafanaEnabled( 631 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 632 Components: vzapi.ComponentSpec{ 633 Grafana: &vzapi.GrafanaComponent{ 634 Enabled: &trueValue, 635 }, 636 }, 637 }})) 638 asserts.False(IsGrafanaEnabled( 639 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 640 Components: vzapi.ComponentSpec{ 641 Grafana: &vzapi.GrafanaComponent{ 642 Enabled: &falseValue, 643 }, 644 }, 645 }})) 646 asserts.True(IsGrafanaEnabled( 647 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 648 Components: installv1beta1.ComponentSpec{ 649 Grafana: &installv1beta1.GrafanaComponent{ 650 Enabled: &trueValue, 651 }, 652 }, 653 }})) 654 asserts.False(IsGrafanaEnabled( 655 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 656 Components: installv1beta1.ComponentSpec{ 657 Grafana: &installv1beta1.GrafanaComponent{ 658 Enabled: &falseValue, 659 }, 660 }, 661 }})) 662 } 663 664 // TestIsElasticsearchEnabled tests the IsOpenSearchEnabled function 665 // GIVEN a call to IsOpenSearchEnabled 666 // 667 // THEN the value of the Enabled flag is returned if present, true otherwise (enabled by default) 668 func TestIsElasticsearchEnabled(t *testing.T) { 669 asserts := assert.New(t) 670 asserts.True(IsOpenSearchEnabled(nil)) 671 asserts.True(IsOpenSearchEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 672 asserts.True(IsOpenSearchEnabled( 673 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 674 Components: vzapi.ComponentSpec{ 675 Elasticsearch: &vzapi.ElasticsearchComponent{}, 676 }, 677 }})) 678 asserts.True(IsOpenSearchEnabled( 679 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 680 Components: vzapi.ComponentSpec{ 681 Elasticsearch: &vzapi.ElasticsearchComponent{ 682 Enabled: &trueValue, 683 }, 684 }, 685 }})) 686 asserts.False(IsOpenSearchEnabled( 687 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 688 Components: vzapi.ComponentSpec{ 689 Elasticsearch: &vzapi.ElasticsearchComponent{ 690 Enabled: &falseValue, 691 }, 692 }, 693 }})) 694 asserts.True(IsOpenSearchEnabled( 695 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 696 Components: installv1beta1.ComponentSpec{ 697 OpenSearch: &installv1beta1.OpenSearchComponent{ 698 Enabled: &trueValue, 699 }, 700 }, 701 }})) 702 asserts.False(IsOpenSearchEnabled( 703 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 704 Components: installv1beta1.ComponentSpec{ 705 OpenSearch: &installv1beta1.OpenSearchComponent{ 706 Enabled: &falseValue, 707 }, 708 }, 709 }})) 710 } 711 712 // TestIsKibanaEnabled tests the IsOpenSearchDashboardsEnabled function 713 // GIVEN a call to IsOpenSearchDashboardsEnabled 714 // 715 // THEN the value of the Enabled flag is returned if present, true otherwise (enabled by default) 716 func TestIsKibanaEnabled(t *testing.T) { 717 asserts := assert.New(t) 718 asserts.True(IsOpenSearchDashboardsEnabled(nil)) 719 asserts.True(IsOpenSearchDashboardsEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 720 asserts.True(IsOpenSearchDashboardsEnabled( 721 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 722 Components: vzapi.ComponentSpec{ 723 Kibana: &vzapi.KibanaComponent{}, 724 }, 725 }})) 726 asserts.True(IsOpenSearchDashboardsEnabled( 727 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 728 Components: vzapi.ComponentSpec{ 729 Kibana: &vzapi.KibanaComponent{ 730 Enabled: &trueValue, 731 }, 732 }, 733 }})) 734 asserts.False(IsOpenSearchDashboardsEnabled( 735 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 736 Components: vzapi.ComponentSpec{ 737 Kibana: &vzapi.KibanaComponent{ 738 Enabled: &falseValue, 739 }, 740 }, 741 }})) 742 asserts.True(IsOpenSearchDashboardsEnabled( 743 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 744 Components: installv1beta1.ComponentSpec{ 745 OpenSearchDashboards: &installv1beta1.OpenSearchDashboardsComponent{ 746 Enabled: &trueValue, 747 }, 748 }, 749 }})) 750 asserts.False(IsOpenSearchDashboardsEnabled( 751 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 752 Components: installv1beta1.ComponentSpec{ 753 OpenSearchDashboards: &installv1beta1.OpenSearchDashboardsComponent{ 754 Enabled: &falseValue, 755 }, 756 }, 757 }})) 758 } 759 760 // TestIsPrometheusEnabled tests the IsPrometheusEnabled function 761 // GIVEN a call to IsPrometheusEnabled 762 // 763 // THEN the value of the Enabled flag is returned if present, true otherwise (enabled by default) 764 func TestIsPrometheusEnabled(t *testing.T) { 765 asserts := assert.New(t) 766 asserts.True(IsPrometheusEnabled(nil)) 767 asserts.True(IsPrometheusEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 768 asserts.True(IsPrometheusEnabled( 769 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 770 Components: vzapi.ComponentSpec{ 771 Prometheus: &vzapi.PrometheusComponent{}, 772 }, 773 }})) 774 asserts.True(IsPrometheusEnabled( 775 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 776 Components: vzapi.ComponentSpec{ 777 Prometheus: &vzapi.PrometheusComponent{ 778 Enabled: &trueValue, 779 }, 780 }, 781 }})) 782 asserts.False(IsPrometheusEnabled( 783 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 784 Components: vzapi.ComponentSpec{ 785 Prometheus: &vzapi.PrometheusComponent{ 786 Enabled: &falseValue, 787 }, 788 }, 789 }})) 790 asserts.True(IsPrometheusEnabled( 791 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 792 Components: installv1beta1.ComponentSpec{ 793 Prometheus: &installv1beta1.PrometheusComponent{ 794 Enabled: &trueValue, 795 }, 796 }, 797 }})) 798 asserts.False(IsPrometheusEnabled( 799 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 800 Components: installv1beta1.ComponentSpec{ 801 Prometheus: &installv1beta1.PrometheusComponent{ 802 Enabled: &falseValue, 803 }, 804 }, 805 }})) 806 } 807 808 // TestIsKialiEnabled tests the IsKialiEnabled function 809 // GIVEN a call to IsKialiEnabled 810 // 811 // THEN the value of the Enabled flag is returned if present, true otherwise (enabled by default) 812 func TestIsKialiEnabled(t *testing.T) { 813 asserts := assert.New(t) 814 asserts.True(IsKialiEnabled(nil)) 815 asserts.True(IsKialiEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 816 asserts.True(IsKialiEnabled( 817 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 818 Components: vzapi.ComponentSpec{ 819 Kiali: &vzapi.KialiComponent{}, 820 }, 821 }})) 822 asserts.True(IsKialiEnabled( 823 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 824 Components: vzapi.ComponentSpec{ 825 Kiali: &vzapi.KialiComponent{ 826 Enabled: &trueValue, 827 }, 828 }, 829 }})) 830 asserts.False(IsKialiEnabled( 831 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 832 Components: vzapi.ComponentSpec{ 833 Kiali: &vzapi.KialiComponent{ 834 Enabled: &falseValue, 835 }, 836 }, 837 }})) 838 asserts.True(IsKialiEnabled( 839 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 840 Components: installv1beta1.ComponentSpec{ 841 Kiali: &installv1beta1.KialiComponent{ 842 Enabled: &trueValue, 843 }, 844 }, 845 }})) 846 asserts.False(IsKialiEnabled( 847 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 848 Components: installv1beta1.ComponentSpec{ 849 Kiali: &installv1beta1.KialiComponent{ 850 Enabled: &falseValue, 851 }, 852 }, 853 }})) 854 } 855 856 // TestIsIstioEnabled tests the IsIstioEnabled function 857 // GIVEN a call to IsIstioEnabled 858 // 859 // THEN the value of the Enabled flag is returned if present, true otherwise (enabled by default) 860 func TestIsIstioEnabled(t *testing.T) { 861 asserts := assert.New(t) 862 asserts.True(IsIstioEnabled(nil)) 863 asserts.True(IsIstioEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 864 asserts.True(IsIstioEnabled( 865 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 866 Components: vzapi.ComponentSpec{ 867 Istio: &vzapi.IstioComponent{}, 868 }, 869 }})) 870 asserts.True(IsIstioEnabled( 871 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 872 Components: vzapi.ComponentSpec{ 873 Istio: &vzapi.IstioComponent{ 874 Enabled: &trueValue, 875 }, 876 }, 877 }})) 878 asserts.False(IsIstioEnabled( 879 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 880 Components: vzapi.ComponentSpec{ 881 Istio: &vzapi.IstioComponent{ 882 Enabled: &falseValue, 883 }, 884 }, 885 }})) 886 asserts.True(IsIstioEnabled( 887 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 888 Components: installv1beta1.ComponentSpec{ 889 Istio: &installv1beta1.IstioComponent{ 890 Enabled: &trueValue, 891 }, 892 }, 893 }})) 894 asserts.False(IsIstioEnabled( 895 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 896 Components: installv1beta1.ComponentSpec{ 897 Istio: &installv1beta1.IstioComponent{ 898 Enabled: &falseValue, 899 }, 900 }, 901 }})) 902 } 903 904 // TestIsIstioInjectionEnabled tests the IsIstioInjectionEnabled function 905 // GIVEN a call to IsIstioInjectionEnabled 906 // 907 // THEN return false if either Istio is disabled OR Injection is disabled, true otherwise 908 func TestIsIstioInjectionEnabled(t *testing.T) { 909 asserts := assert.New(t) 910 asserts.True(IsIstioInjectionEnabled(nil)) 911 asserts.True(IsIstioInjectionEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 912 asserts.True(IsIstioInjectionEnabled( 913 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 914 Components: vzapi.ComponentSpec{ 915 Istio: &vzapi.IstioComponent{}, 916 }, 917 }})) 918 asserts.True(IsIstioInjectionEnabled( 919 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 920 Components: vzapi.ComponentSpec{ 921 Istio: &vzapi.IstioComponent{ 922 Enabled: &trueValue, 923 }, 924 }, 925 }})) 926 asserts.False(IsIstioInjectionEnabled( 927 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 928 Components: vzapi.ComponentSpec{ 929 Istio: &vzapi.IstioComponent{ 930 Enabled: &trueValue, 931 InjectionEnabled: &falseValue, 932 }, 933 }, 934 }})) 935 asserts.False(IsIstioInjectionEnabled( 936 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 937 Components: vzapi.ComponentSpec{ 938 Istio: &vzapi.IstioComponent{ 939 Enabled: &falseValue, 940 }, 941 }, 942 }})) 943 asserts.True(IsIstioInjectionEnabled( 944 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 945 Components: installv1beta1.ComponentSpec{ 946 Istio: &installv1beta1.IstioComponent{ 947 Enabled: &trueValue, 948 }, 949 }, 950 }})) 951 asserts.False(IsIstioInjectionEnabled( 952 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 953 Components: installv1beta1.ComponentSpec{ 954 Istio: &installv1beta1.IstioComponent{ 955 Enabled: &trueValue, 956 InjectionEnabled: &falseValue, 957 }, 958 }, 959 }})) 960 asserts.False(IsIstioInjectionEnabled( 961 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 962 Components: installv1beta1.ComponentSpec{ 963 Istio: &installv1beta1.IstioComponent{ 964 Enabled: &falseValue, 965 }, 966 }, 967 }})) 968 } 969 970 // TestIsNGINXEnabled tests the IsNGINXEnabled function 971 // GIVEN a call to IsNGINXEnabled 972 // 973 // THEN the value of the Enabled flag is returned if present, true otherwise (enabled by default) 974 func TestIsNGINXEnabled(t *testing.T) { 975 asserts := assert.New(t) 976 asserts.True(IsNGINXEnabled(nil)) 977 asserts.True(IsNGINXEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 978 asserts.True(IsNGINXEnabled( 979 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 980 Components: vzapi.ComponentSpec{ 981 Ingress: &vzapi.IngressNginxComponent{}, 982 }, 983 }})) 984 asserts.True(IsNGINXEnabled( 985 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 986 Components: vzapi.ComponentSpec{ 987 Ingress: &vzapi.IngressNginxComponent{ 988 Enabled: &trueValue, 989 }, 990 }, 991 }})) 992 asserts.False(IsNGINXEnabled( 993 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 994 Components: vzapi.ComponentSpec{ 995 Ingress: &vzapi.IngressNginxComponent{ 996 Enabled: &falseValue, 997 }, 998 }, 999 }})) 1000 asserts.True(IsNGINXEnabled( 1001 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1002 Components: installv1beta1.ComponentSpec{ 1003 IngressNGINX: &installv1beta1.IngressNginxComponent{ 1004 Enabled: &trueValue, 1005 }, 1006 }, 1007 }})) 1008 asserts.False(IsNGINXEnabled( 1009 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1010 Components: installv1beta1.ComponentSpec{ 1011 IngressNGINX: &installv1beta1.IngressNginxComponent{ 1012 Enabled: &falseValue, 1013 }, 1014 }, 1015 }})) 1016 } 1017 1018 // TestIsJaegerOperatorEnabled tests the IsJaegerOperatorEnabled function 1019 // GIVEN a call to IsJaegerOperatorEnabled 1020 // 1021 // THEN the value of the Enabled flag is returned if present, false otherwise (disabled by default) 1022 func TestIsJaegerOperatorEnabled(t *testing.T) { 1023 asserts := assert.New(t) 1024 asserts.False(IsJaegerOperatorEnabled(nil)) 1025 asserts.False(IsJaegerOperatorEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 1026 asserts.False(IsJaegerOperatorEnabled( 1027 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1028 Components: vzapi.ComponentSpec{ 1029 JaegerOperator: &vzapi.JaegerOperatorComponent{}, 1030 }, 1031 }})) 1032 asserts.True(IsJaegerOperatorEnabled( 1033 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1034 Components: vzapi.ComponentSpec{ 1035 JaegerOperator: &vzapi.JaegerOperatorComponent{ 1036 Enabled: &trueValue, 1037 }, 1038 }, 1039 }})) 1040 asserts.False(IsJaegerOperatorEnabled( 1041 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1042 Components: vzapi.ComponentSpec{ 1043 JaegerOperator: &vzapi.JaegerOperatorComponent{ 1044 Enabled: &falseValue, 1045 }, 1046 }, 1047 }})) 1048 asserts.True(IsJaegerOperatorEnabled( 1049 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1050 Components: installv1beta1.ComponentSpec{ 1051 JaegerOperator: &installv1beta1.JaegerOperatorComponent{ 1052 Enabled: &trueValue, 1053 }, 1054 }, 1055 }})) 1056 asserts.False(IsJaegerOperatorEnabled( 1057 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1058 Components: installv1beta1.ComponentSpec{ 1059 JaegerOperator: &installv1beta1.JaegerOperatorComponent{ 1060 Enabled: &falseValue, 1061 }, 1062 }, 1063 }})) 1064 } 1065 1066 // TestIsApplicationOperatorEnabled tests the IsApplicationOperatorEnabled function 1067 // GIVEN a call to IsApplicationOperatorEnabled 1068 // 1069 // THEN the value of the Enabled flag is returned if present, false otherwise (disabled by default) 1070 func TestIsApplicationOperatorEnabled(t *testing.T) { 1071 asserts := assert.New(t) 1072 asserts.True(IsApplicationOperatorEnabled(nil)) 1073 asserts.True(IsApplicationOperatorEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 1074 asserts.True(IsApplicationOperatorEnabled( 1075 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1076 Components: vzapi.ComponentSpec{ 1077 ApplicationOperator: &vzapi.ApplicationOperatorComponent{}, 1078 }, 1079 }})) 1080 asserts.True(IsApplicationOperatorEnabled( 1081 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1082 Components: vzapi.ComponentSpec{ 1083 ApplicationOperator: &vzapi.ApplicationOperatorComponent{ 1084 Enabled: &trueValue, 1085 }, 1086 }, 1087 }})) 1088 asserts.False(IsApplicationOperatorEnabled( 1089 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1090 Components: vzapi.ComponentSpec{ 1091 ApplicationOperator: &vzapi.ApplicationOperatorComponent{ 1092 Enabled: &falseValue, 1093 }, 1094 }, 1095 }})) 1096 asserts.True(IsApplicationOperatorEnabled( 1097 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1098 Components: installv1beta1.ComponentSpec{ 1099 ApplicationOperator: &installv1beta1.ApplicationOperatorComponent{ 1100 Enabled: &trueValue, 1101 }, 1102 }, 1103 }})) 1104 asserts.False(IsApplicationOperatorEnabled( 1105 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1106 Components: installv1beta1.ComponentSpec{ 1107 ApplicationOperator: &installv1beta1.ApplicationOperatorComponent{ 1108 Enabled: &falseValue, 1109 }, 1110 }, 1111 }})) 1112 } 1113 1114 // TestIsVeleroEnabled tests the IsVeleroEnabled function 1115 // GIVEN a call to IsVeleroEnabled 1116 // 1117 // THEN the value of the Enabled flag is returned if present, false otherwise (disabled by default) 1118 func TestIsVeleroEnabled(t *testing.T) { 1119 asserts := assert.New(t) 1120 asserts.False(IsVeleroEnabled(nil)) 1121 asserts.False(IsVeleroEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 1122 asserts.False(IsVeleroEnabled( 1123 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1124 Components: vzapi.ComponentSpec{ 1125 Velero: &vzapi.VeleroComponent{}, 1126 }, 1127 }})) 1128 asserts.True(IsVeleroEnabled( 1129 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1130 Components: vzapi.ComponentSpec{ 1131 Velero: &vzapi.VeleroComponent{ 1132 Enabled: &trueValue, 1133 }, 1134 }, 1135 }})) 1136 asserts.False(IsVeleroEnabled( 1137 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1138 Components: vzapi.ComponentSpec{ 1139 Velero: &vzapi.VeleroComponent{ 1140 Enabled: &falseValue, 1141 }, 1142 }, 1143 }})) 1144 asserts.True(IsVeleroEnabled( 1145 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1146 Components: installv1beta1.ComponentSpec{ 1147 Velero: &installv1beta1.VeleroComponent{ 1148 Enabled: &trueValue, 1149 }, 1150 }, 1151 }})) 1152 asserts.False(IsVeleroEnabled( 1153 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1154 Components: installv1beta1.ComponentSpec{ 1155 Velero: &installv1beta1.VeleroComponent{ 1156 Enabled: &falseValue, 1157 }, 1158 }, 1159 }})) 1160 } 1161 1162 // TestIsCertManagerEnabled tests the IsCertManagerEnabled function 1163 // GIVEN a call to IsCertManagerEnabled 1164 // WHEN the CertManager component is explicitly disabled 1165 // THEN return false, true otherwise (enabled by default) 1166 func TestIsCertManagerEnabled(t *testing.T) { 1167 asserts := assert.New(t) 1168 asserts.True(IsCertManagerEnabled(nil)) 1169 asserts.True(IsCertManagerEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 1170 asserts.True(IsCertManagerEnabled( 1171 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1172 Components: vzapi.ComponentSpec{ 1173 CertManager: &vzapi.CertManagerComponent{}, 1174 }, 1175 }})) 1176 asserts.True(IsCertManagerEnabled( 1177 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1178 Components: vzapi.ComponentSpec{ 1179 CertManager: &vzapi.CertManagerComponent{ 1180 Enabled: &trueValue, 1181 }, 1182 }, 1183 }})) 1184 asserts.False(IsCertManagerEnabled( 1185 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1186 Components: vzapi.ComponentSpec{ 1187 CertManager: &vzapi.CertManagerComponent{ 1188 Enabled: &falseValue, 1189 }, 1190 }, 1191 }})) 1192 asserts.True(IsCertManagerEnabled( 1193 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1194 Components: installv1beta1.ComponentSpec{ 1195 CertManager: &installv1beta1.CertManagerComponent{ 1196 Enabled: &trueValue, 1197 }, 1198 }, 1199 }})) 1200 asserts.False(IsCertManagerEnabled( 1201 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1202 Components: installv1beta1.ComponentSpec{ 1203 CertManager: &installv1beta1.CertManagerComponent{ 1204 Enabled: &falseValue, 1205 }, 1206 }, 1207 }})) 1208 } 1209 1210 // TestIsKubeStateMetricsEnabled tests the IsKubeStateMetricsEnabled function 1211 // GIVEN a call to IsKubeStateMetricsEnabled 1212 // WHEN the KubeStateMetrics component is explicitly enabled 1213 // THEN return true, false otherwise (disabled by default) 1214 func TestIsKubeStateMetricsEnabled(t *testing.T) { 1215 asserts := assert.New(t) 1216 asserts.False(IsKubeStateMetricsEnabled(nil)) 1217 asserts.False(IsKubeStateMetricsEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 1218 asserts.False(IsKubeStateMetricsEnabled( 1219 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1220 Components: vzapi.ComponentSpec{ 1221 KubeStateMetrics: &vzapi.KubeStateMetricsComponent{}, 1222 }, 1223 }})) 1224 asserts.True(IsKubeStateMetricsEnabled( 1225 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1226 Components: vzapi.ComponentSpec{ 1227 KubeStateMetrics: &vzapi.KubeStateMetricsComponent{ 1228 Enabled: &trueValue, 1229 }, 1230 }, 1231 }})) 1232 asserts.False(IsKubeStateMetricsEnabled( 1233 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1234 Components: vzapi.ComponentSpec{ 1235 KubeStateMetrics: &vzapi.KubeStateMetricsComponent{ 1236 Enabled: &falseValue, 1237 }, 1238 }, 1239 }})) 1240 asserts.True(IsKubeStateMetricsEnabled( 1241 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1242 Components: installv1beta1.ComponentSpec{ 1243 KubeStateMetrics: &installv1beta1.KubeStateMetricsComponent{ 1244 Enabled: &trueValue, 1245 }, 1246 }, 1247 }})) 1248 asserts.False(IsKubeStateMetricsEnabled( 1249 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1250 Components: installv1beta1.ComponentSpec{ 1251 KubeStateMetrics: &installv1beta1.KubeStateMetricsComponent{ 1252 Enabled: &falseValue, 1253 }, 1254 }, 1255 }})) 1256 } 1257 1258 // TestIsAuthProxyEnabled tests the IsAuthProxyEnabled function 1259 // GIVEN a call to IsAuthProxyEnabled 1260 // WHEN the AuthProxy component is explicitly disabled 1261 // THEN return false, true otherwise (enabled by default) 1262 func TestIsAuthProxyEnabled(t *testing.T) { 1263 asserts := assert.New(t) 1264 asserts.True(IsAuthProxyEnabled(nil)) 1265 asserts.True(IsAuthProxyEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 1266 asserts.True(IsAuthProxyEnabled( 1267 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1268 Components: vzapi.ComponentSpec{ 1269 AuthProxy: &vzapi.AuthProxyComponent{}, 1270 }, 1271 }})) 1272 asserts.True(IsAuthProxyEnabled( 1273 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1274 Components: vzapi.ComponentSpec{ 1275 AuthProxy: &vzapi.AuthProxyComponent{ 1276 Enabled: &trueValue, 1277 }, 1278 }, 1279 }})) 1280 asserts.False(IsAuthProxyEnabled( 1281 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1282 Components: vzapi.ComponentSpec{ 1283 AuthProxy: &vzapi.AuthProxyComponent{ 1284 Enabled: &falseValue, 1285 }, 1286 }, 1287 }})) 1288 asserts.True(IsAuthProxyEnabled( 1289 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1290 Components: installv1beta1.ComponentSpec{ 1291 AuthProxy: &installv1beta1.AuthProxyComponent{ 1292 Enabled: &trueValue, 1293 }, 1294 }, 1295 }})) 1296 asserts.False(IsAuthProxyEnabled( 1297 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1298 Components: installv1beta1.ComponentSpec{ 1299 AuthProxy: &installv1beta1.AuthProxyComponent{ 1300 Enabled: &falseValue, 1301 }, 1302 }, 1303 }})) 1304 } 1305 1306 // TestIsRancherBackupEnabled tests the IsRancherBackupEnabled function 1307 // GIVEN a call to IsRancherBackupEnabled 1308 // WHEN the RancherBackup component is explicitly enabled 1309 // THEN return true, false otherwise (disabled by default) 1310 func TestIsRancherBackupEnabled(t *testing.T) { 1311 asserts := assert.New(t) 1312 asserts.False(IsRancherBackupEnabled(nil)) 1313 asserts.False(IsRancherBackupEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 1314 asserts.False(IsRancherBackupEnabled( 1315 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1316 Components: vzapi.ComponentSpec{ 1317 RancherBackup: &vzapi.RancherBackupComponent{}, 1318 }, 1319 }})) 1320 asserts.True(IsRancherBackupEnabled( 1321 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1322 Components: vzapi.ComponentSpec{ 1323 RancherBackup: &vzapi.RancherBackupComponent{ 1324 Enabled: &trueValue, 1325 }, 1326 }, 1327 }})) 1328 asserts.False(IsRancherBackupEnabled( 1329 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1330 Components: vzapi.ComponentSpec{ 1331 RancherBackup: &vzapi.RancherBackupComponent{ 1332 Enabled: &falseValue, 1333 }, 1334 }, 1335 }})) 1336 asserts.True(IsRancherBackupEnabled( 1337 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1338 Components: installv1beta1.ComponentSpec{ 1339 RancherBackup: &installv1beta1.RancherBackupComponent{ 1340 Enabled: &trueValue, 1341 }, 1342 }, 1343 }})) 1344 asserts.False(IsRancherBackupEnabled( 1345 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1346 Components: installv1beta1.ComponentSpec{ 1347 RancherBackup: &installv1beta1.RancherBackupComponent{ 1348 Enabled: &falseValue, 1349 }, 1350 }, 1351 }})) 1352 } 1353 1354 // TestIsPrometheusComponentsEnabled tests whether the PrometheusComponents are enabled or not 1355 // GIVEN a call to isEnabled function of a Prometheus component 1356 // WHEN the Prometheus component is explicitly enabled or disabled 1357 // THEN return the value as expected in the enabled variable 1358 func TestIsPrometheusComponentsEnabled(t *testing.T) { 1359 var tests = []struct { 1360 name string 1361 cr runtime.Object 1362 enabled bool 1363 isEnabled func(object runtime.Object) bool 1364 }{ 1365 // Prometheus Operator 1366 { 1367 "Prometheus Operator enabled when empty v1alpha1 CR", 1368 &vzapi.Verrazzano{}, 1369 true, 1370 IsPrometheusOperatorEnabled, 1371 }, 1372 { 1373 "Prometheus Operator enabled when empty v1beta1 CR", 1374 &installv1beta1.Verrazzano{}, 1375 true, 1376 IsPrometheusOperatorEnabled, 1377 }, 1378 { 1379 "Prometheus Operator enabled when component enabled, v1alpha1 CR", 1380 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{PrometheusOperator: &vzapi.PrometheusOperatorComponent{Enabled: &trueValue}}}}, 1381 true, 1382 IsPrometheusOperatorEnabled, 1383 }, 1384 { 1385 "Prometheus Operator enabled when component enabled, v1beta1 CR", 1386 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{PrometheusOperator: &installv1beta1.PrometheusOperatorComponent{Enabled: &trueValue}}}}, 1387 true, 1388 IsPrometheusOperatorEnabled, 1389 }, 1390 { 1391 "Prometheus Operator disabled when component disabled, v1alpha1 CR", 1392 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{PrometheusOperator: &vzapi.PrometheusOperatorComponent{Enabled: &falseValue}}}}, 1393 false, 1394 IsPrometheusOperatorEnabled, 1395 }, 1396 { 1397 "Prometheus Operator disabled when component disabled, v1beta1 CR", 1398 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{PrometheusOperator: &installv1beta1.PrometheusOperatorComponent{Enabled: &falseValue}}}}, 1399 false, 1400 IsPrometheusOperatorEnabled, 1401 }, 1402 // Prometheus Adapter 1403 { 1404 "Prometheus Adapter disabled when empty v1alpha1 CR", 1405 &vzapi.Verrazzano{}, 1406 false, 1407 IsPrometheusAdapterEnabled, 1408 }, 1409 { 1410 "Prometheus Adapter disabled when empty v1beta1 CR", 1411 &installv1beta1.Verrazzano{}, 1412 false, 1413 IsPrometheusAdapterEnabled, 1414 }, 1415 { 1416 "Prometheus Adapter enabled when component enabled, v1alpha1 CR", 1417 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{PrometheusAdapter: &vzapi.PrometheusAdapterComponent{Enabled: &trueValue}}}}, 1418 true, 1419 IsPrometheusAdapterEnabled, 1420 }, 1421 { 1422 "Prometheus Adapter enabled when component enabled, v1beta1 CR", 1423 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{PrometheusAdapter: &installv1beta1.PrometheusAdapterComponent{Enabled: &trueValue}}}}, 1424 true, 1425 IsPrometheusAdapterEnabled, 1426 }, 1427 { 1428 "Prometheus Adapter disabled when component disabled, v1alpha1 CR", 1429 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{PrometheusAdapter: &vzapi.PrometheusAdapterComponent{Enabled: &falseValue}}}}, 1430 false, 1431 IsPrometheusAdapterEnabled, 1432 }, 1433 { 1434 "Prometheus Adapter disabled when component disabled, v1beta1 CR", 1435 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{PrometheusAdapter: &installv1beta1.PrometheusAdapterComponent{Enabled: &falseValue}}}}, 1436 false, 1437 IsPrometheusAdapterEnabled, 1438 }, 1439 // Prometheus Pushgateway 1440 { 1441 "Prometheus Pushgateway disabled when empty v1alpha1 CR", 1442 &vzapi.Verrazzano{}, 1443 false, 1444 IsPrometheusPushgatewayEnabled, 1445 }, 1446 { 1447 "Prometheus Pushgateway disabled when empty v1beta1 CR", 1448 &installv1beta1.Verrazzano{}, 1449 false, 1450 IsPrometheusPushgatewayEnabled, 1451 }, 1452 { 1453 "Prometheus Pushgateway enabled when component enabled, v1alpha1 CR", 1454 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{PrometheusPushgateway: &vzapi.PrometheusPushgatewayComponent{Enabled: &trueValue}}}}, 1455 true, 1456 IsPrometheusPushgatewayEnabled, 1457 }, 1458 { 1459 "Prometheus Pushgateway enabled when component enabled, v1beta1 CR", 1460 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{PrometheusPushgateway: &installv1beta1.PrometheusPushgatewayComponent{Enabled: &trueValue}}}}, 1461 true, 1462 IsPrometheusPushgatewayEnabled, 1463 }, 1464 { 1465 "Prometheus Pushgateway disabled when component disabled, v1alpha1 CR", 1466 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{PrometheusPushgateway: &vzapi.PrometheusPushgatewayComponent{Enabled: &falseValue}}}}, 1467 false, 1468 IsPrometheusPushgatewayEnabled, 1469 }, 1470 { 1471 "Prometheus Pushgateway disabled when component disabled, v1beta1 CR", 1472 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{PrometheusPushgateway: &installv1beta1.PrometheusPushgatewayComponent{Enabled: &falseValue}}}}, 1473 false, 1474 IsPrometheusPushgatewayEnabled, 1475 }, 1476 // Prometheus NodeExporter 1477 { 1478 "Prometheus NodeExporter enabled when empty v1alpha1 CR", 1479 &vzapi.Verrazzano{}, 1480 true, 1481 IsPrometheusNodeExporterEnabled, 1482 }, 1483 { 1484 "Prometheus NodeExporter enabled when empty v1beta1 CR", 1485 &installv1beta1.Verrazzano{}, 1486 true, 1487 IsPrometheusNodeExporterEnabled, 1488 }, 1489 { 1490 "Prometheus NodeExporter enabled when component enabled, v1alpha1 CR", 1491 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{PrometheusNodeExporter: &vzapi.PrometheusNodeExporterComponent{Enabled: &trueValue}}}}, 1492 true, 1493 IsPrometheusNodeExporterEnabled, 1494 }, 1495 { 1496 "Prometheus NodeExporter enabled when component enabled, v1beta1 CR", 1497 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{PrometheusNodeExporter: &installv1beta1.PrometheusNodeExporterComponent{Enabled: &trueValue}}}}, 1498 true, 1499 IsPrometheusNodeExporterEnabled, 1500 }, 1501 { 1502 "Prometheus NodeExporter disabled when component disabled, v1alpha1 CR", 1503 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{PrometheusNodeExporter: &vzapi.PrometheusNodeExporterComponent{Enabled: &falseValue}}}}, 1504 false, 1505 IsPrometheusNodeExporterEnabled, 1506 }, 1507 { 1508 "Prometheus NodeExporter disabled when component disabled, v1beta1 CR", 1509 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{PrometheusNodeExporter: &installv1beta1.PrometheusNodeExporterComponent{Enabled: &falseValue}}}}, 1510 false, 1511 IsPrometheusNodeExporterEnabled, 1512 }, 1513 } 1514 for _, tt := range tests { 1515 t.Run(tt.name, func(t *testing.T) { 1516 assert.Equal(t, tt.enabled, tt.isEnabled(tt.cr)) 1517 }) 1518 } 1519 } 1520 1521 // TestIsArgoCDEnabled tests the IsArgoCDEnabled function 1522 // GIVEN a call to IsArgoCDEnabled 1523 // 1524 // THEN the value of the Enabled flag is returned if present, false otherwise (disabled by default) 1525 func TestIsArgoCDEnabled(t *testing.T) { 1526 asserts := assert.New(t) 1527 asserts.False(IsArgoCDEnabled(nil)) 1528 asserts.False(IsArgoCDEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 1529 asserts.False(IsArgoCDEnabled( 1530 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1531 Components: vzapi.ComponentSpec{ 1532 ArgoCD: &vzapi.ArgoCDComponent{}, 1533 }, 1534 }})) 1535 asserts.True(IsArgoCDEnabled( 1536 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1537 Components: vzapi.ComponentSpec{ 1538 ArgoCD: &vzapi.ArgoCDComponent{ 1539 Enabled: &trueValue, 1540 }, 1541 }, 1542 }})) 1543 asserts.False(IsArgoCDEnabled( 1544 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1545 Components: vzapi.ComponentSpec{ 1546 ArgoCD: &vzapi.ArgoCDComponent{ 1547 Enabled: &falseValue, 1548 }, 1549 }, 1550 }})) 1551 } 1552 1553 func TestIsComponentEnabled(t *testing.T) { 1554 var tests = []struct { 1555 name string 1556 cr runtime.Object 1557 enabled bool 1558 isEnabled func(object runtime.Object) bool 1559 }{ 1560 // WKO 1561 { 1562 "wko enabled when empty v1alpha1 CR", 1563 &vzapi.Verrazzano{}, 1564 true, 1565 IsWebLogicOperatorEnabled, 1566 }, 1567 { 1568 "wko enabled when empty v1beta1 CR", 1569 &installv1beta1.Verrazzano{}, 1570 true, 1571 IsWebLogicOperatorEnabled, 1572 }, 1573 { 1574 "wko enabled when component enabled, v1alpha1 CR", 1575 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{WebLogicOperator: &vzapi.WebLogicOperatorComponent{Enabled: &enabled}}}}, 1576 true, 1577 IsWebLogicOperatorEnabled, 1578 }, 1579 { 1580 "wko enabled when component enabled, v1beta1 CR", 1581 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{WebLogicOperator: &installv1beta1.WebLogicOperatorComponent{Enabled: &enabled}}}}, 1582 true, 1583 IsWebLogicOperatorEnabled, 1584 }, 1585 { 1586 "wko disabled when component disabled, v1alpha1 CR", 1587 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{WebLogicOperator: &vzapi.WebLogicOperatorComponent{Enabled: &disabled}}}}, 1588 false, 1589 IsWebLogicOperatorEnabled, 1590 }, 1591 { 1592 "wko disabled when component disabled, v1beta1 CR", 1593 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{WebLogicOperator: &installv1beta1.WebLogicOperatorComponent{Enabled: &disabled}}}}, 1594 false, 1595 IsWebLogicOperatorEnabled, 1596 }, 1597 1598 // COH 1599 { 1600 "coh enabled when empty v1alpha1 CR", 1601 &vzapi.Verrazzano{}, 1602 true, 1603 IsCoherenceOperatorEnabled, 1604 }, 1605 { 1606 "coh enabled when empty v1beta1 CR", 1607 &installv1beta1.Verrazzano{}, 1608 true, 1609 IsCoherenceOperatorEnabled, 1610 }, 1611 { 1612 "coh enabled when component enabled, v1alpha1 CR", 1613 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{CoherenceOperator: &vzapi.CoherenceOperatorComponent{Enabled: &enabled}}}}, 1614 true, 1615 IsCoherenceOperatorEnabled, 1616 }, 1617 { 1618 "coh enabled when component enabled, v1beta1 CR", 1619 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{CoherenceOperator: &installv1beta1.CoherenceOperatorComponent{Enabled: &enabled}}}}, 1620 true, 1621 IsCoherenceOperatorEnabled, 1622 }, 1623 { 1624 "coh disabled when component disabled, v1alpha1 CR", 1625 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{CoherenceOperator: &vzapi.CoherenceOperatorComponent{Enabled: &disabled}}}}, 1626 false, 1627 IsCoherenceOperatorEnabled, 1628 }, 1629 { 1630 "coh disabled when component disabled, v1beta1 CR", 1631 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{CoherenceOperator: &installv1beta1.CoherenceOperatorComponent{Enabled: &disabled}}}}, 1632 false, 1633 IsCoherenceOperatorEnabled, 1634 }, 1635 1636 // Verrazzano Component 1637 { 1638 "vz enabled when empty v1alpha1 CR", 1639 &vzapi.Verrazzano{}, 1640 true, 1641 IsVerrazzanoComponentEnabled, 1642 }, 1643 { 1644 "vz enabled when empty v1beta1 CR", 1645 &installv1beta1.Verrazzano{}, 1646 true, 1647 IsVerrazzanoComponentEnabled, 1648 }, 1649 { 1650 "vz enabled when component enabled, v1alpha1 CR", 1651 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{Verrazzano: &vzapi.VerrazzanoComponent{Enabled: &enabled}}}}, 1652 true, 1653 IsVerrazzanoComponentEnabled, 1654 }, 1655 { 1656 "vz enabled when component enabled, v1beta1 CR", 1657 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{Verrazzano: &installv1beta1.VerrazzanoComponent{Enabled: &enabled}}}}, 1658 true, 1659 IsVerrazzanoComponentEnabled, 1660 }, 1661 { 1662 "vz disabled when component disabled, v1alpha1 CR", 1663 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{Verrazzano: &vzapi.VerrazzanoComponent{Enabled: &disabled}}}}, 1664 false, 1665 IsVerrazzanoComponentEnabled, 1666 }, 1667 { 1668 "vz disabled when component disabled, v1beta1 CR", 1669 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{Verrazzano: &installv1beta1.VerrazzanoComponent{Enabled: &disabled}}}}, 1670 false, 1671 IsVerrazzanoComponentEnabled, 1672 }, 1673 1674 // OAM 1675 { 1676 "oam enabled when empty v1alpha1 CR", 1677 &vzapi.Verrazzano{}, 1678 true, 1679 IsCoherenceOperatorEnabled, 1680 }, 1681 { 1682 "oam enabled when empty v1beta1 CR", 1683 &installv1beta1.Verrazzano{}, 1684 true, 1685 IsOAMEnabled, 1686 }, 1687 { 1688 "oam enabled when component enabled, v1alpha1 CR", 1689 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{OAM: &vzapi.OAMComponent{Enabled: &enabled}}}}, 1690 true, 1691 IsOAMEnabled, 1692 }, 1693 { 1694 "oam enabled when component enabled, v1beta1 CR", 1695 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{OAM: &installv1beta1.OAMComponent{Enabled: &enabled}}}}, 1696 true, 1697 IsOAMEnabled, 1698 }, 1699 { 1700 "oam disabled when component disabled, v1alpha1 CR", 1701 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{OAM: &vzapi.OAMComponent{Enabled: &disabled}}}}, 1702 false, 1703 IsOAMEnabled, 1704 }, 1705 { 1706 "oam disabled when component disabled, v1beta1 CR", 1707 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{OAM: &installv1beta1.OAMComponent{Enabled: &disabled}}}}, 1708 false, 1709 IsOAMEnabled, 1710 }, 1711 1712 // MySQL Operator 1713 { 1714 "mysqlop enabled when empty v1alpha1 CR", 1715 &vzapi.Verrazzano{}, 1716 true, 1717 IsMySQLOperatorEnabled, 1718 }, 1719 { 1720 "mysqlop enabled when empty v1beta1 CR", 1721 &installv1beta1.Verrazzano{}, 1722 true, 1723 IsMySQLOperatorEnabled, 1724 }, 1725 { 1726 "mysqlop enabled when component enabled, v1alpha1 CR", 1727 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{MySQLOperator: &vzapi.MySQLOperatorComponent{Enabled: &enabled}}}}, 1728 true, 1729 IsMySQLOperatorEnabled, 1730 }, 1731 { 1732 "mysqlop enabled when component enabled, v1beta1 CR", 1733 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{MySQLOperator: &installv1beta1.MySQLOperatorComponent{Enabled: &enabled}}}}, 1734 true, 1735 IsMySQLOperatorEnabled, 1736 }, 1737 { 1738 "mysqlop disabled when component disabled, v1alpha1 CR", 1739 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{MySQLOperator: &vzapi.MySQLOperatorComponent{Enabled: &disabled}}}}, 1740 false, 1741 IsMySQLOperatorEnabled, 1742 }, 1743 { 1744 "mysqlop disabled when component disabled, v1beta1 CR", 1745 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{MySQLOperator: &installv1beta1.MySQLOperatorComponent{Enabled: &disabled}}}}, 1746 false, 1747 IsMySQLOperatorEnabled, 1748 }, 1749 } 1750 1751 for _, tt := range tests { 1752 t.Run(tt.name, func(t *testing.T) { 1753 assert.Equal(t, tt.enabled, tt.isEnabled(tt.cr)) 1754 }) 1755 } 1756 } 1757 1758 // TestIsFluentOperatorEnabled tests the IsFluentOperatorEnabled function 1759 // GIVEN a call to IsFluentOperatorEnabled 1760 // 1761 // THEN the value of the Enabled flag is returned if present, false otherwise (disabled by default) 1762 func TestIsFluentOperatorEnabled(t *testing.T) { 1763 asserts := assert.New(t) 1764 asserts.False(IsFluentOperatorEnabled(nil)) 1765 asserts.False(IsFluentOperatorEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 1766 asserts.False(IsFluentOperatorEnabled( 1767 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1768 Components: vzapi.ComponentSpec{ 1769 FluentOperator: &vzapi.FluentOperatorComponent{}, 1770 }, 1771 }})) 1772 asserts.True(IsFluentOperatorEnabled( 1773 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1774 Components: vzapi.ComponentSpec{ 1775 FluentOperator: &vzapi.FluentOperatorComponent{ 1776 Enabled: &trueValue, 1777 }, 1778 }, 1779 }})) 1780 asserts.False(IsFluentOperatorEnabled( 1781 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1782 Components: vzapi.ComponentSpec{ 1783 FluentOperator: &vzapi.FluentOperatorComponent{ 1784 Enabled: &falseValue, 1785 }, 1786 }, 1787 }})) 1788 asserts.True(IsFluentOperatorEnabled( 1789 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1790 Components: installv1beta1.ComponentSpec{ 1791 FluentOperator: &installv1beta1.FluentOperatorComponent{ 1792 Enabled: &trueValue, 1793 }, 1794 }, 1795 }})) 1796 asserts.False(IsFluentOperatorEnabled( 1797 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1798 Components: installv1beta1.ComponentSpec{ 1799 FluentOperator: &installv1beta1.FluentOperatorComponent{ 1800 Enabled: &falseValue, 1801 }, 1802 }, 1803 }})) 1804 } 1805 1806 // TestIsFluentbitOpensearchOutputEnabled tests the IsFluentbitOpensearchOutputEnabled function 1807 // GIVEN a call to IsFluentbitOpensearchOutputEnabled 1808 // 1809 // THEN the value of the Enabled flag is returned if present, false otherwise (disabled by default). 1810 func TestIsFluentbitOpensearchOutputEnabled(t *testing.T) { 1811 asserts := assert.New(t) 1812 asserts.False(IsFluentbitOpensearchOutputEnabled(nil)) 1813 asserts.False(IsFluentbitOpensearchOutputEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 1814 asserts.False(IsFluentbitOpensearchOutputEnabled( 1815 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1816 Components: vzapi.ComponentSpec{ 1817 FluentbitOpensearchOutput: &vzapi.FluentbitOpensearchOutputComponent{}, 1818 }, 1819 }})) 1820 asserts.True(IsFluentbitOpensearchOutputEnabled( 1821 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1822 Components: vzapi.ComponentSpec{ 1823 FluentbitOpensearchOutput: &vzapi.FluentbitOpensearchOutputComponent{ 1824 Enabled: &trueValue, 1825 }, 1826 }, 1827 }})) 1828 asserts.False(IsFluentbitOpensearchOutputEnabled( 1829 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1830 Components: vzapi.ComponentSpec{ 1831 FluentbitOpensearchOutput: &vzapi.FluentbitOpensearchOutputComponent{ 1832 Enabled: &falseValue, 1833 }, 1834 }, 1835 }})) 1836 asserts.True(IsFluentbitOpensearchOutputEnabled( 1837 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1838 Components: installv1beta1.ComponentSpec{ 1839 FluentbitOpensearchOutput: &installv1beta1.FluentbitOpensearchOutputComponent{ 1840 Enabled: &trueValue, 1841 }, 1842 }, 1843 }})) 1844 asserts.False(IsFluentbitOpensearchOutputEnabled( 1845 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1846 Components: installv1beta1.ComponentSpec{ 1847 FluentbitOpensearchOutput: &installv1beta1.FluentbitOpensearchOutputComponent{ 1848 Enabled: &falseValue, 1849 }, 1850 }, 1851 }})) 1852 } 1853 1854 // TestIsVMOEnabled tests the IsVMOEnabled function 1855 // GIVEN a call to IsVMOEnabled 1856 // 1857 // THEN the value of the Enabled flag is returned if present, true otherwise (enabled by default) 1858 func TestIsVMOEnabled(t *testing.T) { 1859 var tests = []struct { 1860 name string 1861 cr runtime.Object 1862 enabled bool 1863 }{ 1864 { 1865 "enabled on nil CR", 1866 nil, 1867 true, 1868 }, 1869 { 1870 "enabled on empty v1alpha1 CR", 1871 &vzapi.Verrazzano{}, 1872 true, 1873 }, 1874 { 1875 "enabled on v1alpha1 CR with Prometheus disabled", 1876 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1877 Components: vzapi.ComponentSpec{ 1878 Prometheus: &vzapi.PrometheusComponent{Enabled: &falseValue}, 1879 }}}, 1880 true, 1881 }, 1882 { 1883 "enabled on v1alpha1 CR with Prometheus Operator disabled", 1884 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1885 Components: vzapi.ComponentSpec{ 1886 PrometheusOperator: &vzapi.PrometheusOperatorComponent{Enabled: &falseValue}, 1887 }}}, 1888 true, 1889 }, 1890 { 1891 "enabled on v1alpha1 CR with Opensearch and Opensearch dashboards disabled", 1892 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1893 Components: vzapi.ComponentSpec{ 1894 Elasticsearch: &vzapi.ElasticsearchComponent{Enabled: &falseValue}, 1895 Kibana: &vzapi.KibanaComponent{Enabled: &falseValue}, 1896 }}}, 1897 true, 1898 }, 1899 { 1900 "disabled on v1alpha1 CR with OpenSearch, OpenSearchDashboards and Grafana disabled", 1901 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 1902 Components: vzapi.ComponentSpec{ 1903 Elasticsearch: &vzapi.ElasticsearchComponent{Enabled: &falseValue}, 1904 Kibana: &vzapi.KibanaComponent{Enabled: &falseValue}, 1905 Grafana: &vzapi.GrafanaComponent{Enabled: &falseValue}, 1906 }}}, 1907 false, 1908 }, 1909 { 1910 "enabled on empty v1beta1 CR", 1911 &installv1beta1.Verrazzano{}, 1912 true, 1913 }, 1914 { 1915 "enabled on v1beta1 CR with Prometheus disabled", 1916 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1917 Components: installv1beta1.ComponentSpec{ 1918 Prometheus: &installv1beta1.PrometheusComponent{Enabled: &falseValue}, 1919 }}}, 1920 true, 1921 }, 1922 { 1923 "disabled on v1beta1 CR with OpenSearch, OpenSearchDashboards and Grafana disabled", 1924 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{ 1925 Components: installv1beta1.ComponentSpec{ 1926 OpenSearch: &installv1beta1.OpenSearchComponent{Enabled: &falseValue}, 1927 OpenSearchDashboards: &installv1beta1.OpenSearchDashboardsComponent{Enabled: &falseValue}, 1928 Grafana: &installv1beta1.GrafanaComponent{Enabled: &falseValue}, 1929 }}}, 1930 false, 1931 }, 1932 } 1933 for _, tt := range tests { 1934 t.Run(tt.name, func(t *testing.T) { 1935 assert.Equal(t, tt.enabled, IsVMOEnabled(tt.cr)) 1936 }) 1937 } 1938 } 1939 1940 // TestIsAlertmanagerEnabled tests whether the Alertmanager is enabled or not 1941 // GIVEN a call to IsAlertmanagerEnabled 1942 // WHEN the Alertmanager is explicitly enabled or disabled 1943 // THEN return the value as expected in the enabled variable 1944 func TestIsAlertmanagerEnabled(t *testing.T) { 1945 var tests = []struct { 1946 name string 1947 cr runtime.Object 1948 enabled bool 1949 isErr bool 1950 isVZv1alpha1 bool 1951 }{ 1952 { 1953 "Alertmanager disabled when empty v1alpha1 CR", 1954 &vzapi.Verrazzano{}, 1955 false, 1956 false, 1957 true, 1958 }, 1959 { 1960 "Alertmanager disabled when when empty v1beta1 CR", 1961 &installv1beta1.Verrazzano{}, 1962 false, 1963 false, 1964 false, 1965 }, 1966 { 1967 "Alertmanager disabled whe Prometheus Operator component disabled, v1alpha1 CR", 1968 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{PrometheusOperator: &vzapi.PrometheusOperatorComponent{Enabled: &falseValue}}}}, 1969 false, 1970 false, 1971 true, 1972 }, 1973 { 1974 "Alertmanager disabled whe Prometheus Operator component disabled, v1beta1 CR", 1975 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{PrometheusOperator: &installv1beta1.PrometheusOperatorComponent{Enabled: &falseValue}}}}, 1976 false, 1977 false, 1978 false, 1979 }, 1980 { 1981 "Alertmanager disabled when overrides not specified on Prometheus Operator component, v1alpha1 CR", 1982 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{PrometheusOperator: &vzapi.PrometheusOperatorComponent{}}}}, 1983 false, 1984 false, 1985 true, 1986 }, 1987 { 1988 "Alertmanager disabled when overrides not specified on Prometheus Operator component, v1beta1 CR", 1989 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{PrometheusOperator: &installv1beta1.PrometheusOperatorComponent{}}}}, 1990 false, 1991 false, 1992 false, 1993 }, 1994 { 1995 "Alertmanager disabled when disabled in overrides specified on Prometheus Operator component, v1alpha1 CR", 1996 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{PrometheusOperator: &vzapi.PrometheusOperatorComponent{ 1997 InstallOverrides: vzapi.InstallOverrides{ 1998 ValueOverrides: []vzapi.Overrides{ 1999 { 2000 Values: &v1.JSON{ 2001 Raw: []byte("{\"alertmanager\":{\"enabled\":false}}"), 2002 }, 2003 }, 2004 }, 2005 }}}}}, 2006 false, 2007 false, 2008 true, 2009 }, 2010 { 2011 "Alertmanager disabled when disabled in overrides specified on Prometheus Operator component, v1beta1 CR", 2012 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{PrometheusOperator: &installv1beta1.PrometheusOperatorComponent{ 2013 InstallOverrides: installv1beta1.InstallOverrides{ 2014 ValueOverrides: []installv1beta1.Overrides{ 2015 { 2016 Values: &v1.JSON{ 2017 Raw: []byte("{\"alertmanager\":{\"enabled\":false}}"), 2018 }, 2019 }, 2020 }, 2021 }, 2022 }}}}, 2023 false, 2024 false, 2025 false, 2026 }, 2027 { 2028 "Alertmanager disabled when empty overrides specified on Prometheus Operator component, v1alpha1 CR", 2029 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{PrometheusOperator: &vzapi.PrometheusOperatorComponent{ 2030 InstallOverrides: vzapi.InstallOverrides{ 2031 ValueOverrides: []vzapi.Overrides{ 2032 { 2033 Values: &v1.JSON{ 2034 Raw: []byte(""), 2035 }, 2036 }, 2037 }, 2038 }}}}}, 2039 false, 2040 false, 2041 true, 2042 }, 2043 { 2044 "Alertmanager disabled when empty overrides specified on Prometheus Operator component, v1beta1 CR", 2045 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{PrometheusOperator: &installv1beta1.PrometheusOperatorComponent{ 2046 InstallOverrides: installv1beta1.InstallOverrides{ 2047 ValueOverrides: []installv1beta1.Overrides{ 2048 { 2049 Values: &v1.JSON{ 2050 Raw: []byte(""), 2051 }, 2052 }, 2053 }, 2054 }, 2055 }}}}, 2056 false, 2057 false, 2058 false, 2059 }, 2060 { 2061 "Alertmanager enabled when enabled in overrides specified on Prometheus Operator component, v1alpha1 CR", 2062 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{Components: vzapi.ComponentSpec{PrometheusOperator: &vzapi.PrometheusOperatorComponent{ 2063 InstallOverrides: vzapi.InstallOverrides{ 2064 ValueOverrides: []vzapi.Overrides{ 2065 { 2066 Values: &v1.JSON{ 2067 Raw: []byte("{\"alertmanager\":{\"enabled\":true}}"), 2068 }, 2069 }, 2070 }, 2071 }}}}}, 2072 true, 2073 false, 2074 true, 2075 }, 2076 { 2077 "Alertmanager enabled when enabled in overrides specified on Prometheus Operator component, v1beta1 CR", 2078 &installv1beta1.Verrazzano{Spec: installv1beta1.VerrazzanoSpec{Components: installv1beta1.ComponentSpec{PrometheusOperator: &installv1beta1.PrometheusOperatorComponent{ 2079 InstallOverrides: installv1beta1.InstallOverrides{ 2080 ValueOverrides: []installv1beta1.Overrides{ 2081 { 2082 Values: &v1.JSON{ 2083 Raw: []byte("{\"alertmanager\":{\"enabled\":true}}"), 2084 }, 2085 }, 2086 }, 2087 }, 2088 }}}}, 2089 true, 2090 false, 2091 false, 2092 }, 2093 } 2094 for _, tt := range tests { 2095 t.Run(tt.name, func(t *testing.T) { 2096 var result bool 2097 var err error 2098 if tt.isVZv1alpha1 { 2099 result, err = IsAlertmanagerEnabled(tt.cr, spi.NewFakeContext(nil, tt.cr.(*vzapi.Verrazzano), nil, false)) 2100 } else { 2101 result, err = IsAlertmanagerEnabled(tt.cr, spi.NewFakeContext(nil, nil, tt.cr.(*installv1beta1.Verrazzano), false)) 2102 } 2103 2104 assert.Equal(t, tt.isErr, err != nil) 2105 assert.Equal(t, tt.enabled, result) 2106 }) 2107 } 2108 } 2109 2110 // TestIsDexEnabled tests the IsDexEnabled function 2111 // GIVEN a call to IsDexEnabled 2112 // 2113 // THEN the value of the enabled flag is returned if present, false otherwise (disabled by default) 2114 func TestIsDexEnabled(t *testing.T) { 2115 asserts := assert.New(t) 2116 asserts.False(IsDexEnabled(nil)) 2117 asserts.False(IsDexEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 2118 asserts.False(IsDexEnabled( 2119 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 2120 Components: vzapi.ComponentSpec{ 2121 Dex: &vzapi.DexComponent{}, 2122 }, 2123 }})) 2124 asserts.True(IsDexEnabled( 2125 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 2126 Components: vzapi.ComponentSpec{ 2127 Dex: &vzapi.DexComponent{ 2128 Enabled: &trueValue, 2129 }, 2130 }, 2131 }})) 2132 asserts.False(IsDexEnabled( 2133 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 2134 Components: vzapi.ComponentSpec{ 2135 Dex: &vzapi.DexComponent{ 2136 Enabled: &falseValue, 2137 }, 2138 }, 2139 }})) 2140 } 2141 2142 // TestIsOpenSearchOperatorEnabled tests whether the OpenSearchOperator is enabled or not 2143 // GIVEN a call to IsOpenSearchOperatorEnabled 2144 // WHEN OpenSearchOperator is explicitly enabled or disabled 2145 // THEN return the value as expected in the enabled variable 2146 func TestIsOpenSearchOperatorEnabled(t *testing.T) { 2147 asserts := assert.New(t) 2148 asserts.True(IsOpenSearchOperatorEnabled(nil)) 2149 asserts.True(IsOpenSearchOperatorEnabled(&vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{}})) 2150 asserts.True(IsOpenSearchOperatorEnabled( 2151 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 2152 Components: vzapi.ComponentSpec{ 2153 OpenSearchOperator: &vzapi.OpenSearchOperatorComponent{}, 2154 }, 2155 }})) 2156 asserts.True(IsOpenSearchOperatorEnabled( 2157 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 2158 Components: vzapi.ComponentSpec{ 2159 OpenSearchOperator: &vzapi.OpenSearchOperatorComponent{ 2160 Enabled: &trueValue, 2161 }, 2162 }, 2163 }})) 2164 asserts.False(IsOpenSearchOperatorEnabled( 2165 &vzapi.Verrazzano{Spec: vzapi.VerrazzanoSpec{ 2166 Components: vzapi.ComponentSpec{ 2167 OpenSearchOperator: &vzapi.OpenSearchOperatorComponent{ 2168 Enabled: &falseValue, 2169 }, 2170 }, 2171 }})) 2172 }