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  }