diff options
Diffstat (limited to 'internal/config/config_test.go')
-rw-r--r-- | internal/config/config_test.go | 187 |
1 files changed, 181 insertions, 6 deletions
diff --git a/internal/config/config_test.go b/internal/config/config_test.go index 18bfe4ce..7734a4fc 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -8,6 +8,181 @@ import ( "testing" ) +func TestLogFileDefaultValue(t *testing.T) { + os.Clearenv() + + parser := NewParser() + opts, err := parser.ParseEnvironmentVariables() + if err != nil { + t.Fatalf(`Parsing failure: %v`, err) + } + + if opts.LogFile() != defaultLogFile { + t.Fatalf(`Unexpected log file value, got %q`, opts.LogFile()) + } +} + +func TestLogFileWithCustomFilename(t *testing.T) { + os.Clearenv() + os.Setenv("LOG_FILE", "foobar.log") + + parser := NewParser() + opts, err := parser.ParseEnvironmentVariables() + if err != nil { + t.Fatalf(`Parsing failure: %v`, err) + } + if opts.LogFile() != "foobar.log" { + t.Fatalf(`Unexpected log file value, got %q`, opts.LogFile()) + } +} + +func TestLogFileWithEmptyValue(t *testing.T) { + os.Clearenv() + os.Setenv("LOG_FILE", "") + + parser := NewParser() + opts, err := parser.ParseEnvironmentVariables() + if err != nil { + t.Fatalf(`Parsing failure: %v`, err) + } + + if opts.LogFile() != defaultLogFile { + t.Fatalf(`Unexpected log file value, got %q`, opts.LogFile()) + } +} + +func TestLogLevelDefaultValue(t *testing.T) { + os.Clearenv() + + parser := NewParser() + opts, err := parser.ParseEnvironmentVariables() + if err != nil { + t.Fatalf(`Parsing failure: %v`, err) + } + + if opts.LogLevel() != defaultLogLevel { + t.Fatalf(`Unexpected log level value, got %q`, opts.LogLevel()) + } +} + +func TestLogLevelWithCustomValue(t *testing.T) { + os.Clearenv() + os.Setenv("LOG_LEVEL", "warning") + + parser := NewParser() + opts, err := parser.ParseEnvironmentVariables() + if err != nil { + t.Fatalf(`Parsing failure: %v`, err) + } + + if opts.LogLevel() != "warning" { + t.Fatalf(`Unexpected log level value, got %q`, opts.LogLevel()) + } +} + +func TestLogLevelWithInvalidValue(t *testing.T) { + os.Clearenv() + os.Setenv("LOG_LEVEL", "invalid") + + parser := NewParser() + opts, err := parser.ParseEnvironmentVariables() + if err != nil { + t.Fatalf(`Parsing failure: %v`, err) + } + + if opts.LogLevel() != defaultLogLevel { + t.Fatalf(`Unexpected log level value, got %q`, opts.LogLevel()) + } +} + +func TestLogDateTimeDefaultValue(t *testing.T) { + os.Clearenv() + + parser := NewParser() + opts, err := parser.ParseEnvironmentVariables() + if err != nil { + t.Fatalf(`Parsing failure: %v`, err) + } + + if opts.LogDateTime() != defaultLogDateTime { + t.Fatalf(`Unexpected log date time value, got %v`, opts.LogDateTime()) + } +} + +func TestLogDateTimeWithCustomValue(t *testing.T) { + os.Clearenv() + os.Setenv("LOG_DATETIME", "false") + + parser := NewParser() + opts, err := parser.ParseEnvironmentVariables() + if err != nil { + t.Fatalf(`Parsing failure: %v`, err) + } + + if opts.LogDateTime() != false { + t.Fatalf(`Unexpected log date time value, got %v`, opts.LogDateTime()) + } +} + +func TestLogDateTimeWithInvalidValue(t *testing.T) { + os.Clearenv() + os.Setenv("LOG_DATETIME", "invalid") + + parser := NewParser() + opts, err := parser.ParseEnvironmentVariables() + if err != nil { + t.Fatalf(`Parsing failure: %v`, err) + } + + if opts.LogDateTime() != defaultLogDateTime { + t.Fatalf(`Unexpected log date time value, got %v`, opts.LogDateTime()) + } +} + +func TestLogFormatDefaultValue(t *testing.T) { + os.Clearenv() + + parser := NewParser() + opts, err := parser.ParseEnvironmentVariables() + if err != nil { + t.Fatalf(`Parsing failure: %v`, err) + } + + if opts.LogFormat() != defaultLogFormat { + t.Fatalf(`Unexpected log format value, got %q`, opts.LogFormat()) + } +} + +func TestLogFormatWithCustomValue(t *testing.T) { + os.Clearenv() + os.Setenv("LOG_FORMAT", "json") + + parser := NewParser() + opts, err := parser.ParseEnvironmentVariables() + if err != nil { + t.Fatalf(`Parsing failure: %v`, err) + } + + if opts.LogFormat() != "json" { + t.Fatalf(`Unexpected log format value, got %q`, opts.LogFormat()) + } +} + +func TestLogFormatWithInvalidValue(t *testing.T) { + os.Clearenv() + os.Setenv("LOG_FORMAT", "invalid") + + parser := NewParser() + opts, err := parser.ParseEnvironmentVariables() + if err != nil { + t.Fatalf(`Parsing failure: %v`, err) + } + + if opts.LogFormat() != defaultLogFormat { + t.Fatalf(`Unexpected log format value, got %q`, opts.LogFormat()) + } +} + func TestDebugModeOn(t *testing.T) { os.Clearenv() os.Setenv("DEBUG", "1") @@ -18,8 +193,8 @@ func TestDebugModeOn(t *testing.T) { t.Fatalf(`Parsing failure: %v`, err) } - if !opts.HasDebugMode() { - t.Fatalf(`Unexpected debug mode value, got "%v"`, opts.HasDebugMode()) + if opts.LogLevel() != "debug" { + t.Fatalf(`Unexpected debug mode value, got %q`, opts.LogLevel()) } } @@ -32,8 +207,8 @@ func TestDebugModeOff(t *testing.T) { t.Fatalf(`Parsing failure: %v`, err) } - if opts.HasDebugMode() { - t.Fatalf(`Unexpected debug mode value, got "%v"`, opts.HasDebugMode()) + if opts.LogLevel() != "info" { + t.Fatalf(`Unexpected debug mode value, got %q`, opts.LogLevel()) } } @@ -1544,8 +1719,8 @@ Invalid text t.Errorf(`Parsing failure: %v`, err) } - if opts.HasDebugMode() != true { - t.Errorf(`Unexpected debug mode value, got "%v"`, opts.HasDebugMode()) + if opts.LogLevel() != "debug" { + t.Errorf(`Unexpected debug mode value, got %q`, opts.LogLevel()) } expected := ">#1234" |