mirror of
https://github.com/zitadel/zitadel.git
synced 2025-05-06 11:26:46 +00:00
fix(oidc): prompts slice conversion function returns slice which contains unexpected empty strings (#8997)
# Which Problems Are Solved Slice initialized with a fixed length instead of capacity, this leads to unexpected results when calling the append function. # How the Problems Are Solved fixed slice initialization, slice is initialized with zero length and with capacity of function's argument # Additional Changes test case added # Additional Context none Co-authored-by: Kolokhanin Roman <zuzmic@gmail.com> Co-authored-by: Tim Möhlmann <tim+github@zitadel.com>
This commit is contained in:
parent
7f0378636b
commit
d0c23546ec
@ -158,7 +158,7 @@ func IpFromContext(ctx context.Context) net.IP {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func PromptToBusiness(oidcPrompt []string) []domain.Prompt {
|
func PromptToBusiness(oidcPrompt []string) []domain.Prompt {
|
||||||
prompts := make([]domain.Prompt, len(oidcPrompt))
|
prompts := make([]domain.Prompt, 0, len(oidcPrompt))
|
||||||
for _, oidcPrompt := range oidcPrompt {
|
for _, oidcPrompt := range oidcPrompt {
|
||||||
switch oidcPrompt {
|
switch oidcPrompt {
|
||||||
case oidc.PromptNone:
|
case oidc.PromptNone:
|
||||||
|
@ -94,3 +94,36 @@ func TestResponseModeToOIDC(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestPromptToBusiness(t *testing.T) {
|
||||||
|
type args struct {
|
||||||
|
oidcPrompt []string
|
||||||
|
}
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
args args
|
||||||
|
want []domain.Prompt
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "unspecified",
|
||||||
|
args: args{nil},
|
||||||
|
want: []domain.Prompt{},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "invalid",
|
||||||
|
args: args{[]string{"non_existing_prompt"}},
|
||||||
|
want: []domain.Prompt{},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "prompt_none",
|
||||||
|
args: args{[]string{oidc.PromptNone}},
|
||||||
|
want: []domain.Prompt{domain.PromptNone},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
got := PromptToBusiness(tt.args.oidcPrompt)
|
||||||
|
assert.Equal(t, tt.want, got)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user