mirror of
https://github.com/MedzikUser/go-github-selfupdate.git
synced 2024-08-15 03:25:29 +00:00
add tests for GitHub Enterprise more
These tests require GHE environment. Please set following environment variables: - $GITHUB_ENTERPRISE_TOKEN - $GITHUB_ENTERPRISE_BASE_URL - $GITHUB_ENTERPRISE_REPO
This commit is contained in:
parent
89582ba9d1
commit
a8d7262d70
2 changed files with 79 additions and 0 deletions
|
@ -3,6 +3,7 @@ package selfupdate
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/blang/semver"
|
"github.com/blang/semver"
|
||||||
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
@ -177,3 +178,37 @@ func TestDetectFromBrokenGitHubEnterpriseURL(t *testing.T) {
|
||||||
t.Fatal("Invalid GitHub Enterprise base URL should raise an error")
|
t.Fatal("Invalid GitHub Enterprise base URL should raise an error")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestDetectFromGitHubEnterpriseRepo(t *testing.T) {
|
||||||
|
token := os.Getenv("GITHUB_ENTERPRISE_TOKEN")
|
||||||
|
base := os.Getenv("GITHUB_ENTERPRISE_BASE_URL")
|
||||||
|
repo := os.Getenv("GITHUB_ENTERPRISE_REPO")
|
||||||
|
if token == "" {
|
||||||
|
t.Skip("because token for GHE is not found")
|
||||||
|
}
|
||||||
|
if base == "" {
|
||||||
|
t.Skip("because base URL for GHE is not found")
|
||||||
|
}
|
||||||
|
if repo == "" {
|
||||||
|
t.Skip("because repo slug for GHE is not found")
|
||||||
|
}
|
||||||
|
|
||||||
|
up, err := NewUpdater(Config{APIToken: token, EnterpriseBaseURL: base})
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
r, ok, err := up.DetectLatest(repo)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal("Fetch failed:", err)
|
||||||
|
}
|
||||||
|
if !ok {
|
||||||
|
t.Fatal(repo, "not found")
|
||||||
|
}
|
||||||
|
if r == nil {
|
||||||
|
t.Fatal("Release not detected")
|
||||||
|
}
|
||||||
|
if !r.Version.Equals(semver.MustParse("1.2.3")) {
|
||||||
|
t.Error("")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -270,3 +270,47 @@ func TestBrokenGitHubEnterpriseURL(t *testing.T) {
|
||||||
t.Error("Unexpected error occurred:", err)
|
t.Error("Unexpected error occurred:", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestUpdateFromGitHubEnterprise(t *testing.T) {
|
||||||
|
token := os.Getenv("GITHUB_ENTERPRISE_TOKEN")
|
||||||
|
base := os.Getenv("GITHUB_ENTERPRISE_BASE_URL")
|
||||||
|
repo := os.Getenv("GITHUB_ENTERPRISE_REPO")
|
||||||
|
if token == "" {
|
||||||
|
t.Skip("because token for GHE is not found")
|
||||||
|
}
|
||||||
|
if base == "" {
|
||||||
|
t.Skip("because base URL for GHE is not found")
|
||||||
|
}
|
||||||
|
if repo == "" {
|
||||||
|
t.Skip("because repo slug for GHE is not found")
|
||||||
|
}
|
||||||
|
|
||||||
|
setupTestBinary()
|
||||||
|
defer teardownTestBinary()
|
||||||
|
|
||||||
|
up, err := NewUpdater(Config{APIToken: token, EnterpriseBaseURL: base})
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
latest := semver.MustParse("1.2.3")
|
||||||
|
prev := semver.MustParse("1.2.2")
|
||||||
|
rel, err := up.UpdateCommand("github-release-test", prev, repo)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if rel.Version.NE(latest) {
|
||||||
|
t.Error("Version is not latest", rel.Version)
|
||||||
|
}
|
||||||
|
|
||||||
|
bytes, err := exec.Command(filepath.FromSlash("./github-release-test")).Output()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal("Failed to run test binary after update:", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
out := string(bytes)
|
||||||
|
if out != "v1.2.3\n" {
|
||||||
|
t.Error("Output from test binary after update is unexpected:", out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue