From 0884f89431cd26bcc9674b3b7ab628b090f5881e Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Tue, 7 Dec 2021 13:31:39 +0100 Subject: Implement Cobra CLI tooling, Viper config tooling (#336) * start pulling out + replacing urfave and config * replace many many instances of config * move more stuff => viper * properly remove urfave * move some flags to root command * add testrig commands to root * alias config file keys * start adding cli parsing tests * reorder viper init * remove config path alias * fmt * change config file keys to non-nested * we're more or less in business now * tidy up the common func * go fmt * get tests passing again * add note about the cliparsing tests * reorganize * update docs with changes * structure cmd dir better * rename + move some files around * fix dangling comma --- internal/router/session_test.go | 48 ++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 24 deletions(-) (limited to 'internal/router/session_test.go') diff --git a/internal/router/session_test.go b/internal/router/session_test.go index 7c2d324fd..31beec1ae 100644 --- a/internal/router/session_test.go +++ b/internal/router/session_test.go @@ -16,68 +16,68 @@ along with this program. If not, see . */ -package router +package router_test import ( "testing" + "github.com/spf13/viper" "github.com/stretchr/testify/suite" "github.com/superseriousbusiness/gotosocial/internal/config" + "github.com/superseriousbusiness/gotosocial/internal/router" + "github.com/superseriousbusiness/gotosocial/testrig" ) type SessionTestSuite struct { suite.Suite } +func (suite *SessionTestSuite) SetupTest() { + testrig.InitTestConfig() +} + func (suite *SessionTestSuite) TestDeriveSessionNameLocalhostWithPort() { - cfg := &config.Config{ - Protocol: "http", - Host: "localhost:8080", - } + viper.Set(config.Keys.Protocol, "http") + viper.Set(config.Keys.Host, "localhost:8080") - sessionName, err := sessionName(cfg) + sessionName, err := router.SessionName() suite.NoError(err) suite.Equal("gotosocial-localhost", sessionName) } func (suite *SessionTestSuite) TestDeriveSessionNameLocalhost() { - cfg := &config.Config{ - Protocol: "http", - Host: "localhost", - } + viper.Set(config.Keys.Protocol, "http") + viper.Set(config.Keys.Host, "localhost") - sessionName, err := sessionName(cfg) + sessionName, err := router.SessionName() suite.NoError(err) suite.Equal("gotosocial-localhost", sessionName) } func (suite *SessionTestSuite) TestDeriveSessionNoProtocol() { - cfg := &config.Config{ - Host: "localhost", - } + viper.Set(config.Keys.Protocol, "") + viper.Set(config.Keys.Host, "localhost") - sessionName, err := sessionName(cfg) + sessionName, err := router.SessionName() suite.EqualError(err, "parse \"://localhost\": missing protocol scheme") suite.Equal("", sessionName) } func (suite *SessionTestSuite) TestDeriveSessionNoHost() { - cfg := &config.Config{ - Protocol: "https", - } + viper.Set(config.Keys.Protocol, "https") + viper.Set(config.Keys.Host, "") + viper.Set(config.Keys.Port, 0) - sessionName, err := sessionName(cfg) + sessionName, err := router.SessionName() suite.EqualError(err, "could not derive hostname without port from https://") suite.Equal("", sessionName) } func (suite *SessionTestSuite) TestDeriveSessionOK() { - cfg := &config.Config{ - Protocol: "https", - Host: "example.org", - } + viper.Set(config.Keys.Protocol, "https") + viper.Set(config.Keys.Host, "example.org") - sessionName, err := sessionName(cfg) + sessionName, err := router.SessionName() suite.NoError(err) suite.Equal("gotosocial-example.org", sessionName) } -- cgit v1.2.3