github.com/rakutentech/cli@v6.12.5-0.20151006231303-24468b65536e+incompatible/testhelpers/requirements/fake_req_factory.go (about) 1 package requirements 2 3 import ( 4 "github.com/cloudfoundry/cli/cf/models" 5 "github.com/cloudfoundry/cli/cf/requirements" 6 ) 7 8 type FakeReqFactory struct { 9 ApplicationName string 10 Application models.Application 11 12 ServiceInstanceName string 13 ServiceInstance models.ServiceInstance 14 15 LoginSuccess bool 16 ApiEndpointSuccess bool 17 ValidAccessTokenSuccess bool 18 TargetedSpaceSuccess bool 19 TargetedOrgSuccess bool 20 BuildpackSuccess bool 21 22 ServiceInstanceNotFound bool 23 24 SpaceName string 25 Space models.Space 26 27 OrganizationName string 28 Organization models.Organization 29 OrganizationFields models.OrganizationFields 30 31 RouteHost string 32 RouteDomain string 33 Route models.Route 34 35 DomainName string 36 Domain models.DomainFields 37 38 UserUsername string 39 UserFields models.UserFields 40 41 Buildpack models.Buildpack 42 43 MinCCApiVersionCommandName string 44 MinCCApiVersionMajor int 45 MinCCApiVersionMinor int 46 MinCCApiVersionPatch int 47 } 48 49 func (f *FakeReqFactory) NewApplicationRequirement(name string) requirements.ApplicationRequirement { 50 f.ApplicationName = name 51 return FakeRequirement{f, true} 52 } 53 54 func (f *FakeReqFactory) NewServiceInstanceRequirement(name string) requirements.ServiceInstanceRequirement { 55 f.ServiceInstanceName = name 56 return FakeRequirement{f, !f.ServiceInstanceNotFound} 57 } 58 59 func (f *FakeReqFactory) NewLoginRequirement() requirements.Requirement { 60 return FakeRequirement{f, f.LoginSuccess} 61 } 62 63 func (f *FakeReqFactory) NewTargetedSpaceRequirement() requirements.Requirement { 64 return FakeRequirement{f, f.TargetedSpaceSuccess} 65 } 66 67 func (f *FakeReqFactory) NewTargetedOrgRequirement() requirements.TargetedOrgRequirement { 68 return FakeRequirement{f, f.TargetedOrgSuccess} 69 } 70 71 func (f *FakeReqFactory) NewSpaceRequirement(name string) requirements.SpaceRequirement { 72 f.SpaceName = name 73 return FakeRequirement{f, true} 74 } 75 76 func (f *FakeReqFactory) NewOrganizationRequirement(name string) requirements.OrganizationRequirement { 77 f.OrganizationName = name 78 return FakeRequirement{f, true} 79 } 80 81 func (f *FakeReqFactory) NewDomainRequirement(name string) requirements.DomainRequirement { 82 f.DomainName = name 83 return FakeRequirement{f, true} 84 } 85 86 func (f *FakeReqFactory) NewUserRequirement(username string) requirements.UserRequirement { 87 f.UserUsername = username 88 return FakeRequirement{f, true} 89 } 90 91 func (f *FakeReqFactory) NewBuildpackRequirement(buildpack string) requirements.BuildpackRequirement { 92 f.Buildpack.Name = buildpack 93 return FakeRequirement{f, f.BuildpackSuccess} 94 } 95 96 func (f *FakeReqFactory) NewApiEndpointRequirement() requirements.Requirement { 97 return FakeRequirement{f, f.ApiEndpointSuccess} 98 } 99 100 func (f *FakeReqFactory) NewMinCCApiVersionRequirement(commandName string, major, minor, patch int) requirements.Requirement { 101 f.MinCCApiVersionCommandName = commandName 102 f.MinCCApiVersionMajor = major 103 f.MinCCApiVersionMinor = minor 104 f.MinCCApiVersionPatch = patch 105 return FakeRequirement{f, true} 106 } 107 108 type FakeRequirement struct { 109 factory *FakeReqFactory 110 success bool 111 } 112 113 func (r FakeRequirement) Execute() (success bool) { 114 return r.success 115 } 116 117 func (r FakeRequirement) GetApplication() models.Application { 118 return r.factory.Application 119 } 120 121 func (r FakeRequirement) GetServiceInstance() models.ServiceInstance { 122 return r.factory.ServiceInstance 123 } 124 125 func (r FakeRequirement) SetSpaceName(name string) { 126 } 127 128 func (r FakeRequirement) GetSpace() models.Space { 129 return r.factory.Space 130 } 131 132 func (r FakeRequirement) SetOrganizationName(name string) { 133 } 134 135 func (r FakeRequirement) GetOrganization() models.Organization { 136 return r.factory.Organization 137 } 138 139 func (r FakeRequirement) GetOrganizationFields() models.OrganizationFields { 140 return r.factory.OrganizationFields 141 } 142 143 func (r FakeRequirement) GetRoute() models.Route { 144 return r.factory.Route 145 } 146 147 func (r FakeRequirement) GetDomain() models.DomainFields { 148 return r.factory.Domain 149 } 150 151 func (r FakeRequirement) GetUser() models.UserFields { 152 return r.factory.UserFields 153 } 154 155 func (r FakeRequirement) GetBuildpack() models.Buildpack { 156 return r.factory.Buildpack 157 }