* feat: Add support for capturing URL actions in request info
- Pass request context to services to validate actions.
- Validate actions for auth methods during authentication. `/v1/auth-methods/{{AUTH_METHOD_ID}}:authenticate:callback` is currently only supported on `OIDC` auth methods. An error is thrown if `:callback` is not supported
51 lines
1.3 KiB
Go
51 lines
1.3 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
package auth
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/hashicorp/boundary/internal/kms"
|
|
"github.com/hashicorp/boundary/internal/perms"
|
|
"github.com/hashicorp/boundary/internal/types/action"
|
|
"github.com/hashicorp/boundary/internal/types/resource"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
// Test_GetOpts provides unit tests for GetOpts and all the options
|
|
func Test_GetOpts(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
withKms := new(kms.Kms)
|
|
res := new(perms.Resource)
|
|
|
|
opts := getOpts(
|
|
WithScopeId("foo"),
|
|
WithPin("bar"),
|
|
WithId("zip"),
|
|
WithAction(action.AddHosts),
|
|
WithType(resource.Group),
|
|
WithUserId("user"),
|
|
WithKms(withKms),
|
|
WithRecoveryTokenNotAllowed(true),
|
|
WithAnonymousUserNotAllowed(true),
|
|
WithResource(res),
|
|
WithActions([]string{"callback"}),
|
|
)
|
|
exp := options{
|
|
withScopeId: "foo",
|
|
withPin: "bar",
|
|
withId: "zip",
|
|
withAction: action.AddHosts,
|
|
withType: resource.Group,
|
|
withUserId: "user",
|
|
withKms: withKms,
|
|
withRecoveryTokenNotAllowed: true,
|
|
withAnonymousUserNotAllowed: true,
|
|
withResource: res,
|
|
withActions: []string{"callback"},
|
|
}
|
|
assert.Equal(t, exp, opts)
|
|
}
|