Files
threshold/internal/daemon/controller/auth/options_test.go
T
Elim Tsiagbey 306c722750 feat: Add support for capturing URL actions in request info (#5044)
* 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
2024-08-29 17:14:42 -04:00

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)
}