blob: 373c4e39920e77afb50de2d307a5305bc979c8f7 [file] [log] [blame]
Scott Baker69654392021-09-17 13:50:16 -07001// SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
2//
Sean Condon160ec1d2022-02-08 12:58:25 +00003// SPDX-License-Identifier: Apache-2.0
Scott Baker69654392021-09-17 13:50:16 -07004
5package tests
6
7import (
8 "context"
9 "testing"
10 "time"
11
12 "github.com/onosproject/helmit/pkg/helm"
13 "github.com/onosproject/helmit/pkg/input"
14 "github.com/onosproject/helmit/pkg/kubernetes"
15 "github.com/onosproject/helmit/pkg/test"
16 "github.com/onosproject/onos-test/pkg/onostest"
17 "github.com/stretchr/testify/assert"
18)
19
Sean Condonaf0eb3c2021-09-19 20:14:29 +010020const aetherCharts = "https://charts.aetherproject.org/"
21
Scott Baker69654392021-09-17 13:50:16 -070022// AetherRocUmbrellaSuite is the aether-roc-umbrella chart test suite
23type AetherRocUmbrellaSuite struct {
24 test.Suite
25 c *input.Context
26}
27
28// SetupTestSuite sets up the aether roc umbrella test suite
29func (s *AetherRocUmbrellaSuite) SetupTestSuite(c *input.Context) error {
30 s.c = c
31 return nil
32}
33
34func getCredentials() (string, string, error) {
35 kubClient, err := kubernetes.New()
36 if err != nil {
37 return "", "", err
38 }
39 secrets, err := kubClient.CoreV1().Secrets().Get(context.Background(), onostest.SecretsName)
40 if err != nil {
41 return "", "", err
42 }
43 username := string(secrets.Object.Data["sd-ran-username"])
44 password := string(secrets.Object.Data["sd-ran-password"])
45
46 return username, password, nil
47}
48
49// TestInstall tests installing the aether-roc-umbrella chart
50func (s *AetherRocUmbrellaSuite) TestInstall(t *testing.T) {
51 username, password, err := getCredentials()
52 assert.NoError(t, err)
53 registry := s.c.GetArg("registry").String("")
54
Sean Condonaf0eb3c2021-09-19 20:14:29 +010055 onos := helm.Chart("aether-roc-umbrella", aetherCharts).
Scott Baker69654392021-09-17 13:50:16 -070056 Release("aether-roc-umbrella").
57 SetUsername(username).
58 SetPassword(password).
59 WithTimeout(15*time.Minute).
Scott Baker69654392021-09-17 13:50:16 -070060 Set("import.onos-gui.enabled", false).
Scott Baker69654392021-09-17 13:50:16 -070061 Set("import.aether-roc-gui.v3.enabled", false).
Sean Condonc7d89142021-10-21 11:18:08 +010062 Set("import.aether-roc-gui.v4.enabled", true).
Sean Condon4cad87a2021-10-27 08:19:13 +010063 Set("import.sdcore-adapter.v3.enabled", true).
64 Set("import.sdcore-adapter.v4.enabled", true).
Scott Baker69654392021-09-17 13:50:16 -070065 Set("import.onos-cli.enabled", false).
Sean Condon02466612021-10-22 17:08:25 +010066 Set("import.prometheus.acc.enabled", false).
67 Set("aether-roc-gui-v4.prometheus.acc.proxyEnabled", false).
68 Set("import.prometheus.amp.enabled", false).
69 Set("aether-roc-gui-v4.prometheus.amp.proxyEnabled", false).
70 Set("import.prometheus.ace.enabled", false).
71 Set("aether-roc-gui-v4.prometheus.site", nil).
72 Set("import.grafana.enabled", false).
73 Set("aether-roc-gui-v4.grafana.enabled", false).
74 Set("aether-roc-gui-v4.grafana.proxyEnabled", false).
Sean Condonc7d89142021-10-21 11:18:08 +010075 Set("aether-roc-gui-v4.service.type", "NodePort").
Scott Baker69654392021-09-17 13:50:16 -070076 Set("onos-config.plugin.compiler.target", "github.com/onosproject/onos-config@master").
77 Set("global.image.registry", registry)
78 assert.NoError(t, onos.Install(true))
79}