func TestRunner_splitAliasCmd(t *testing.T) { words, err := splitAliasCmd("!source ~/.zshrc") assert.NotEqual(t, nil, err) words, err = splitAliasCmd("log --pretty=oneline --abbrev-commit --graph --decorate") assert.Equal(t, nil, err) assert.Equal(t, 5, len(words)) words, err = splitAliasCmd("") assert.NotEqual(t, nil, err) }
func TestGitLog(t *testing.T) { repo := fixtures.SetupTestRepo() defer repo.TearDown() log, err := Log("08f4b7b6513dffc6245857e497cfd6101dc47818", "9b5a719a3d76ac9dc2fa635d9b1f34fd73994c06") assert.Equal(t, nil, err) assert.NotEqual(t, "", log) }
func TestCommandUseErrorWhenMissingSubcommand(t *testing.T) { c := &Command{Usage: "foo"} s := &Command{Usage: "bar"} c.Use(s) args := NewArgs([]string{"foo", "baz"}) _, err := c.lookupSubCommand(args) assert.NotEqual(t, nil, err) }
func TestUpdater_timeToUpdate(t *testing.T) { // file doesn't exist timestampDir, _ := ioutil.TempDir("", "timestampDir-test") timestampPath := filepath.Join(timestampDir, "gh-update") updater := Updater{timestampPath: timestampPath} assert.T(t, updater.timeToUpdate()) timestamp, err := ioutil.ReadFile(timestampPath) assert.Equal(t, nil, err) assert.NotEqual(t, "", string(timestamp)) // invalid timestamp format timestampFile, _ := ioutil.TempFile("", "timestampFile-test") updater = Updater{timestampPath: timestampFile.Name()} assert.T(t, updater.timeToUpdate()) timestamp, err = ioutil.ReadFile(timestampFile.Name()) assert.Equal(t, nil, err) assert.NotEqual(t, "", string(timestamp)) // dev version updater = Updater{CurrentVersion: "dev"} assert.T(t, !updater.timeToUpdate()) }
func TestGitConfig(t *testing.T) { repo := fixtures.SetupTestRepo() defer repo.TearDown() v, err := GlobalConfig("hub.test") assert.NotEqual(t, nil, err) SetGlobalConfig("hub.test", "1") v, err = GlobalConfig("hub.test") assert.Equal(t, nil, err) assert.Equal(t, "1", v) SetGlobalConfig("hub.test", "") v, err = GlobalConfig("hub.test") assert.Equal(t, nil, err) assert.Equal(t, "", v) }
func TestGetWithoutDecoder(t *testing.T) { setup() defer tearDown() mux.HandleFunc("/foo", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, "GET") head := w.Header() head.Set("Content-Type", "application/booya+booya") respondWith(w, `{"login": "******"}`) }) req, err := client.NewRequest("foo") assert.Equal(t, nil, err) var output map[string]interface{} _, err = req.Get(output) assert.NotEqual(t, nil, err) }
func TestGetResponseError(t *testing.T) { setup() defer tearDown() mux.HandleFunc("/foo", func(w http.ResponseWriter, r *http.Request) { header := w.Header() header.Set("Content-Type", "application/json") w.WriteHeader(http.StatusNotFound) respondWith(w, `{"message": "not found"}`) }) req, err := client.NewRequest("foo") assert.Equal(t, nil, err) var output map[string]interface{} _, err = req.Get(output) assert.NotEqual(t, nil, err) respErr, ok := err.(*ResponseError) assert.Tf(t, ok, "should be able to convert to *ResponseError") assert.Equal(t, "not found", respErr.Message) assert.Equal(t, ErrorNotFound, respErr.Type) }
func TestSuccessfulGetWithoutDecoder(t *testing.T) { setup := Setup(t) defer setup.Teardown() setup.Mux.HandleFunc("/user", func(w http.ResponseWriter, r *http.Request) { assert.Equal(t, "GET", r.Method) head := w.Header() head.Set("Content-Type", "application/booya+booya") w.WriteHeader(http.StatusOK) w.Write([]byte(`{"id": 1, "login": "******"}`)) }) client := setup.Client user := &TestUser{} req, err := client.NewRequest("user") assert.Equal(t, nil, err) res := req.Get() assert.NotEqual(t, nil, res.Decode(user), "response should have decoder error") assert.Tf(t, strings.HasPrefix(res.Error(), "No decoder found for format booya"), "Bad error: %s", res.Error()) }
func TestProject_NewProjectFromURL(t *testing.T) { testConfigs := fixtures.SetupTestConfigs() defer testConfigs.TearDown() u, _ := url.Parse("ssh://[email protected]/octokit/go-octokit.git") p, err := NewProjectFromURL(u) assert.Equal(t, nil, err) assert.Equal(t, "go-octokit", p.Name) assert.Equal(t, "octokit", p.Owner) assert.Equal(t, "github.com", p.Host) assert.Equal(t, "http", p.Protocol) u, _ = url.Parse("git://github.com/octokit/go-octokit.git") p, err = NewProjectFromURL(u) assert.Equal(t, nil, err) assert.Equal(t, "go-octokit", p.Name) assert.Equal(t, "octokit", p.Owner) assert.Equal(t, "github.com", p.Host) assert.Equal(t, "http", p.Protocol) u, _ = url.Parse("https://github.com/octokit/go-octokit") p, err = NewProjectFromURL(u) assert.Equal(t, nil, err) assert.Equal(t, "go-octokit", p.Name) assert.Equal(t, "octokit", p.Owner) assert.Equal(t, "github.com", p.Host) assert.Equal(t, "https", p.Protocol) u, _ = url.Parse("origin/master") _, err = NewProjectFromURL(u) assert.NotEqual(t, nil, err) }