aboutsummaryrefslogtreecommitdiff
path: root/internal/config/config_test.go
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <f@miniflux.net> 2023-09-24 16:32:09 -0700
committerGravatar Frédéric Guillot <f@miniflux.net> 2023-09-24 22:37:33 -0700
commitc0e954f19d707fef8ef8271636ec661634a4c4c7 (patch)
tree5aa052a048f470e233a454e5ad9071eed1fa37c0 /internal/config/config_test.go
parent54cb8fa0286e4a2f1a81c32b5a89722d93b30bf7 (diff)
downloadv2-c0e954f19d707fef8ef8271636ec661634a4c4c7.tar.gz
v2-c0e954f19d707fef8ef8271636ec661634a4c4c7.tar.zst
v2-c0e954f19d707fef8ef8271636ec661634a4c4c7.zip
Implement structured logging using log/slog package
Diffstat (limited to 'internal/config/config_test.go')
-rw-r--r--internal/config/config_test.go187
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"