6b02e42093a0700243126fdf219e242409695256
[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_PRODUCER_SUPERVISION_CALLBACK_HOST", "supervisionCallbackHost")
32         os.Setenv("INFO_PRODUCER_SUPERVISION_CALLBACK_PORT", "supervisionCallbackPort")
33         os.Setenv("INFO_JOB_CALLBACK_HOST", "jobCallbackHost")
34         os.Setenv("INFO_JOB_CALLBACK_PORT", "jobCallbackPort")
35         os.Setenv("INFO_COORD_ADDR", "infoCoordAddr")
36         defer os.Clearenv()
37         wantConfig := Config{
38                 LogLevel:                            "Debug",
39                 InfoProducerSupervisionCallbackHost: "supervisionCallbackHost",
40                 InfoProducerSupervisionCallbackPort: "supervisionCallbackPort",
41                 InfoJobCallbackHost:                 "jobCallbackHost",
42                 InfoJobCallbackPort:                 "jobCallbackPort",
43                 InfoCoordinatorAddress:              "infoCoordAddr",
44         }
45         if got := New(); !reflect.DeepEqual(got, &wantConfig) {
46                 t.Errorf("New() = %v, want %v", got, &wantConfig)
47         }
48 }
49
50 func TestNew_envVarsNotSetConfigContainDefaultValues(t *testing.T) {
51         wantConfig := Config{
52                 LogLevel:                            "Info",
53                 InfoProducerSupervisionCallbackHost: "",
54                 InfoProducerSupervisionCallbackPort: "8085",
55                 InfoJobCallbackHost:                 "",
56                 InfoJobCallbackPort:                 "8086",
57                 InfoCoordinatorAddress:              "http://enrichmentservice:8083",
58         }
59         if got := New(); !reflect.DeepEqual(got, &wantConfig) {
60                 t.Errorf("New() = %v, want %v", got, &wantConfig)
61         }
62 }