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  }