Skip to content

Commit 46595cb

Browse files
Alex MelnikStu Pollock
authored andcommitted
added integration tests for install-plugin from URL
[#142580147] Signed-off-by: Stu Pollock <[email protected]>
1 parent 477e4e8 commit 46595cb

File tree

10 files changed

+931
-133
lines changed

10 files changed

+931
-133
lines changed

actor/pluginaction/install.go

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -90,18 +90,17 @@ func (actor Actor) CreateExecutableCopy(path string) (string, error) {
9090
return executablePath, nil
9191
}
9292

93-
// FileExists returns true if the file exists. It returns false if the file
94-
// doesn't exist or there is an error checking.
95-
func (_ Actor) FileExists(path string) bool {
96-
if _, err := os.Stat(path); err == nil {
97-
return true
98-
}
99-
return false
93+
// FetchPluginFromURL fetches a plugin binary from the specified URL, if
94+
// it exists.
95+
func (actor Actor) FetchPluginFromURL(path string) (string, error) {
96+
return "", nil
10097
}
10198

102-
func (actor Actor) IsPluginInstalled(pluginName string) bool {
103-
_, isInstalled := actor.config.GetPlugin(pluginName)
104-
return isInstalled
99+
// FileExists returns true if the file exists. It returns false if the file
100+
// doesn't exist or there is an error checking.
101+
func (actor Actor) FileExists(path string) bool {
102+
_, err := os.Stat(path)
103+
return err == nil
105104
}
106105

107106
func (actor Actor) GetAndValidatePlugin(pluginMetadata PluginMetadata, commandList CommandList, path string) (configv3.Plugin, error) {
@@ -187,3 +186,8 @@ func (actor Actor) InstallPluginFromPath(path string, plugin configv3.Plugin) er
187186

188187
return nil
189188
}
189+
190+
func (actor Actor) IsPluginInstalled(pluginName string) bool {
191+
_, isInstalled := actor.config.GetPlugin(pluginName)
192+
return isInstalled
193+
}

command/common/commonfakes/fake_install_plugin_actor.go

Lines changed: 129 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,19 @@ type FakeInstallPluginActor struct {
2323
result1 string
2424
result2 error
2525
}
26+
FetchPluginFromURLStub func(url string) (string, error)
27+
fetchPluginFromURLMutex sync.RWMutex
28+
fetchPluginFromURLArgsForCall []struct {
29+
url string
30+
}
31+
fetchPluginFromURLReturns struct {
32+
result1 string
33+
result2 error
34+
}
35+
fetchPluginFromURLReturnsOnCall map[int]struct {
36+
result1 string
37+
result2 error
38+
}
2639
FileExistsStub func(path string) bool
2740
fileExistsMutex sync.RWMutex
2841
fileExistsArgsForCall []struct {
@@ -49,6 +62,18 @@ type FakeInstallPluginActor struct {
4962
result1 configv3.Plugin
5063
result2 error
5164
}
65+
InstallPluginFromPathStub func(path string, plugin configv3.Plugin) error
66+
installPluginFromPathMutex sync.RWMutex
67+
installPluginFromPathArgsForCall []struct {
68+
path string
69+
plugin configv3.Plugin
70+
}
71+
installPluginFromPathReturns struct {
72+
result1 error
73+
}
74+
installPluginFromPathReturnsOnCall map[int]struct {
75+
result1 error
76+
}
5277
IsPluginInstalledStub func(pluginName string) bool
5378
isPluginInstalledMutex sync.RWMutex
5479
isPluginInstalledArgsForCall []struct {
@@ -72,18 +97,6 @@ type FakeInstallPluginActor struct {
7297
uninstallPluginReturnsOnCall map[int]struct {
7398
result1 error
7499
}
75-
InstallPluginFromPathStub func(path string, plugin configv3.Plugin) error
76-
installPluginFromPathMutex sync.RWMutex
77-
installPluginFromPathArgsForCall []struct {
78-
path string
79-
plugin configv3.Plugin
80-
}
81-
installPluginFromPathReturns struct {
82-
result1 error
83-
}
84-
installPluginFromPathReturnsOnCall map[int]struct {
85-
result1 error
86-
}
87100
invocations map[string][][]interface{}
88101
invocationsMutex sync.RWMutex
89102
}
@@ -139,6 +152,57 @@ func (fake *FakeInstallPluginActor) CreateExecutableCopyReturnsOnCall(i int, res
139152
}{result1, result2}
140153
}
141154

155+
func (fake *FakeInstallPluginActor) FetchPluginFromURL(url string) (string, error) {
156+
fake.fetchPluginFromURLMutex.Lock()
157+
ret, specificReturn := fake.fetchPluginFromURLReturnsOnCall[len(fake.fetchPluginFromURLArgsForCall)]
158+
fake.fetchPluginFromURLArgsForCall = append(fake.fetchPluginFromURLArgsForCall, struct {
159+
url string
160+
}{url})
161+
fake.recordInvocation("FetchPluginFromURL", []interface{}{url})
162+
fake.fetchPluginFromURLMutex.Unlock()
163+
if fake.FetchPluginFromURLStub != nil {
164+
return fake.FetchPluginFromURLStub(url)
165+
}
166+
if specificReturn {
167+
return ret.result1, ret.result2
168+
}
169+
return fake.fetchPluginFromURLReturns.result1, fake.fetchPluginFromURLReturns.result2
170+
}
171+
172+
func (fake *FakeInstallPluginActor) FetchPluginFromURLCallCount() int {
173+
fake.fetchPluginFromURLMutex.RLock()
174+
defer fake.fetchPluginFromURLMutex.RUnlock()
175+
return len(fake.fetchPluginFromURLArgsForCall)
176+
}
177+
178+
func (fake *FakeInstallPluginActor) FetchPluginFromURLArgsForCall(i int) string {
179+
fake.fetchPluginFromURLMutex.RLock()
180+
defer fake.fetchPluginFromURLMutex.RUnlock()
181+
return fake.fetchPluginFromURLArgsForCall[i].url
182+
}
183+
184+
func (fake *FakeInstallPluginActor) FetchPluginFromURLReturns(result1 string, result2 error) {
185+
fake.FetchPluginFromURLStub = nil
186+
fake.fetchPluginFromURLReturns = struct {
187+
result1 string
188+
result2 error
189+
}{result1, result2}
190+
}
191+
192+
func (fake *FakeInstallPluginActor) FetchPluginFromURLReturnsOnCall(i int, result1 string, result2 error) {
193+
fake.FetchPluginFromURLStub = nil
194+
if fake.fetchPluginFromURLReturnsOnCall == nil {
195+
fake.fetchPluginFromURLReturnsOnCall = make(map[int]struct {
196+
result1 string
197+
result2 error
198+
})
199+
}
200+
fake.fetchPluginFromURLReturnsOnCall[i] = struct {
201+
result1 string
202+
result2 error
203+
}{result1, result2}
204+
}
205+
142206
func (fake *FakeInstallPluginActor) FileExists(path string) bool {
143207
fake.fileExistsMutex.Lock()
144208
ret, specificReturn := fake.fileExistsReturnsOnCall[len(fake.fileExistsArgsForCall)]
@@ -240,6 +304,55 @@ func (fake *FakeInstallPluginActor) GetAndValidatePluginReturnsOnCall(i int, res
240304
}{result1, result2}
241305
}
242306

307+
func (fake *FakeInstallPluginActor) InstallPluginFromPath(path string, plugin configv3.Plugin) error {
308+
fake.installPluginFromPathMutex.Lock()
309+
ret, specificReturn := fake.installPluginFromPathReturnsOnCall[len(fake.installPluginFromPathArgsForCall)]
310+
fake.installPluginFromPathArgsForCall = append(fake.installPluginFromPathArgsForCall, struct {
311+
path string
312+
plugin configv3.Plugin
313+
}{path, plugin})
314+
fake.recordInvocation("InstallPluginFromPath", []interface{}{path, plugin})
315+
fake.installPluginFromPathMutex.Unlock()
316+
if fake.InstallPluginFromPathStub != nil {
317+
return fake.InstallPluginFromPathStub(path, plugin)
318+
}
319+
if specificReturn {
320+
return ret.result1
321+
}
322+
return fake.installPluginFromPathReturns.result1
323+
}
324+
325+
func (fake *FakeInstallPluginActor) InstallPluginFromPathCallCount() int {
326+
fake.installPluginFromPathMutex.RLock()
327+
defer fake.installPluginFromPathMutex.RUnlock()
328+
return len(fake.installPluginFromPathArgsForCall)
329+
}
330+
331+
func (fake *FakeInstallPluginActor) InstallPluginFromPathArgsForCall(i int) (string, configv3.Plugin) {
332+
fake.installPluginFromPathMutex.RLock()
333+
defer fake.installPluginFromPathMutex.RUnlock()
334+
return fake.installPluginFromPathArgsForCall[i].path, fake.installPluginFromPathArgsForCall[i].plugin
335+
}
336+
337+
func (fake *FakeInstallPluginActor) InstallPluginFromPathReturns(result1 error) {
338+
fake.InstallPluginFromPathStub = nil
339+
fake.installPluginFromPathReturns = struct {
340+
result1 error
341+
}{result1}
342+
}
343+
344+
func (fake *FakeInstallPluginActor) InstallPluginFromPathReturnsOnCall(i int, result1 error) {
345+
fake.InstallPluginFromPathStub = nil
346+
if fake.installPluginFromPathReturnsOnCall == nil {
347+
fake.installPluginFromPathReturnsOnCall = make(map[int]struct {
348+
result1 error
349+
})
350+
}
351+
fake.installPluginFromPathReturnsOnCall[i] = struct {
352+
result1 error
353+
}{result1}
354+
}
355+
243356
func (fake *FakeInstallPluginActor) IsPluginInstalled(pluginName string) bool {
244357
fake.isPluginInstalledMutex.Lock()
245358
ret, specificReturn := fake.isPluginInstalledReturnsOnCall[len(fake.isPluginInstalledArgsForCall)]
@@ -337,70 +450,23 @@ func (fake *FakeInstallPluginActor) UninstallPluginReturnsOnCall(i int, result1
337450
}{result1}
338451
}
339452

340-
func (fake *FakeInstallPluginActor) InstallPluginFromPath(path string, plugin configv3.Plugin) error {
341-
fake.installPluginFromPathMutex.Lock()
342-
ret, specificReturn := fake.installPluginFromPathReturnsOnCall[len(fake.installPluginFromPathArgsForCall)]
343-
fake.installPluginFromPathArgsForCall = append(fake.installPluginFromPathArgsForCall, struct {
344-
path string
345-
plugin configv3.Plugin
346-
}{path, plugin})
347-
fake.recordInvocation("InstallPluginFromPath", []interface{}{path, plugin})
348-
fake.installPluginFromPathMutex.Unlock()
349-
if fake.InstallPluginFromPathStub != nil {
350-
return fake.InstallPluginFromPathStub(path, plugin)
351-
}
352-
if specificReturn {
353-
return ret.result1
354-
}
355-
return fake.installPluginFromPathReturns.result1
356-
}
357-
358-
func (fake *FakeInstallPluginActor) InstallPluginFromPathCallCount() int {
359-
fake.installPluginFromPathMutex.RLock()
360-
defer fake.installPluginFromPathMutex.RUnlock()
361-
return len(fake.installPluginFromPathArgsForCall)
362-
}
363-
364-
func (fake *FakeInstallPluginActor) InstallPluginFromPathArgsForCall(i int) (string, configv3.Plugin) {
365-
fake.installPluginFromPathMutex.RLock()
366-
defer fake.installPluginFromPathMutex.RUnlock()
367-
return fake.installPluginFromPathArgsForCall[i].path, fake.installPluginFromPathArgsForCall[i].plugin
368-
}
369-
370-
func (fake *FakeInstallPluginActor) InstallPluginFromPathReturns(result1 error) {
371-
fake.InstallPluginFromPathStub = nil
372-
fake.installPluginFromPathReturns = struct {
373-
result1 error
374-
}{result1}
375-
}
376-
377-
func (fake *FakeInstallPluginActor) InstallPluginFromPathReturnsOnCall(i int, result1 error) {
378-
fake.InstallPluginFromPathStub = nil
379-
if fake.installPluginFromPathReturnsOnCall == nil {
380-
fake.installPluginFromPathReturnsOnCall = make(map[int]struct {
381-
result1 error
382-
})
383-
}
384-
fake.installPluginFromPathReturnsOnCall[i] = struct {
385-
result1 error
386-
}{result1}
387-
}
388-
389453
func (fake *FakeInstallPluginActor) Invocations() map[string][][]interface{} {
390454
fake.invocationsMutex.RLock()
391455
defer fake.invocationsMutex.RUnlock()
392456
fake.createExecutableCopyMutex.RLock()
393457
defer fake.createExecutableCopyMutex.RUnlock()
458+
fake.fetchPluginFromURLMutex.RLock()
459+
defer fake.fetchPluginFromURLMutex.RUnlock()
394460
fake.fileExistsMutex.RLock()
395461
defer fake.fileExistsMutex.RUnlock()
396462
fake.getAndValidatePluginMutex.RLock()
397463
defer fake.getAndValidatePluginMutex.RUnlock()
464+
fake.installPluginFromPathMutex.RLock()
465+
defer fake.installPluginFromPathMutex.RUnlock()
398466
fake.isPluginInstalledMutex.RLock()
399467
defer fake.isPluginInstalledMutex.RUnlock()
400468
fake.uninstallPluginMutex.RLock()
401469
defer fake.uninstallPluginMutex.RUnlock()
402-
fake.installPluginFromPathMutex.RLock()
403-
defer fake.installPluginFromPathMutex.RUnlock()
404470
return fake.invocations
405471
}
406472

0 commit comments

Comments
 (0)