From 40f0d7251d9fa47faabd02e83d8f62e80ca147c5 Mon Sep 17 00:00:00 2001 From: mikestefanello Date: Sun, 19 Dec 2021 14:56:00 -0500 Subject: [PATCH] Added shutdown method to containers. --- config/config_test.go | 8 ++++++++ controller/controller_test.go | 8 +++++--- main.go | 6 ++++++ middleware/cache.go | 2 +- routes/routes_test.go | 12 ++++++++---- 5 files changed, 28 insertions(+), 8 deletions(-) diff --git a/config/config_test.go b/config/config_test.go index f44273a..103e368 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -3,10 +3,18 @@ package config import ( "testing" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func TestGetConfig(t *testing.T) { _, err := GetConfig() require.NoError(t, err) + + var env Environment + env = "abc" + SwitchEnvironment(env) + cfg, err := GetConfig() + require.NoError(t, err) + assert.Equal(t, env, cfg.App.Environment) } diff --git a/controller/controller_test.go b/controller/controller_test.go index 1f79e8a..f7a390c 100644 --- a/controller/controller_test.go +++ b/controller/controller_test.go @@ -32,12 +32,14 @@ func TestMain(m *testing.M) { // Create a new container c = services.NewContainer() + defer func() { + if err := c.Shutdown(); err != nil { + c.Web.Logger.Fatal(err) + } + }() // Run tests exitVal := m.Run() - if err := c.Shutdown(); err != nil { - panic(err) - } os.Exit(exitVal) } diff --git a/main.go b/main.go index b3cab62..4b385ef 100644 --- a/main.go +++ b/main.go @@ -13,7 +13,13 @@ import ( ) func main() { + // Start a new container c := services.NewContainer() + defer func() { + if err := c.Shutdown(); err != nil { + c.Web.Logger.Fatal(err) + } + }() // Build the router routes.BuildRouter(c) diff --git a/middleware/cache.go b/middleware/cache.go index 5e92cf4..7af1ec8 100644 --- a/middleware/cache.go +++ b/middleware/cache.go @@ -54,7 +54,7 @@ func ServeCachedPage(ch *cache.Cache) echo.MiddlewareFunc { c.Response().Header().Set(k, v) } } - c.Logger().Infof("serving cached page") + c.Logger().Info("serving cached page") return c.HTMLBlob(page.StatusCode, page.HTML) } diff --git a/routes/routes_test.go b/routes/routes_test.go index 03631b5..bb8dfce 100644 --- a/routes/routes_test.go +++ b/routes/routes_test.go @@ -25,17 +25,21 @@ func TestMain(m *testing.M) { // Set the environment to test config.SwitchEnvironment(config.EnvTest) - // Start a test HTTP server + // Start a new container c = services.NewContainer() + defer func() { + if err := c.Shutdown(); err != nil { + c.Web.Logger.Fatal(err) + } + }() + + // Start a test HTTP server BuildRouter(c) srv = httptest.NewServer(c.Web) // Run tests exitVal := m.Run() srv.Close() - if err := c.Shutdown(); err != nil { - panic(err) - } os.Exit(exitVal) }