Skip to content

Commit b839c8a

Browse files
committed
Updates to integration tests
Signed-off-by: Alex Ellis (OpenFaaS Ltd) <[email protected]>
1 parent ba8b631 commit b839c8a

File tree

3 files changed

+29
-20
lines changed

3 files changed

+29
-20
lines changed

commands/fetch_templates.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,8 +256,10 @@ func pullTemplate(repository, templateName string) error {
256256
}
257257
}
258258

259-
if !versioncontrol.IsGitRemote(baseRepository) && !versioncontrol.IsPinnedGitRemote(baseRepository) {
260-
return fmt.Errorf("the repository URL must be a valid git repo uri")
259+
if !isValidFilesystemPath(repository) {
260+
if !versioncontrol.IsGitRemote(baseRepository) && !versioncontrol.IsPinnedGitRemote(baseRepository) {
261+
return fmt.Errorf("the repository URL must be a valid git repo uri")
262+
}
261263
}
262264

263265
repository, refName := versioncontrol.ParsePinnedRemote(repository)
@@ -286,3 +288,10 @@ type TemplateMeta struct {
286288
Sha string `json:"sha,omitempty"`
287289
WrittenAt time.Time `json:"written_at"`
288290
}
291+
292+
func isValidFilesystemPath(path string) bool {
293+
if _, err := os.Stat(path); err == nil {
294+
return true
295+
}
296+
return false
297+
}

commands/fetch_templates_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,11 @@ func Test_PullTemplates(t *testing.T) {
2929
}
3030
})
3131

32+
overwrite := true
3233
t.Run("fetchTemplates with master ref", func(t *testing.T) {
3334
defer tearDownFetchTemplates(t)
3435

35-
if err := fetchTemplates(localTemplateRepository, "master", templateName, false); err != nil {
36+
if err := fetchTemplates(localTemplateRepository, "master", templateName, overwrite); err != nil {
3637
t.Fatal(err)
3738
}
3839

@@ -42,7 +43,7 @@ func Test_PullTemplates(t *testing.T) {
4243
defer tearDownFetchTemplates(t)
4344

4445
templateName := ""
45-
if err := fetchTemplates(localTemplateRepository, "", templateName, false); err != nil {
46+
if err := fetchTemplates(localTemplateRepository, "", templateName, overwrite); err != nil {
4647
t.Error(err)
4748
}
4849

commands/template_pull_test.go

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ func Test_templatePull(t *testing.T) {
2222
faasCmd.SetArgs([]string{"template", "pull", localTemplateRepository})
2323
err := faasCmd.Execute()
2424
if err != nil {
25-
t.Errorf("unexpected error while puling valid repo: %s", err.Error())
25+
t.Fatalf("unexpected error while puling valid repo (%q): %s", localTemplateRepository, err.Error())
2626
}
2727

2828
// Verify created directories
@@ -33,33 +33,31 @@ func Test_templatePull(t *testing.T) {
3333

3434
t.Run("WithOverwriting", func(t *testing.T) {
3535
defer tearDownFetchTemplates(t)
36-
37-
faasCmd.SetArgs([]string{"template", "pull", localTemplateRepository})
38-
err := faasCmd.Execute()
39-
if err != nil {
40-
t.Errorf("unexpected error while executing template pull: %s", err.Error())
36+
faasCmd.SetArgs([]string{"template", "pull", "--overwrite=false", localTemplateRepository})
37+
if err := faasCmd.Execute(); err != nil {
38+
t.Errorf("unexpected error while executing initial template pull: %s", err.Error())
4139
}
4240

4341
var buf bytes.Buffer
4442
log.SetOutput(&buf)
4543

46-
r := regexp.MustCompile(`(?m:Cannot overwrite the following \d+ template\(s\):)`)
47-
48-
faasCmd.SetArgs([]string{"template", "pull", localTemplateRepository})
49-
err = faasCmd.Execute()
50-
if err != nil {
44+
overwrite = false
45+
faasCmd.SetArgs([]string{"template", "pull", "--overwrite=false", localTemplateRepository})
46+
if err := faasCmd.Execute(); err != nil {
5147
t.Errorf("unexpected error while executing template pull: %s", err.Error())
5248
}
5349

50+
r := regexp.MustCompile(`(?m:Cannot overwrite the following \d+ template\(s\):)`)
5451
if !r.MatchString(buf.String()) {
55-
t.Fatal(buf.String())
52+
t.Fatalf("Output from stdio didn't match expression: %s\nvs: %s", buf.String(), r.String())
5653
}
5754

5855
buf.Reset()
5956

57+
overwrite = true
58+
6059
faasCmd.SetArgs([]string{"template", "pull", localTemplateRepository, "--overwrite"})
61-
err = faasCmd.Execute()
62-
if err != nil {
60+
if err := faasCmd.Execute(); err != nil {
6361
t.Errorf("unexpected error while executing template pull with --overwrite: %s", err.Error())
6462
}
6563

@@ -80,10 +78,11 @@ func Test_templatePull(t *testing.T) {
8078
want := "the repository URL must be a valid git repo uri"
8179
got := err.Error()
8280
if !strings.Contains(err.Error(), want) {
83-
t.Errorf("The error should contain:\n%q\n, but was:\n%q", want, got)
81+
t.Fatalf("The error should contain:\n%q\n, but was:\n%q", want, got)
8482
}
8583
})
8684
}
85+
8786
func Test_templatePullPriority(t *testing.T) {
8887
templateURLs := []struct {
8988
name string
@@ -113,7 +112,7 @@ func Test_templatePullPriority(t *testing.T) {
113112
},
114113
}
115114
for _, scenario := range templateURLs {
116-
t.Run(fmt.Sprintf("%s", scenario.name), func(t *testing.T) {
115+
t.Run(scenario.name, func(t *testing.T) {
117116
repository = getTemplateURL(scenario.cliURL, scenario.envURL, DefaultTemplateRepository)
118117
if repository != scenario.resultURL {
119118
t.Errorf("result URL, want %s got %s", scenario.resultURL, repository)

0 commit comments

Comments
 (0)