X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=dmaap-mediator-producer%2Finternal%2Fconfig%2Fconfig_test.go;h=fc64e575a3032016208ab6345503cc31f0b523d1;hb=0af0d6013c831bfea032c34ce85e1dcf28b10855;hp=f0106d0f914cc707b8c540aa13eba3a39f3cfc1e;hpb=cce95ff706e7b7d703b0bf1cfa6ce855cc2d9b68;p=nonrtric.git diff --git a/dmaap-mediator-producer/internal/config/config_test.go b/dmaap-mediator-producer/internal/config/config_test.go index f0106d0f..fc64e575 100644 --- a/dmaap-mediator-producer/internal/config/config_test.go +++ b/dmaap-mediator-producer/internal/config/config_test.go @@ -21,33 +21,87 @@ package config import ( + "bytes" "os" "reflect" "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("JOB_RESULT_URI", "testUrl") - os.Setenv("INFO_COORD_ADDR", "testAddr") - defer os.Clearenv() + os.Setenv("INFO_PRODUCER_HOST", "producerHost") + os.Setenv("INFO_PRODUCER_PORT", "8095") + os.Setenv("INFO_COORD_ADDR", "infoCoordAddr") + os.Setenv("MR_HOST", "mrHost") + os.Setenv("MR_PORT", "3908") + t.Cleanup(func() { + os.Clearenv() + }) wantConfig := Config{ - LogLevel: "Debug", - JobResultUri: "testUrl", - InfoCoordinatorAddress: "testAddr", - } - if got := New(); !reflect.DeepEqual(got, &wantConfig) { - t.Errorf("New() = %v, want %v", got, &wantConfig) + LogLevel: log.DebugLevel, + InfoProducerHost: "producerHost", + InfoProducerPort: 8095, + InfoCoordinatorAddress: "infoCoordAddr", + MRHost: "mrHost", + MRPort: 3908, } + got := New() + + assertions.Equal(&wantConfig, got) } -func TestNew_envVarsNotSetConfigContainDefaultValues(t *testing.T) { +func TestNew_faultyIntValueSetConfigContainDefaultValueAndWarnInLog(t *testing.T) { + assertions := require.New(t) + var buf bytes.Buffer + log.SetOutput(&buf) + + os.Setenv("INFO_PRODUCER_PORT", "wrong") + t.Cleanup(func() { + log.SetOutput(os.Stderr) + os.Clearenv() + }) wantConfig := Config{ - LogLevel: "Info", - JobResultUri: "", + LogLevel: log.InfoLevel, + InfoProducerHost: "", + InfoProducerPort: 8085, InfoCoordinatorAddress: "http://enrichmentservice:8083", + MRHost: "http://message-router.onap", + MRPort: 3904, } if got := New(); !reflect.DeepEqual(got, &wantConfig) { t.Errorf("New() = %v, want %v", got, &wantConfig) } + logString := buf.String() + assertions.Contains(logString, "Invalid int value: wrong for variable: INFO_PRODUCER_PORT. Default value: 8085 will be used") +} + +func TestNew_envFaultyLogLevelConfigContainDefaultValues(t *testing.T) { + assertions := require.New(t) + var buf bytes.Buffer + log.SetOutput(&buf) + + os.Setenv("LOG_LEVEL", "wrong") + t.Cleanup(func() { + log.SetOutput(os.Stderr) + os.Clearenv() + }) + + wantConfig := Config{ + LogLevel: log.InfoLevel, + InfoProducerHost: "", + InfoProducerPort: 8085, + InfoCoordinatorAddress: "http://enrichmentservice:8083", + MRHost: "http://message-router.onap", + MRPort: 3904, + } + + got := New() + + assertions.Equal(&wantConfig, got) + logString := buf.String() + assertions.Contains(logString, "Invalid log level: wrong. Log level will be Info!") }