temp checkin
This commit is contained in:
+11
-11
@@ -9,6 +9,17 @@ import (
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// parse errors
|
||||
var (
|
||||
ErrEventNotSpecifiedToParse = errors.New("no Event specified to parse")
|
||||
ErrInvalidHTTPMethod = errors.New("invalid HTTP Method")
|
||||
ErrMissingGitLabEventHeader = errors.New("missing X-Gitlab-Event Header")
|
||||
ErrMissingGitLabTokenHeader = errors.New("missing X-Gitlab-Token Header")
|
||||
ErrEventNotFound = errors.New("event not defined to be parsed")
|
||||
ErrParsingPayload = errors.New("error parsing payload")
|
||||
// ErrHMACVerificationFailed = errors.New("HMAC verification failed")
|
||||
)
|
||||
|
||||
// GitLab hook types
|
||||
const (
|
||||
PushEvents Event = "Push Hook"
|
||||
@@ -58,17 +69,6 @@ func New(options ...Option) (*Webhook, error) {
|
||||
return hook, nil
|
||||
}
|
||||
|
||||
// parse errros
|
||||
var (
|
||||
ErrEventNotSpecifiedToParse = errors.New("No Event specified to parse")
|
||||
ErrInvalidHTTPMethod = errors.New("Invalid HTTP Method")
|
||||
ErrMissingGitLabEventHeader = errors.New("Missing X-Gitlab-Event Header")
|
||||
ErrMissingGitLabTokenHeader = errors.New("Missing X-Gitlab-Token Header")
|
||||
ErrEventNotFound = errors.New("Event not defined to be parsed")
|
||||
ErrParsingPayload = errors.New("Error parsing payload")
|
||||
// ErrHMACVerificationFailed = errors.New("HMAC verification failed")
|
||||
)
|
||||
|
||||
// Parse verifies and parses the events specified and returns the payload object or an error
|
||||
func (hook Webhook) Parse(r *http.Request, events ...Event) (interface{}, error) {
|
||||
defer func() {
|
||||
|
||||
+11
-20
@@ -2,11 +2,11 @@ package gitlab
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"log"
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"os"
|
||||
"strconv"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
. "gopkg.in/go-playground/assert.v1"
|
||||
"gopkg.in/go-playground/webhooks.v5"
|
||||
@@ -24,7 +24,6 @@ import (
|
||||
//
|
||||
|
||||
const (
|
||||
port = 3011
|
||||
path = "/webhooks"
|
||||
)
|
||||
|
||||
@@ -38,28 +37,20 @@ var hook *Webhook
|
||||
func TestMain(m *testing.M) {
|
||||
|
||||
// setup
|
||||
hook = New(&Config{Secret: "sampleToken!"})
|
||||
hook.RegisterEvents(HandlePayload,
|
||||
PushEvents,
|
||||
TagEvents,
|
||||
IssuesEvents,
|
||||
ConfidentialIssuesEvents,
|
||||
CommentEvents,
|
||||
MergeRequestEvents,
|
||||
WikiPageEvents,
|
||||
PipelineEvents,
|
||||
BuildEvents,
|
||||
)
|
||||
go webhooks.Run(hook, "127.0.0.1:"+strconv.Itoa(port), path)
|
||||
time.Sleep(time.Millisecond * 500)
|
||||
|
||||
var err error
|
||||
hook, err = New(Options.Secret("sampleToken!!"))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
os.Exit(m.Run())
|
||||
|
||||
// teardown
|
||||
}
|
||||
|
||||
func TestProvider(t *testing.T) {
|
||||
Equal(t, hook.Provider(), webhooks.GitLab)
|
||||
func newServer(handler http.HandlerFunc) *httptest.Server {
|
||||
mux := http.NewServeMux()
|
||||
mux.HandleFunc(path, handler)
|
||||
return httptest.NewServer(mux)
|
||||
}
|
||||
|
||||
func TestBadNoEventHeader(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user