Fetch of authorization token
[nonrtric.git] / auth-token-fetch / config_test.go
diff --git a/auth-token-fetch/config_test.go b/auth-token-fetch/config_test.go
new file mode 100644 (file)
index 0000000..8b441c1
--- /dev/null
@@ -0,0 +1,60 @@
+// -
+//   ========================LICENSE_START=================================
+//   O-RAN-SC
+//   %%
+//   Copyright (C) 2022: Nordix Foundation
+//   %%
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//        http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+//   ========================LICENSE_END===================================
+//
+
+package main
+
+import (
+       "os"
+       "testing"
+
+       log "github.com/sirupsen/logrus"
+       "github.com/stretchr/testify/require"
+)
+
+func TestNew_envVarsSetConfigContainSetValues(t *testing.T) {
+       assertions := require.New(t)
+       os.Setenv("LOG_LEVEL", "Debug")
+       os.Setenv("CERT_PATH", "CERT_PATH")
+       os.Setenv("CERT_KEY_PATH", "CERT_KEY_PATH")
+       os.Setenv("CREDS_GRANT_TYPE", "CREDS_GRANT_TYPE")
+       os.Setenv("CREDS_CLIENT_SECRET", "CREDS_CLIENT_SECRET")
+       os.Setenv("CREDS_CLIENT_ID", "CREDS_CLIENT_ID")
+       os.Setenv("OUTPUT_FILE", "OUTPUT_FILE")
+       os.Setenv("AUTH_SERVICE_URL", "AUTH_SERVICE_URL")
+       os.Setenv("REFRESH_MARGIN_SECONDS", "33")
+
+       t.Cleanup(func() {
+               os.Clearenv()
+       })
+       wantConfig := Config{
+               LogLevel:                log.DebugLevel,
+               CertPath:                "CERT_PATH",
+               KeyPath:                 "CERT_KEY_PATH",
+               AuthServiceUrl:          "AUTH_SERVICE_URL",
+               GrantType:               "CREDS_GRANT_TYPE",
+               ClientSecret:            "CREDS_CLIENT_SECRET",
+               ClientId:                "CREDS_CLIENT_ID",
+               AuthTokenOutputFileName: "OUTPUT_FILE",
+               RefreshMarginSeconds:    33,
+       }
+       got := NewConfig()
+
+       assertions.Equal(&wantConfig, got)
+}