trigger test

pull/5/head
Karolis Rusenas 2017-06-12 23:07:07 +01:00
parent 0a23484069
commit 6b8df0e4fd
1 changed files with 52 additions and 0 deletions

View File

@ -0,0 +1,52 @@
package http
import (
"bytes"
"net/http"
"github.com/rusenask/keel/provider"
"github.com/rusenask/keel/types"
"net/http/httptest"
"testing"
)
type fakeProvider struct {
submitted []types.Event
}
func (p *fakeProvider) Submit(event types.Event) error {
p.submitted = append(p.submitted, event)
return nil
}
func (p *fakeProvider) GetName() string {
return "fakeProvider"
}
func TestNativeWebhookHandler(t *testing.T) {
fp := &fakeProvider{}
providers := map[string]provider.Provider{
fp.GetName(): fp,
}
srv := NewTriggerServer(&Opts{Providers: providers})
srv.registerRoutes(srv.router)
req, err := http.NewRequest("POST", "/v1/native", bytes.NewBuffer([]byte(`{"client":"test_client", "mountpoint": "xx"}`)))
if err != nil {
t.Fatalf("failed to create req: %s", err)
}
//The response recorder used to record HTTP responses
rec := httptest.NewRecorder()
srv.router.ServeHTTP(rec, req)
if rec.Code != 200 {
t.Errorf("unexpected status code: %d", rec.Code)
}
if len(fp.submitted) != 1 {
t.Errorf("unexpected number of events submitted: %d", len(fp.submitted))
}
}