Adding upstream version 1.2.3.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
3a3aa427d7
commit
e7ed09875d
58 changed files with 3068 additions and 0 deletions
106
selfupdate/updater_test.go
Normal file
106
selfupdate/updater_test.go
Normal file
|
@ -0,0 +1,106 @@
|
|||
package selfupdate
|
||||
|
||||
import (
|
||||
"os"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestGitHubTokenEnv(t *testing.T) {
|
||||
token := os.Getenv("GITHUB_TOKEN")
|
||||
if token == "" {
|
||||
t.Skip("because $GITHUB_TOKEN is not set")
|
||||
}
|
||||
_ = DefaultUpdater()
|
||||
if _, err := NewUpdater(Config{}); err != nil {
|
||||
t.Error("Failed to initialize updater with empty config")
|
||||
}
|
||||
if _, err := NewUpdater(Config{APIToken: token}); err != nil {
|
||||
t.Error("Failed to initialize updater with API token config")
|
||||
}
|
||||
}
|
||||
|
||||
func TestGitHubTokenIsNotSet(t *testing.T) {
|
||||
token := os.Getenv("GITHUB_TOKEN")
|
||||
if token != "" {
|
||||
defer os.Setenv("GITHUB_TOKEN", token)
|
||||
}
|
||||
os.Setenv("GITHUB_TOKEN", "")
|
||||
_ = DefaultUpdater()
|
||||
if _, err := NewUpdater(Config{}); err != nil {
|
||||
t.Error("Failed to initialize updater with empty config")
|
||||
}
|
||||
}
|
||||
|
||||
func TestGitHubEnterpriseClient(t *testing.T) {
|
||||
url := "https://github.company.com/api/v3/"
|
||||
up, err := NewUpdater(Config{APIToken: "hogehoge", EnterpriseBaseURL: url})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if up.api.BaseURL.String() != url {
|
||||
t.Error("Base URL was set to", up.api.BaseURL, ", want", url)
|
||||
}
|
||||
if up.api.UploadURL.String() != url {
|
||||
t.Error("Upload URL was set to", up.api.UploadURL, ", want", url)
|
||||
}
|
||||
|
||||
url2 := "https://upload.github.company.com/api/v3/"
|
||||
up, err = NewUpdater(Config{
|
||||
APIToken: "hogehoge",
|
||||
EnterpriseBaseURL: url,
|
||||
EnterpriseUploadURL: url2,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if up.api.BaseURL.String() != url {
|
||||
t.Error("Base URL was set to", up.api.BaseURL, ", want", url)
|
||||
}
|
||||
if up.api.UploadURL.String() != url2 {
|
||||
t.Error("Upload URL was set to", up.api.UploadURL, ", want", url2)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGitHubEnterpriseClientInvalidURL(t *testing.T) {
|
||||
_, err := NewUpdater(Config{APIToken: "hogehoge", EnterpriseBaseURL: ":this is not a URL"})
|
||||
if err == nil {
|
||||
t.Fatal("Invalid URL should raise an error")
|
||||
}
|
||||
}
|
||||
|
||||
func TestCompileRegexForFiltering(t *testing.T) {
|
||||
filters := []string{
|
||||
"^hello$",
|
||||
"^(\\d\\.)+\\d$",
|
||||
}
|
||||
up, err := NewUpdater(Config{
|
||||
Filters: filters,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(up.filters) != 2 {
|
||||
t.Fatalf("Wanted 2 regexes but got %d", len(up.filters))
|
||||
}
|
||||
for i, r := range up.filters {
|
||||
want := filters[i]
|
||||
got := r.String()
|
||||
if want != got {
|
||||
t.Errorf("Compiled regex is %q but specified was %q", got, want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestFilterRegexIsBroken(t *testing.T) {
|
||||
_, err := NewUpdater(Config{
|
||||
Filters: []string{"(foo"},
|
||||
})
|
||||
if err == nil {
|
||||
t.Fatal("Error unexpectedly did not occur")
|
||||
}
|
||||
msg := err.Error()
|
||||
if !strings.Contains(msg, "Could not compile regular expression \"(foo\" for filtering releases") {
|
||||
t.Fatalf("Error message is unexpected: %q", msg)
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue