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  }