github.com/asifdxtreme/cli@v6.1.3-0.20150123051144-9ead8700b4ae+incompatible/cf/api/fakes/fake_user_repo.go (about)

     1  package fakes
     2  
     3  import (
     4  	"github.com/cloudfoundry/cli/cf/errors"
     5  	"github.com/cloudfoundry/cli/cf/models"
     6  )
     7  
     8  type FakeUserRepository struct {
     9  	FindByUsernameUsername   string
    10  	FindByUsernameUserFields models.UserFields
    11  	FindByUsernameNotFound   bool
    12  
    13  	ListUsersOrganizationGuid string
    14  	ListUsersSpaceGuid        string
    15  	ListUsersByRole           map[string][]models.UserFields
    16  
    17  	CreateUserUsername         string
    18  	CreateUserPassword         string
    19  	CreateUserExists           bool
    20  	CreateUserReturnsHttpError bool
    21  
    22  	DeleteUserGuid string
    23  
    24  	SetOrgRoleUserGuid         string
    25  	SetOrgRoleOrganizationGuid string
    26  	SetOrgRoleRole             string
    27  
    28  	UnsetOrgRoleUserGuid         string
    29  	UnsetOrgRoleOrganizationGuid string
    30  	UnsetOrgRoleRole             string
    31  
    32  	SetSpaceRoleUserGuid  string
    33  	SetSpaceRoleOrgGuid   string
    34  	SetSpaceRoleSpaceGuid string
    35  	SetSpaceRoleRole      string
    36  
    37  	UnsetSpaceRoleUserGuid  string
    38  	UnsetSpaceRoleSpaceGuid string
    39  	UnsetSpaceRoleRole      string
    40  }
    41  
    42  func (repo *FakeUserRepository) FindByUsername(username string) (user models.UserFields, apiErr error) {
    43  	repo.FindByUsernameUsername = username
    44  	user = repo.FindByUsernameUserFields
    45  
    46  	if repo.FindByUsernameNotFound {
    47  		apiErr = errors.NewModelNotFoundError("User", "")
    48  	}
    49  
    50  	return
    51  }
    52  
    53  func (repo *FakeUserRepository) ListUsersInOrgForRole(orgGuid string, roleName string) ([]models.UserFields, error) {
    54  	repo.ListUsersOrganizationGuid = orgGuid
    55  	return repo.ListUsersByRole[roleName], nil
    56  }
    57  
    58  func (repo *FakeUserRepository) ListUsersInSpaceForRole(spaceGuid string, roleName string) ([]models.UserFields, error) {
    59  	repo.ListUsersSpaceGuid = spaceGuid
    60  	return repo.ListUsersByRole[roleName], nil
    61  }
    62  
    63  func (repo *FakeUserRepository) Create(username, password string) (apiErr error) {
    64  	repo.CreateUserUsername = username
    65  	repo.CreateUserPassword = password
    66  
    67  	if repo.CreateUserReturnsHttpError {
    68  		apiErr = errors.NewHttpError(403, "403", "Forbidden")
    69  	}
    70  	if repo.CreateUserExists {
    71  		apiErr = errors.NewModelAlreadyExistsError("User", username)
    72  	}
    73  
    74  	return
    75  }
    76  
    77  func (repo *FakeUserRepository) Delete(userGuid string) (apiErr error) {
    78  	repo.DeleteUserGuid = userGuid
    79  	return
    80  }
    81  
    82  func (repo *FakeUserRepository) SetOrgRole(userGuid, orgGuid, role string) (apiErr error) {
    83  	repo.SetOrgRoleUserGuid = userGuid
    84  	repo.SetOrgRoleOrganizationGuid = orgGuid
    85  	repo.SetOrgRoleRole = role
    86  	return
    87  }
    88  
    89  func (repo *FakeUserRepository) UnsetOrgRole(userGuid, orgGuid, role string) (apiErr error) {
    90  	repo.UnsetOrgRoleUserGuid = userGuid
    91  	repo.UnsetOrgRoleOrganizationGuid = orgGuid
    92  	repo.UnsetOrgRoleRole = role
    93  	return
    94  }
    95  
    96  func (repo *FakeUserRepository) SetSpaceRole(userGuid, spaceGuid, orgGuid, role string) (apiErr error) {
    97  	repo.SetSpaceRoleUserGuid = userGuid
    98  	repo.SetSpaceRoleOrgGuid = orgGuid
    99  	repo.SetSpaceRoleSpaceGuid = spaceGuid
   100  	repo.SetSpaceRoleRole = role
   101  	return
   102  }
   103  
   104  func (repo *FakeUserRepository) UnsetSpaceRole(userGuid, spaceGuid, role string) (apiErr error) {
   105  	repo.UnsetSpaceRoleUserGuid = userGuid
   106  	repo.UnsetSpaceRoleSpaceGuid = spaceGuid
   107  	repo.UnsetSpaceRoleRole = role
   108  	return
   109  }