From 2c58d9750bfcb90fb50e95c2267e37ade3ae97ce Mon Sep 17 00:00:00 2001 From: haedhutner Date: Tue, 18 Mar 2025 21:03:00 +0200 Subject: [PATCH] Ignore coverage data, add tests for PilgrimContext --- .gitignore | 1 + internal/pilgrim_conf_test/context_test.go | 112 +++++++++------------ main.go | 2 +- 3 files changed, 49 insertions(+), 66 deletions(-) diff --git a/.gitignore b/.gitignore index 59fffca..d7056b5 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ *.so *.dylib target/** +coverage/** # Test binary, built with `go test -c` *.test diff --git a/internal/pilgrim_conf_test/context_test.go b/internal/pilgrim_conf_test/context_test.go index 0a119df..d9b4fe8 100644 --- a/internal/pilgrim_conf_test/context_test.go +++ b/internal/pilgrim_conf_test/context_test.go @@ -89,75 +89,57 @@ func Test_PilgrimContext_EnvDriverOverridesEnvUrlDriver(t *testing.T) { ) } -// func Test_PilgrimContext_EnvDriverOverridesEnvUrlDriver(t *testing.T) { -// context, _, _ := createPilgrimContextWithDependencies( -// map[string]string{}, -// map[string]string{ -// EnvVarKey_Url: "mariadb://env_host:3306/env_segment1/env_segment2?env_arg1=env_val1&env_arg2=env_val2", -// EnvVarKey_Driver: "postgres", -// }, -// ) +func Test_PilgrimContext_CliUrlDriverOverridesEnvDriver(t *testing.T) { + runTest( + func(env *pilgrim_mock.EnvVarRetriever, cli *pilgrim_mock.CliFlagRetriever) { + env.EXPECT().Driver().Return(pilgrim_conf.DbDriver_Postgres, true) + cli.EXPECT().Url().Return("mssql://cli_host:1433", true) + }, + func(env *pilgrim_mock.EnvVarRetriever, cli *pilgrim_mock.CliFlagRetriever) { + ctx := pilgrim_conf.NewPilgrimContext(cli, env) -// assert.Equal(t, DbDriver_Postgres, context.UrlParts().Driver) -// } + assert.Equal(t, pilgrim_conf.DbDriver_MSSQL, ctx.UrlParts().Driver) + }, + ) +} -// func Test_PilgrimContext_CliUrlDriverOverridesEnvDriver(t *testing.T) { -// context, _, _ := createPilgrimContextWithDependencies( -// map[string]string{ -// Flag_Url: CliUrlValue, -// }, -// map[string]string{ -// EnvVarKey_Driver: "mariadb", -// }, -// ) +func Test_PilgrimContext_CliDriverOverridesEnvDriver(t *testing.T) { + runTest( + func(env *pilgrim_mock.EnvVarRetriever, cli *pilgrim_mock.CliFlagRetriever) { + env.EXPECT().Driver().Return(pilgrim_conf.DbDriver_MSSQL, true) + cli.EXPECT().Driver().Return(pilgrim_conf.DbDriver_MariaDB, true) + }, + func(env *pilgrim_mock.EnvVarRetriever, cli *pilgrim_mock.CliFlagRetriever) { + ctx := pilgrim_conf.NewPilgrimContext(cli, env) -// assert.Equal(t, CliDriverValue, context.UrlParts().Driver) -// } + assert.Equal(t, pilgrim_conf.DbDriver_MariaDB, ctx.UrlParts().Driver) + }, + ) +} -// func Test_PilgrimContext_CliDriverOverridesEnvDriver(t *testing.T) { -// context, _, _ := createPilgrimContextWithDependencies( -// map[string]string{ -// Flag_Driver: string(CliDriverValue), -// }, -// map[string]string{ -// EnvVarKey_Driver: "mariadb", -// }, -// ) +func Test_PilgrimContext_EnvDriverIsUsedIfNoCliDriverProvided(t *testing.T) { + runTest( + func(env *pilgrim_mock.EnvVarRetriever, cli *pilgrim_mock.CliFlagRetriever) { + env.EXPECT().Driver().Return(pilgrim_conf.DbDriver_MSSQL, true) + }, + func(env *pilgrim_mock.EnvVarRetriever, cli *pilgrim_mock.CliFlagRetriever) { + ctx := pilgrim_conf.NewPilgrimContext(cli, env) -// assert.Equal(t, CliDriverValue, context.UrlParts().Driver) -// } + assert.Equal(t, pilgrim_conf.DbDriver_MSSQL, ctx.UrlParts().Driver) + }, + ) +} -// func Test_PilgrimContext_EnvDriverIsUsedIfNoCliDriverProvided(t *testing.T) { -// context, _, _ := createPilgrimContextWithDependencies( -// map[string]string{}, -// map[string]string{ -// EnvVarKey_Driver: "mariadb", -// }, -// ) +func Test_PilgrimContext_EnvUrlDriverIsNotUsedIfCliDriverOverrideProvided(t *testing.T) { + runTest( + func(env *pilgrim_mock.EnvVarRetriever, cli *pilgrim_mock.CliFlagRetriever) { + env.EXPECT().Url().Return("mysql://localhost:3306", true) + cli.EXPECT().Driver().Return(pilgrim_conf.DbDriver_MariaDB, true) + }, + func(env *pilgrim_mock.EnvVarRetriever, cli *pilgrim_mock.CliFlagRetriever) { + ctx := pilgrim_conf.NewPilgrimContext(cli, env) -// assert.Equal(t, DbDriver_MariaDB, context.UrlParts().Driver) -// } - -// func Test_PilgrimContext_EnvUrlDriverIsUsedIfNoCliDriverProvided(t *testing.T) { -// context, _, _ := createPilgrimContextWithDependencies( -// map[string]string{}, -// map[string]string{ -// EnvVarKey_Url: "mariadb://env_host:3306/env_segment1/env_segment2?env_arg1=env_val1&env_arg2=env_val2", -// }, -// ) - -// assert.Equal(t, DbDriver_MariaDB, context.UrlParts().Driver) -// } - -// func Test_PilgrimContext_EnvUrlDriverIsNotUsedIfNoCliDriverOverrideProvided(t *testing.T) { -// context, _, _ := createPilgrimContextWithDependencies( -// map[string]string{ -// Flag_Driver: "postgres", -// }, -// map[string]string{ -// EnvVarKey_Url: "mariadb://env_host:3306/env_segment1/env_segment2?env_arg1=env_val1&env_arg2=env_val2", -// }, -// ) - -// assert.Equal(t, DbDriver_Postgres, context.UrlParts().Driver) -// } + assert.Equal(t, pilgrim_conf.DbDriver_MariaDB, ctx.UrlParts().Driver) + }, + ) +} diff --git a/main.go b/main.go index f4cfba2..c43333f 100644 --- a/main.go +++ b/main.go @@ -1,4 +1,4 @@ -package pilgrim +package main import ( "log"