- reduce complexity - use better tools to format the code - add more tests - and too many things to list here We are rewriting for V3, so these commits are sometimes big and not fully detailed. Of course, further work will be more documented.
50 lines
949 B
Go
50 lines
949 B
Go
package update
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
func TestDownloadLatestRelease(t *testing.T) {
|
|
// Reset the version to test the latest release
|
|
Version = "0.0.0"
|
|
|
|
// change "exe" to /tmp/test-katenary
|
|
exe = "/tmp/test-katenary"
|
|
defer os.Remove(exe)
|
|
|
|
// Now call the CheckLatestVersion function
|
|
version, assets, err := CheckLatestVersion()
|
|
if err != nil {
|
|
t.Errorf("Error getting latest version: %s", err)
|
|
}
|
|
|
|
fmt.Println("Version found", version)
|
|
|
|
// Touch exe binary
|
|
f, _ := os.OpenFile(exe, os.O_RDONLY|os.O_CREATE, 0o755)
|
|
f.Write(nil)
|
|
f.Close()
|
|
|
|
err = DownloadLatestVersion(assets)
|
|
if err != nil {
|
|
t.Errorf("Error: %s", err)
|
|
}
|
|
}
|
|
|
|
func TestAlreadyUpToDate(t *testing.T) {
|
|
Version = "99999.999.99"
|
|
exe = "/tmp/test-katenary"
|
|
defer os.Remove(exe)
|
|
|
|
// Call the version check
|
|
version, _, err := CheckLatestVersion()
|
|
|
|
if err == nil {
|
|
t.Errorf("Error: %s", err)
|
|
}
|
|
|
|
t.Log("Version is already the most recent", version)
|
|
}
|