forked from cloudfoundry/cli
-
Notifications
You must be signed in to change notification settings - Fork 0
/
fake_app_repo.go
116 lines (95 loc) · 2.75 KB
/
fake_app_repo.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
package fakes
import (
"github.com/cloudfoundry/cli/cf/errors"
"github.com/cloudfoundry/cli/cf/models"
)
type FakeApplicationRepository struct {
FindAllApps []models.Application
ReadArgs struct {
Name string
}
ReadReturns struct {
App models.Application
Error error
}
CreateAppParams []models.AppParams
UpdateParams models.AppParams
UpdateAppGuid string
UpdateAppResult models.Application
UpdateErr bool
DeletedAppGuid string
ReadEnvArgs struct {
AppGuid string
}
ReadEnvReturns struct {
UserEnv map[string]string
VcapServices string
Error error
}
CreateRestageRequestArgs struct {
AppGuid string
}
}
func (repo *FakeApplicationRepository) Read(name string) (app models.Application, apiErr error) {
repo.ReadArgs.Name = name
return repo.ReadReturns.App, repo.ReadReturns.Error
}
func (repo *FakeApplicationRepository) CreatedAppParams() (params models.AppParams) {
if len(repo.CreateAppParams) > 0 {
params = repo.CreateAppParams[0]
}
return
}
func (repo *FakeApplicationRepository) Create(params models.AppParams) (resultApp models.Application, apiErr error) {
if repo.CreateAppParams == nil {
repo.CreateAppParams = []models.AppParams{}
}
repo.CreateAppParams = append(repo.CreateAppParams, params)
resultApp.Guid = *params.Name + "-guid"
resultApp.Name = *params.Name
resultApp.State = "stopped"
resultApp.EnvironmentVars = map[string]string{}
if params.SpaceGuid != nil {
resultApp.SpaceGuid = *params.SpaceGuid
}
if params.BuildpackUrl != nil {
resultApp.BuildpackUrl = *params.BuildpackUrl
}
if params.Command != nil {
resultApp.Command = *params.Command
}
if params.DiskQuota != nil {
resultApp.DiskQuota = *params.DiskQuota
}
if params.InstanceCount != nil {
resultApp.InstanceCount = *params.InstanceCount
}
if params.Memory != nil {
resultApp.Memory = *params.Memory
}
if params.EnvironmentVars != nil {
resultApp.EnvironmentVars = *params.EnvironmentVars
}
return
}
func (repo *FakeApplicationRepository) Update(appGuid string, params models.AppParams) (updatedApp models.Application, apiErr error) {
repo.UpdateAppGuid = appGuid
repo.UpdateParams = params
updatedApp = repo.UpdateAppResult
if repo.UpdateErr {
apiErr = errors.New("Error updating app.")
}
return
}
func (repo *FakeApplicationRepository) Delete(appGuid string) (apiErr error) {
repo.DeletedAppGuid = appGuid
return
}
func (repo *FakeApplicationRepository) ReadEnv(appGuid string) (map[string]string, string, error) {
repo.ReadEnvArgs.AppGuid = appGuid
return repo.ReadEnvReturns.UserEnv, repo.ReadEnvReturns.VcapServices, repo.ReadEnvReturns.Error
}
func (repo *FakeApplicationRepository) CreateRestageRequest(guid string) (apiErr error) {
repo.CreateRestageRequestArgs.AppGuid = guid
return nil
}