add testing of org and user processing

This commit is contained in:
Mike Mason
2023-07-19 14:32:24 +00:00
parent 8186433cfb
commit 7c22b97a7c
6 changed files with 807 additions and 0 deletions

View File

@@ -0,0 +1,90 @@
package permissions
import (
"context"
"github.com/stretchr/testify/mock"
"go.infratographer.com/x/gidx"
)
// MockClient implements Client for testing.
type MockClient struct {
mock.Mock
}
// AssignRole implements Client for testing.
func (c *MockClient) AssignRole(ctx context.Context, roleID gidx.PrefixedID, memberID gidx.PrefixedID) error {
args := c.Called(roleID, memberID)
return args.Error(0)
}
// CreateRole implements Client for testing.
func (c *MockClient) CreateRole(ctx context.Context, resourceID gidx.PrefixedID, actions []string) (gidx.PrefixedID, error) {
args := c.Called(resourceID, actions)
return args.Get(0).(gidx.PrefixedID), args.Error(1)
}
// DeleteResourceRelationship implements Client for testing.
func (c *MockClient) DeleteResourceRelationship(ctx context.Context, resourceID gidx.PrefixedID, relation string, relatedResourceID gidx.PrefixedID) error {
args := c.Called(resourceID, relation, relatedResourceID)
return args.Error(0)
}
// DeleteRole implements Client for testing.
func (c *MockClient) DeleteRole(ctx context.Context, roleID gidx.PrefixedID) error {
args := c.Called(roleID)
return args.Error(0)
}
// FindResourceRoleByActions implements Client for testing.
func (c *MockClient) FindResourceRoleByActions(ctx context.Context, resourceID gidx.PrefixedID, actions []string) (ResourceRole, error) {
args := c.Called(resourceID, actions)
return args.Get(0).(ResourceRole), args.Error(1)
}
// ListResourceRelationshipsFrom implements Client for testing.
func (c *MockClient) ListResourceRelationshipsFrom(ctx context.Context, resourceID gidx.PrefixedID) ([]ResourceRelationship, error) {
args := c.Called(resourceID)
return args.Get(0).([]ResourceRelationship), args.Error(1)
}
// ListResourceRelationshipsTo implements Client for testing.
func (c *MockClient) ListResourceRelationshipsTo(ctx context.Context, resourceID gidx.PrefixedID) ([]ResourceRelationship, error) {
args := c.Called(resourceID)
return args.Get(0).([]ResourceRelationship), args.Error(1)
}
// ListResourceRoles implements Client for testing.
func (c *MockClient) ListResourceRoles(ctx context.Context, resourceID gidx.PrefixedID) (ResourceRoles, error) {
args := c.Called(resourceID)
return args.Get(0).(ResourceRoles), args.Error(1)
}
// ListRoleAssignments implements Client for testing.
func (c *MockClient) ListRoleAssignments(ctx context.Context, roleID gidx.PrefixedID) ([]gidx.PrefixedID, error) {
args := c.Called(roleID)
return args.Get(0).([]gidx.PrefixedID), args.Error(1)
}
// RoleHasAssignment implements Client for testing.
func (c *MockClient) RoleHasAssignment(ctx context.Context, roleID gidx.PrefixedID, memberID gidx.PrefixedID) (bool, error) {
args := c.Called(roleID, memberID)
return args.Bool(0), args.Error(1)
}
// UnassignRole implements Client for testing.
func (c *MockClient) UnassignRole(ctx context.Context, roleID gidx.PrefixedID, memberID gidx.PrefixedID) error {
args := c.Called(roleID, memberID)
return args.Error(0)
}