1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
package kong
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestRBACEndpointPermissionservice(T *testing.T) {
runWhenEnterprise(T, ">=0.33.0", true)
assert := assert.New(T)
client, err := NewTestClient(nil, nil)
assert.Nil(err)
assert.NotNil(client)
// Create Workspace
workspace := &Workspace{
Name: String("endpoint-test-workspace"),
}
createdWorkspace, err := client.Workspaces.Create(defaultCtx, workspace)
assert.Nil(err)
assert.NotNil(createdWorkspace)
// Use new client in workspace context.
role := &RBACRole{
Name: String("test-role-endpoint-perm"),
}
createdRole, err := client.RBACRoles.Create(defaultCtx, role)
assert.Nil(err)
assert.NotNil(createdRole)
// Add Endpoint Permission to Role
ep := &RBACEndpointPermission{
Role: &RBACRole{
ID: createdRole.ID,
},
Endpoint: String("/rbac"),
Actions: []*string{
String("create"),
String("read"),
},
}
createdEndpointPermission, err := client.RBACEndpointPermissions.Create(defaultCtx, ep)
assert.Nil(err)
assert.NotNil(createdEndpointPermission)
ep, err = client.RBACEndpointPermissions.Get(
defaultCtx, createdRole.ID, createdWorkspace.ID, createdEndpointPermission.Endpoint)
assert.Nil(err)
assert.NotNil(ep)
ep.Comment = String("new comment")
ep, err = client.RBACEndpointPermissions.Update(defaultCtx, ep)
assert.Nil(err)
assert.NotNil(ep)
assert.Equal("new comment", *ep.Comment)
err = client.RBACEndpointPermissions.Delete(
defaultCtx, createdRole.ID, createdWorkspace.ID, createdEndpointPermission.Endpoint)
assert.Nil(err)
err = client.RBACRoles.Delete(defaultCtx, createdRole.ID)
assert.Nil(err)
err = client.Workspaces.Delete(defaultCtx, createdWorkspace.ID)
assert.Nil(err)
}
|