github.com/hellofresh/janus@v0.0.0-20230925145208-ce8de8183c67/pkg/plugin/basic/setup_test.go (about) 1 package basic 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 8 "github.com/hellofresh/janus/pkg/plugin" 9 "github.com/hellofresh/janus/pkg/proxy" 10 "github.com/hellofresh/janus/pkg/router" 11 ) 12 13 func TestSetup(t *testing.T) { 14 def := proxy.NewRouterDefinition(proxy.NewDefinition()) 15 16 event1 := plugin.OnAdminAPIStartup{Router: router.NewChiRouter()} 17 err := onAdminAPIStartup(event1) 18 require.NoError(t, err) 19 20 event2 := plugin.OnStartup{Register: proxy.NewRegister(proxy.WithRouter(router.NewChiRouter()))} 21 err = onStartup(event2) 22 require.NoError(t, err) 23 24 err = setupBasicAuth(def, make(plugin.Config)) 25 require.NoError(t, err) 26 } 27 28 func TestOnStartupMissingAdminRouter(t *testing.T) { 29 // reset admin router to avoid dependency from another test 30 adminRouter = nil 31 32 event := plugin.OnStartup{} 33 err := onStartup(event) 34 require.Error(t, err) 35 require.IsType(t, ErrInvalidAdminRouter, err) 36 } 37 38 func TestOnStartupWrongEvent(t *testing.T) { 39 wrongEvent := plugin.OnAdminAPIStartup{} 40 err := onStartup(wrongEvent) 41 require.Error(t, err) 42 } 43 44 func TestOnAdminAPIStartupWrongEvent(t *testing.T) { 45 wrongEvent := plugin.OnStartup{} 46 err := onAdminAPIStartup(wrongEvent) 47 require.Error(t, err) 48 }