88ba1d8b4d6252191a03cc2ff16a980beaa36ad9
[nonrtric.git] / dmaap-mediator-producer / internal / config / config_test.go
1 // -
2 //   ========================LICENSE_START=================================
3 //   O-RAN-SC
4 //   %%
5 //   Copyright (C) 2021: Nordix Foundation
6 //   %%
7 //   Licensed under the Apache License, Version 2.0 (the "License");
8 //   you may not use this file except in compliance with the License.
9 //   You may obtain a copy of the License at
10 //
11 //        http://www.apache.org/licenses/LICENSE-2.0
12 //
13 //   Unless required by applicable law or agreed to in writing, software
14 //   distributed under the License is distributed on an "AS IS" BASIS,
15 //   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 //   See the License for the specific language governing permissions and
17 //   limitations under the License.
18 //   ========================LICENSE_END===================================
19 //
20
21 package config
22
23 import (
24         "os"
25         "reflect"
26         "testing"
27 )
28
29 func TestNew_envVarsSetConfigContainSetValues(t *testing.T) {
30         os.Setenv("LOG_LEVEL", "Debug")
31         os.Setenv("INFO_JOB_CALLBACK_URL", "jobCallbackUrl")
32         os.Setenv("INFO_COORD_ADDR", "infoCoordAddr")
33         os.Setenv("INFO_PRODUCER_SUPERVISION_CALLBACK_URL", "supervisionCallbackUrl")
34         defer os.Clearenv()
35         wantConfig := Config{
36                 LogLevel:                           "Debug",
37                 InfoJobCallbackUrl:                 "jobCallbackUrl",
38                 InfoCoordinatorAddress:             "infoCoordAddr",
39                 InfoProducerSupervisionCallbackUrl: "supervisionCallbackUrl",
40         }
41         if got := New(); !reflect.DeepEqual(got, &wantConfig) {
42                 t.Errorf("New() = %v, want %v", got, &wantConfig)
43         }
44 }
45
46 func TestNew_envVarsNotSetConfigContainDefaultValues(t *testing.T) {
47         wantConfig := Config{
48                 LogLevel:                           "Info",
49                 InfoJobCallbackUrl:                 "",
50                 InfoCoordinatorAddress:             "http://enrichmentservice:8083",
51                 InfoProducerSupervisionCallbackUrl: "",
52         }
53         if got := New(); !reflect.DeepEqual(got, &wantConfig) {
54                 t.Errorf("New() = %v, want %v", got, &wantConfig)
55         }
56 }