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 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 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 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 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) }