github.com/asifdxtreme/cli@v6.1.3-0.20150123051144-9ead8700b4ae+incompatible/cf/api/fakes/fake_space_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 FakeSpaceRepository struct { 9 CurrentSpace models.Space 10 11 Spaces []models.Space 12 13 FindByNameName string 14 FindByNameSpace models.Space 15 FindByNameErr bool 16 FindByNameNotFound bool 17 18 FindByNameInOrgName string 19 FindByNameInOrgOrgGuid string 20 FindByNameInOrgSpace models.Space 21 FindByNameInOrgError error 22 23 SummarySpace models.Space 24 25 CreateSpaceName string 26 CreateSpaceOrgGuid string 27 CreateSpaceSpaceQuotaGuid string 28 CreateSpaceExists bool 29 CreateSpaceSpace models.Space 30 31 RenameSpaceGuid string 32 RenameNewName string 33 34 DeletedSpaceGuid string 35 } 36 37 func (repo FakeSpaceRepository) GetCurrentSpace() (space models.Space) { 38 return repo.CurrentSpace 39 } 40 41 func (repo FakeSpaceRepository) ListSpaces(callback func(models.Space) bool) error { 42 for _, space := range repo.Spaces { 43 if !callback(space) { 44 break 45 } 46 } 47 return nil 48 } 49 50 func (repo *FakeSpaceRepository) FindByName(name string) (space models.Space, apiErr error) { 51 repo.FindByNameName = name 52 53 var foundSpace bool = false 54 for _, someSpace := range repo.Spaces { 55 if name == someSpace.Name { 56 foundSpace = true 57 space = someSpace 58 break 59 } 60 } 61 62 if repo.FindByNameErr || !foundSpace { 63 apiErr = errors.New("Error finding space by name.") 64 } 65 66 if repo.FindByNameNotFound { 67 apiErr = errors.NewModelNotFoundError("Space", name) 68 } 69 70 return 71 } 72 73 func (repo *FakeSpaceRepository) FindByNameInOrg(name, orgGuid string) (space models.Space, apiErr error) { 74 repo.FindByNameInOrgName = name 75 repo.FindByNameInOrgOrgGuid = orgGuid 76 space = repo.FindByNameInOrgSpace 77 apiErr = repo.FindByNameInOrgError 78 return 79 } 80 81 func (repo *FakeSpaceRepository) GetSummary() (space models.Space, apiErr error) { 82 space = repo.SummarySpace 83 return 84 } 85 86 func (repo *FakeSpaceRepository) Create(name, orgGuid, spaceQuotaGuid string) (space models.Space, apiErr error) { 87 if repo.CreateSpaceExists { 88 apiErr = errors.NewHttpError(400, errors.SPACE_EXISTS, "Space already exists") 89 return 90 } 91 repo.CreateSpaceName = name 92 repo.CreateSpaceOrgGuid = orgGuid 93 repo.CreateSpaceSpaceQuotaGuid = spaceQuotaGuid 94 space = repo.CreateSpaceSpace 95 return 96 } 97 98 func (repo *FakeSpaceRepository) Rename(spaceGuid, newName string) (apiErr error) { 99 repo.RenameSpaceGuid = spaceGuid 100 repo.RenameNewName = newName 101 return 102 } 103 104 func (repo *FakeSpaceRepository) Delete(spaceGuid string) (apiErr error) { 105 repo.DeletedSpaceGuid = spaceGuid 106 return 107 }