You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
boundary/api/authtokens/authtoken_test.go

117 lines
3.3 KiB

package authtokens_test
/*
func TestAuthTokens_List(t *testing.T) {
assert := assert.New(t)
tc := controller.NewTestController(t, &controller.TestControllerOpts{DisableAuthorizationFailures: true})
defer tc.Shutdown()
client := tc.Client()
org := &scopes.Org{
Client: client,
}
ctx := context.Background()
atl, apiErr, err := org.ListAuthTokens(ctx)
assert.NoError(err)
assert.Nil(apiErr)
assert.Empty(atl)
var expected []*authtokens.AuthToken
at, apiErr, err := org.Authenticate(ctx, "am_1234567890", "name", "pw")
assert.NoError(err)
assert.Nil(apiErr)
expected = append(expected, at)
atl, apiErr, err = org.ListAuthTokens(ctx)
assert.NoError(err)
assert.Nil(apiErr)
assert.ElementsMatch(comparableSlice(expected), comparableSlice(atl))
for i := 1; i < 10; i++ {
at, apiErr, err = org.Authenticate(ctx, "am_1234567890", "name", "pw")
assert.NoError(err)
assert.Nil(apiErr)
expected = append(expected, at)
}
atl, apiErr, err = org.ListAuthTokens(ctx)
require.NoError(t, err)
assert.Nil(apiErr)
assert.ElementsMatch(comparableSlice(expected), comparableSlice(atl))
}
func comparableResource(i *authtokens.AuthToken) authtokens.AuthToken {
return authtokens.AuthToken{
Id: i.Id,
UserId: i.UserId,
AuthMethodId: i.AuthMethodId,
CreatedTime: i.CreatedTime,
UpdatedTime: i.UpdatedTime,
ApproximateLastUsedTime: i.ApproximateLastUsedTime,
ExpirationTime: i.ExpirationTime,
}
}
func comparableSlice(in []*authtokens.AuthToken) []authtokens.AuthToken {
var filtered []authtokens.AuthToken
for _, i := range in {
filtered = append(filtered, comparableResource(i))
}
sort.Slice(filtered, func(i, j int) bool {
return filtered[i].Id < filtered[j].Id
})
return filtered
}
func TestAuthToken_Crud(t *testing.T) {
tc := controller.NewTestController(t, &controller.TestControllerOpts{DisableAuthorizationFailures: true})
defer tc.Shutdown()
client := tc.Client()
org := &scopes.Org{
Client: client,
}
want, apiErr, err := org.Authenticate(tc.Context(), "am_1234567890", "name", "pw")
at, apiErr, err := org.ReadAuthToken(tc.Context(), &authtokens.AuthToken{Id: want.Id})
require.NoError(t, err)
assert.Nil(t, apiErr)
at.Token = ""
assert.EqualValues(t, comparableResource(want), comparableResource(at))
existed, _, err := org.DeleteAuthToken(tc.Context(), at)
require.NoError(t, err)
assert.Nil(t, apiErr)
assert.True(t, existed, "Expected existing user when deleted, but it wasn't.")
existed, apiErr, err = org.DeleteAuthToken(tc.Context(), at)
require.NoError(t, err)
assert.Nil(t, apiErr)
assert.False(t, existed, "Expected user to not exist when deleted, but it did.")
}
func TestAuthToken_Errors(t *testing.T) {
assert := assert.New(t)
tc := controller.NewTestController(t, &controller.TestControllerOpts{DisableAuthorizationFailures: true})
defer tc.Shutdown()
ctx := tc.Context()
client := tc.Client()
org := &scopes.Org{
Client: client,
}
_, apiErr, err := org.ReadAuthToken(ctx, &authtokens.AuthToken{Id: authtoken.AuthTokenPrefix + "_doesntexis"})
assert.NoError(err)
assert.NotNil(apiErr)
assert.EqualValues(apiErr.Status, http.StatusNotFound)
_, apiErr, err = org.ReadAuthToken(ctx, &authtokens.AuthToken{Id: "invalid id"})
assert.NoError(err)
assert.NotNil(apiErr)
assert.EqualValues(apiErr.Status, http.StatusBadRequest)
}
*/