diff --git a/internal/ingress/controller/parser/kongstate/consumer_test.go b/internal/ingress/controller/parser/kongstate/consumer_test.go index 88b5a6c867..4a6a456fdf 100644 --- a/internal/ingress/controller/parser/kongstate/consumer_test.go +++ b/internal/ingress/controller/parser/kongstate/consumer_test.go @@ -9,6 +9,7 @@ import ( ) func TestConsumer_SetCredential(t *testing.T) { + username := "example" type args struct { credType string consumer *Consumer @@ -46,6 +47,24 @@ func TestConsumer_SetCredential(t *testing.T) { }, wantErr: false, }, + { + name: "key-auth without key", + args: args{ + credType: "key-auth", + consumer: &Consumer{ + Consumer: kong.Consumer{ + Username: &username, + }, + }, + credConfig: map[string]string{}, + }, + result: &Consumer{ + Consumer: kong.Consumer{ + Username: &username, + }, + }, + wantErr: true, + }, { name: "keyauth_credential", args: args{ @@ -82,6 +101,24 @@ func TestConsumer_SetCredential(t *testing.T) { }, wantErr: false, }, + { + name: "basic-auth without username", + args: args{ + credType: "basic-auth", + consumer: &Consumer{ + Consumer: kong.Consumer{ + Username: &username, + }, + }, + credConfig: map[string]string{}, + }, + result: &Consumer{ + Consumer: kong.Consumer{ + Username: &username, + }, + }, + wantErr: true, + }, { name: "basicauth_credential", args: args{ @@ -122,6 +159,24 @@ func TestConsumer_SetCredential(t *testing.T) { }, wantErr: false, }, + { + name: "hmac-auth without username", + args: args{ + credType: "hmac-auth", + consumer: &Consumer{ + Consumer: kong.Consumer{ + Username: &username, + }, + }, + credConfig: map[string]string{}, + }, + result: &Consumer{ + Consumer: kong.Consumer{ + Username: &username, + }, + }, + wantErr: true, + }, { name: "hmacauth_credential", args: args{ @@ -166,6 +221,24 @@ func TestConsumer_SetCredential(t *testing.T) { }, wantErr: false, }, + { + name: "oauth2 without client_id", + args: args{ + credType: "oauth2", + consumer: &Consumer{ + Consumer: kong.Consumer{ + Username: &username, + }, + }, + credConfig: map[string]string{}, + }, + result: &Consumer{ + Consumer: kong.Consumer{ + Username: &username, + }, + }, + wantErr: true, + }, { name: "jwt", args: args{ @@ -190,6 +263,24 @@ func TestConsumer_SetCredential(t *testing.T) { }, wantErr: false, }, + { + name: "jwt without key", + args: args{ + credType: "jwt", + consumer: &Consumer{ + Consumer: kong.Consumer{ + Username: &username, + }, + }, + credConfig: map[string]string{}, + }, + result: &Consumer{ + Consumer: kong.Consumer{ + Username: &username, + }, + }, + wantErr: true, + }, { name: "jwt_secret", args: args{ @@ -230,6 +321,24 @@ func TestConsumer_SetCredential(t *testing.T) { }, wantErr: false, }, + { + name: "acl without group", + args: args{ + credType: "acl", + consumer: &Consumer{ + Consumer: kong.Consumer{ + Username: &username, + }, + }, + credConfig: map[string]string{}, + }, + result: &Consumer{ + Consumer: kong.Consumer{ + Username: &username, + }, + }, + wantErr: true, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) {