MCPcopy Create free account
hub / github.com/devspace-sh/devspace / TestUpgrade

Function TestUpgrade

pkg/devspace/upgrade/upgrade_test.go:29–87  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

27}
28
29func TestUpgrade(t *testing.T) {
30 t.Skip("Skip because of some API-limit")
31 //Create TmpFolder
32 dir := t.TempDir()
33
34 wdBackup, err := os.Getwd()
35 if err != nil {
36 t.Fatalf("Error getting current working directory: %v", err)
37 }
38 err = os.Chdir(dir)
39 if err != nil {
40 t.Fatalf("Error changing working directory: %v", err)
41 }
42
43 // Cleanup temp folder
44 defer func() {
45 err = os.Chdir(wdBackup)
46 if err != nil {
47 t.Fatalf("Error changing dir back: %v", err)
48 }
49 }()
50
51 logFile, err := os.CreateTemp(dir, "log")
52 if err != nil {
53 t.Fatalf("Error creating temporary log file: %v", err)
54 }
55 *(os.Stderr) = *logFile
56
57 latest, found, err := selfupdate.DetectLatest(githubSlug)
58 if err != nil {
59 t.Fatalf("Error searching for version: %v", err)
60 } else if !found {
61 t.Fatalf("No version found.")
62 }
63
64 versionBackup := version
65 version = latest.Version.String()
66 defer func() { version = versionBackup }()
67
68 // Newest version already reached
69 err = Upgrade("")
70 assert.Equal(t, false, err != nil, "Upgrade returned error if newest version already reached")
71 err = logFile.Close()
72 if err != nil {
73 t.Fatalf("Error closing temporary log file: %v", err)
74 }
75 logs, err := os.ReadFile(logFile.Name())
76 if err != nil {
77 t.Fatalf("Error reading temporary log file: %v", err)
78 }
79 assert.Equal(t, true, strings.Contains(string(logs), "Current binary is the latest version: "+version))
80
81 // Invalid githubSlug causes search to return an error
82 githubSlugBackup := githubSlug
83 githubSlug = ""
84 defer func() { githubSlug = githubSlugBackup }()
85 err = Upgrade("")
86 assert.Equal(t, true, err != nil, "No error returned if DetectLatest returns one.")

Callers

nothing calls this directly

Calls 6

UpgradeFunction · 0.85
EqualMethod · 0.80
CloseMethod · 0.65
NameMethod · 0.65
FatalfMethod · 0.45
StringMethod · 0.45

Tested by

no test coverage detected