github.com/baptiste-b-pegasys/quorum/v22@v22.4.2/graphql/graphiql_test.go (about) 1 package graphql 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/ethereum/go-ethereum/plugin/security" 8 "github.com/jpmorganchase/quorum-security-plugin-sdk-go/proto" 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func TestAddQuorumHTML_whenTypical(t *testing.T) { 13 testObject := GraphiQL{ 14 authManagerFunc: func() (security.AuthenticationManager, error) { 15 return security.NewDisabledAuthenticationManager(), nil 16 }, 17 isMPS: false, 18 } 19 out, err := testObject.addQuorumHTML(graphiql) 20 21 assert.NoError(t, err) 22 assert.NotContains(t, string(out), "access-token") 23 assert.NotContains(t, string(out), "psi") 24 } 25 26 func TestAddQuorumHTML_whenMPS(t *testing.T) { 27 testObject := GraphiQL{ 28 authManagerFunc: func() (security.AuthenticationManager, error) { 29 return security.NewDisabledAuthenticationManager(), nil 30 }, 31 isMPS: true, 32 } 33 out, err := testObject.addQuorumHTML(graphiql) 34 35 assert.NoError(t, err) 36 html := string(out) 37 assert.NotContains(t, html, "access-token") 38 assert.Contains(t, html, "psi") 39 } 40 41 func TestAddQuorumHTML_whenRPCSecured(t *testing.T) { 42 testObject := GraphiQL{ 43 authManagerFunc: func() (security.AuthenticationManager, error) { 44 return &StubAuthenticationManager{}, nil 45 }, 46 isMPS: false, 47 } 48 out, err := testObject.addQuorumHTML(graphiql) 49 50 assert.NoError(t, err) 51 html := string(out) 52 assert.Contains(t, html, "access-token") 53 assert.NotContains(t, html, "psi") 54 } 55 56 func TestAddQuorumHTML_whenMPSAndRPCSecured(t *testing.T) { 57 testObject := GraphiQL{ 58 authManagerFunc: func() (security.AuthenticationManager, error) { 59 return &StubAuthenticationManager{}, nil 60 }, 61 isMPS: true, 62 } 63 out, err := testObject.addQuorumHTML(graphiql) 64 65 assert.NoError(t, err) 66 html := string(out) 67 assert.Contains(t, html, "access-token") 68 assert.Contains(t, html, "psi") 69 } 70 71 type StubAuthenticationManager struct { 72 } 73 74 func (s *StubAuthenticationManager) Authenticate(_ context.Context, _ string) (*proto.PreAuthenticatedAuthenticationToken, error) { 75 panic("implement me") 76 } 77 78 func (s *StubAuthenticationManager) IsEnabled(_ context.Context) (bool, error) { 79 return true, nil 80 }