From 5ce7ea7aa04785cc7f9de577f1608a2eb76184fe Mon Sep 17 00:00:00 2001 From: Damandeep Singh Date: Thu, 27 Feb 2025 21:23:51 +0530 Subject: [PATCH] chore: added test case for log_format --- go/cmd/dolt/commands/sqlserver/server.go | 3 ++- .../doltcore/servercfg/serverconfig.go | 7 ++--- integration-tests/bats/sql-server.bats | 26 +++++++++++++++++++ 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/go/cmd/dolt/commands/sqlserver/server.go b/go/cmd/dolt/commands/sqlserver/server.go index 3477bb5bb4..007f3df7af 100644 --- a/go/cmd/dolt/commands/sqlserver/server.go +++ b/go/cmd/dolt/commands/sqlserver/server.go @@ -123,7 +123,8 @@ func ConfigureServices( return err } logrus.SetLevel(level) - switch serverConfig.LogFormat() { + format := strings.ToLower(fmt.Sprintf("%v", serverConfig.LogFormat())) + switch format { case "json": logrus.SetFormatter(&logrus.JSONFormatter{}) default: diff --git a/go/libraries/doltcore/servercfg/serverconfig.go b/go/libraries/doltcore/servercfg/serverconfig.go index c9e3fe198b..9b500e23cc 100644 --- a/go/libraries/doltcore/servercfg/serverconfig.go +++ b/go/libraries/doltcore/servercfg/serverconfig.go @@ -281,9 +281,10 @@ func ValidateConfig(config ServerConfig) error { if config.LogLevel().String() == "unknown" { return fmt.Errorf("loglevel is invalid: %v\n", string(config.LogLevel())) } - if config.LogFormat() != "text" && config.LogFormat() != "json" { - return fmt.Errorf("logformat is invalid: %v\n", config.LogFormat()) - } + if strings.ToLower(fmt.Sprintf("%v", config.LogFormat())) != "text" && + strings.ToLower(fmt.Sprintf("%v", config.LogFormat())) != "json" { + return fmt.Errorf("logformat is invalid: %v\n", config.LogFormat()) + } if config.RequireSecureTransport() && config.TLSCert() == "" && config.TLSKey() == "" { return fmt.Errorf("require_secure_transport can only be `true` when a tls_key and tls_cert are provided.") } diff --git a/integration-tests/bats/sql-server.bats b/integration-tests/bats/sql-server.bats index 01b63bc78d..6732f66bfd 100644 --- a/integration-tests/bats/sql-server.bats +++ b/integration-tests/bats/sql-server.bats @@ -145,6 +145,32 @@ EOF dolt sql -q "show databases;" stop_sql_server } +@test "sql-server: logformats are case insensitive" { + # assert that logformat on command line is not case sensitive + cd repo1 + PORT=$( definePORT ) + dolt sql-server --logformat jSon --port=$PORT --socket "dolt.$PORT.sock" > log.txt 2>&1 & + SERVER_PID=$! + wait_for_connection $PORT 8500 + dolt sql -q "show databases;" + stop_sql_server + + # assert that logformat in yaml config is not case sensitive + cat >config.yml <