github.com/asifdxtreme/cli@v6.1.3-0.20150123051144-9ead8700b4ae+incompatible/cf/api/applications/fakes/fake_application_repository.go (about)

     1  package fakes
     2  
     3  import (
     4  	"errors"
     5  	"sync"
     6  
     7  	"github.com/cloudfoundry/cli/cf/api/applications"
     8  	"github.com/cloudfoundry/cli/cf/models"
     9  )
    10  
    11  type FakeApplicationRepository struct {
    12  	FindAllApps []models.Application
    13  
    14  	ReadCalls int
    15  	ReadArgs  struct {
    16  		Name string
    17  	}
    18  	ReadReturns struct {
    19  		App   models.Application
    20  		Error error
    21  	}
    22  
    23  	CreateAppParams []models.AppParams
    24  
    25  	UpdateParams    models.AppParams
    26  	UpdateAppGuid   string
    27  	UpdateAppResult models.Application
    28  	UpdateErr       bool
    29  
    30  	DeletedAppGuid string
    31  
    32  	CreateRestageRequestArgs struct {
    33  		AppGuid string
    34  	}
    35  
    36  	ReadFromSpaceStub        func(name string, spaceGuid string) (app models.Application, apiErr error)
    37  	readFromSpaceMutex       sync.RWMutex
    38  	readFromSpaceArgsForCall []struct {
    39  		name      string
    40  		spaceGuid string
    41  	}
    42  	readFromSpaceReturns struct {
    43  		result1 models.Application
    44  		result2 error
    45  	}
    46  
    47  	ReadEnvStub        func(guid string) (*models.Environment, error)
    48  	readEnvMutex       sync.RWMutex
    49  	readEnvArgsForCall []struct {
    50  		guid string
    51  	}
    52  	readEnvReturns struct {
    53  		result1 *models.Environment
    54  		result2 error
    55  	}
    56  }
    57  
    58  //counterfeiter section
    59  func (fake *FakeApplicationRepository) ReadFromSpace(name string, spaceGuid string) (app models.Application, apiErr error) {
    60  	fake.readFromSpaceMutex.Lock()
    61  	defer fake.readFromSpaceMutex.Unlock()
    62  	fake.readFromSpaceArgsForCall = append(fake.readFromSpaceArgsForCall, struct {
    63  		name      string
    64  		spaceGuid string
    65  	}{name, spaceGuid})
    66  	if fake.ReadFromSpaceStub != nil {
    67  		return fake.ReadFromSpaceStub(name, spaceGuid)
    68  	} else {
    69  		return fake.readFromSpaceReturns.result1, fake.readFromSpaceReturns.result2
    70  	}
    71  }
    72  
    73  func (fake *FakeApplicationRepository) ReadFromSpaceCallCount() int {
    74  	fake.readFromSpaceMutex.RLock()
    75  	defer fake.readFromSpaceMutex.RUnlock()
    76  	return len(fake.readFromSpaceArgsForCall)
    77  }
    78  
    79  func (fake *FakeApplicationRepository) ReadFromSpaceArgsForCall(i int) (string, string) {
    80  	fake.readFromSpaceMutex.RLock()
    81  	defer fake.readFromSpaceMutex.RUnlock()
    82  	return fake.readFromSpaceArgsForCall[i].name, fake.readFromSpaceArgsForCall[i].spaceGuid
    83  }
    84  
    85  func (fake *FakeApplicationRepository) ReadFromSpaceReturns(result1 models.Application, result2 error) {
    86  	fake.readFromSpaceReturns = struct {
    87  		result1 models.Application
    88  		result2 error
    89  	}{result1, result2}
    90  }
    91  func (fake *FakeApplicationRepository) ReadEnv(guid string) (*models.Environment, error) {
    92  	fake.readEnvMutex.Lock()
    93  	fake.readEnvArgsForCall = append(fake.readEnvArgsForCall, struct {
    94  		guid string
    95  	}{guid})
    96  	fake.readEnvMutex.Unlock()
    97  	if fake.ReadEnvStub != nil {
    98  		return fake.ReadEnvStub(guid)
    99  	} else {
   100  		return fake.readEnvReturns.result1, fake.readEnvReturns.result2
   101  	}
   102  }
   103  
   104  func (fake *FakeApplicationRepository) ReadEnvCallCount() int {
   105  	fake.readEnvMutex.RLock()
   106  	defer fake.readEnvMutex.RUnlock()
   107  	return len(fake.readEnvArgsForCall)
   108  }
   109  
   110  func (fake *FakeApplicationRepository) ReadEnvArgsForCall(i int) string {
   111  	fake.readEnvMutex.RLock()
   112  	defer fake.readEnvMutex.RUnlock()
   113  	return fake.readEnvArgsForCall[i].guid
   114  }
   115  
   116  func (fake *FakeApplicationRepository) ReadEnvReturns(result1 *models.Environment, result2 error) {
   117  	fake.ReadEnvStub = nil
   118  	fake.readEnvReturns = struct {
   119  		result1 *models.Environment
   120  		result2 error
   121  	}{result1, result2}
   122  }
   123  
   124  //End counterfeiter section
   125  
   126  func (repo *FakeApplicationRepository) Read(name string) (app models.Application, apiErr error) {
   127  	repo.ReadCalls++
   128  	repo.ReadArgs.Name = name
   129  	return repo.ReadReturns.App, repo.ReadReturns.Error
   130  }
   131  
   132  func (repo *FakeApplicationRepository) CreatedAppParams() (params models.AppParams) {
   133  	if len(repo.CreateAppParams) > 0 {
   134  		params = repo.CreateAppParams[0]
   135  	}
   136  	return
   137  }
   138  
   139  func (repo *FakeApplicationRepository) Create(params models.AppParams) (resultApp models.Application, apiErr error) {
   140  	if repo.CreateAppParams == nil {
   141  		repo.CreateAppParams = []models.AppParams{}
   142  	}
   143  
   144  	repo.CreateAppParams = append(repo.CreateAppParams, params)
   145  
   146  	resultApp.Guid = *params.Name + "-guid"
   147  	resultApp.Name = *params.Name
   148  	resultApp.State = "stopped"
   149  	resultApp.EnvironmentVars = map[string]interface{}{}
   150  
   151  	if params.SpaceGuid != nil {
   152  		resultApp.SpaceGuid = *params.SpaceGuid
   153  	}
   154  	if params.BuildpackUrl != nil {
   155  		resultApp.BuildpackUrl = *params.BuildpackUrl
   156  	}
   157  	if params.Command != nil {
   158  		resultApp.Command = *params.Command
   159  	}
   160  	if params.DiskQuota != nil {
   161  		resultApp.DiskQuota = *params.DiskQuota
   162  	}
   163  	if params.InstanceCount != nil {
   164  		resultApp.InstanceCount = *params.InstanceCount
   165  	}
   166  	if params.Memory != nil {
   167  		resultApp.Memory = *params.Memory
   168  	}
   169  	if params.EnvironmentVars != nil {
   170  		resultApp.EnvironmentVars = *params.EnvironmentVars
   171  	}
   172  
   173  	return
   174  }
   175  
   176  func (repo *FakeApplicationRepository) Update(appGuid string, params models.AppParams) (updatedApp models.Application, apiErr error) {
   177  	repo.UpdateAppGuid = appGuid
   178  	repo.UpdateParams = params
   179  	updatedApp = repo.UpdateAppResult
   180  	if repo.UpdateErr {
   181  		apiErr = errors.New("Error updating app.")
   182  	}
   183  	return
   184  }
   185  
   186  func (repo *FakeApplicationRepository) Delete(appGuid string) (apiErr error) {
   187  	repo.DeletedAppGuid = appGuid
   188  	return
   189  }
   190  
   191  func (repo *FakeApplicationRepository) CreateRestageRequest(guid string) (apiErr error) {
   192  	repo.CreateRestageRequestArgs.AppGuid = guid
   193  	return nil
   194  }
   195  
   196  var _ applications.ApplicationRepository = new(FakeApplicationRepository)