harness-drone/remote/github/github_test.go
2016-05-02 17:47:58 -07:00

77 lines
1.8 KiB
Go

package github
import (
"bytes"
"io/ioutil"
"net/http"
"testing"
"github.com/franela/goblin"
)
func TestHook(t *testing.T) {
var (
github client
r *http.Request
body *bytes.Buffer
)
g := goblin.Goblin(t)
g.Describe("Hook", func() {
g.BeforeEach(func() {
github = client{}
body = bytes.NewBuffer([]byte{})
r, _ = http.NewRequest("POST", "https://drone.com/hook", body)
})
g.Describe("For a Pull Request", func() {
g.BeforeEach(func() {
r.Header.Set("X-Github-Event", "pull_request")
})
g.It("Should set build author to the pull request author", func() {
hookJSON, ioerr := ioutil.ReadFile("fixtures/pull_request.json")
if ioerr != nil {
panic(ioerr)
}
body.Write(hookJSON)
_, build, err := github.Hook(r)
g.Assert(err).Equal(nil)
g.Assert(build.Author).Equal("author")
g.Assert(build.Avatar).Equal("https://avatars.githubusercontent.com/u/55555?v=3")
})
})
})
}
//
// func TestLoad(t *testing.T) {
// conf := "https://github.com?client_id=client&client_secret=secret&scope=scope1,scope2"
//
// g := Load(conf)
// if g.URL != "https://github.com" {
// t.Errorf("g.URL = %q; want https://github.com", g.URL)
// }
// if g.Client != "client" {
// t.Errorf("g.Client = %q; want client", g.Client)
// }
// if g.Secret != "secret" {
// t.Errorf("g.Secret = %q; want secret", g.Secret)
// }
// if g.Scope != "scope1,scope2" {
// t.Errorf("g.Scope = %q; want scope1,scope2", g.Scope)
// }
// if g.API != DefaultAPI {
// t.Errorf("g.API = %q; want %q", g.API, DefaultAPI)
// }
// if g.MergeRef != DefaultMergeRef {
// t.Errorf("g.MergeRef = %q; want %q", g.MergeRef, DefaultMergeRef)
// }
//
// g = Load("")
// if g.Scope != DefaultScope {
// t.Errorf("g.Scope = %q; want %q", g.Scope, DefaultScope)
// }
// }