github.com/asifdxtreme/cli@v6.1.3-0.20150123051144-9ead8700b4ae+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 SpaceName string 23 Space models.Space 24 25 OrganizationName string 26 Organization models.Organization 27 OrganizationFields models.OrganizationFields 28 29 RouteHost string 30 RouteDomain string 31 Route models.Route 32 33 DomainName string 34 Domain models.DomainFields 35 36 UserUsername string 37 UserFields models.UserFields 38 39 Buildpack models.Buildpack 40 41 MinCCApiVersionCommandName string 42 MinCCApiVersionMajor int 43 MinCCApiVersionMinor int 44 MinCCApiVersionPatch int 45 } 46 47 func (f *FakeReqFactory) NewApplicationRequirement(name string) requirements.ApplicationRequirement { 48 f.ApplicationName = name 49 return FakeRequirement{f, true} 50 } 51 52 func (f *FakeReqFactory) NewServiceInstanceRequirement(name string) requirements.ServiceInstanceRequirement { 53 f.ServiceInstanceName = name 54 return FakeRequirement{f, true} 55 } 56 57 func (f *FakeReqFactory) NewLoginRequirement() requirements.Requirement { 58 return FakeRequirement{f, f.LoginSuccess} 59 } 60 61 func (f *FakeReqFactory) NewTargetedSpaceRequirement() requirements.Requirement { 62 return FakeRequirement{f, f.TargetedSpaceSuccess} 63 } 64 65 func (f *FakeReqFactory) NewTargetedOrgRequirement() requirements.TargetedOrgRequirement { 66 return FakeRequirement{f, f.TargetedOrgSuccess} 67 } 68 69 func (f *FakeReqFactory) NewSpaceRequirement(name string) requirements.SpaceRequirement { 70 f.SpaceName = name 71 return FakeRequirement{f, true} 72 } 73 74 func (f *FakeReqFactory) NewOrganizationRequirement(name string) requirements.OrganizationRequirement { 75 f.OrganizationName = name 76 return FakeRequirement{f, true} 77 } 78 79 func (f *FakeReqFactory) NewDomainRequirement(name string) requirements.DomainRequirement { 80 f.DomainName = name 81 return FakeRequirement{f, true} 82 } 83 84 func (f *FakeReqFactory) NewUserRequirement(username string) requirements.UserRequirement { 85 f.UserUsername = username 86 return FakeRequirement{f, true} 87 } 88 89 func (f *FakeReqFactory) NewBuildpackRequirement(buildpack string) requirements.BuildpackRequirement { 90 f.Buildpack.Name = buildpack 91 return FakeRequirement{f, f.BuildpackSuccess} 92 } 93 94 func (f *FakeReqFactory) NewApiEndpointRequirement() requirements.Requirement { 95 return FakeRequirement{f, f.ApiEndpointSuccess} 96 } 97 98 func (f *FakeReqFactory) NewMinCCApiVersionRequirement(commandName string, major, minor, patch int) requirements.Requirement { 99 f.MinCCApiVersionCommandName = commandName 100 f.MinCCApiVersionMajor = major 101 f.MinCCApiVersionMinor = minor 102 f.MinCCApiVersionPatch = patch 103 return FakeRequirement{f, true} 104 } 105 106 type FakeRequirement struct { 107 factory *FakeReqFactory 108 success bool 109 } 110 111 func (r FakeRequirement) Execute() (success bool) { 112 return r.success 113 } 114 115 func (r FakeRequirement) GetApplication() models.Application { 116 return r.factory.Application 117 } 118 119 func (r FakeRequirement) GetServiceInstance() models.ServiceInstance { 120 return r.factory.ServiceInstance 121 } 122 123 func (r FakeRequirement) GetSpace() models.Space { 124 return r.factory.Space 125 } 126 127 func (r FakeRequirement) GetOrganization() models.Organization { 128 return r.factory.Organization 129 } 130 131 func (r FakeRequirement) GetOrganizationFields() models.OrganizationFields { 132 return r.factory.OrganizationFields 133 } 134 135 func (r FakeRequirement) GetRoute() models.Route { 136 return r.factory.Route 137 } 138 139 func (r FakeRequirement) GetDomain() models.DomainFields { 140 return r.factory.Domain 141 } 142 143 func (r FakeRequirement) GetUser() models.UserFields { 144 return r.factory.UserFields 145 } 146 147 func (r FakeRequirement) GetBuildpack() models.Buildpack { 148 return r.factory.Buildpack 149 }