Added new test for harbor for new webhook type

pull/545/head
Victor Roest 2020-09-23 20:57:30 +02:00
parent 095c8fe4e9
commit aa2f378358
No known key found for this signature in database
GPG Key ID: F69440FC85CD66CD
1 changed files with 58 additions and 0 deletions

View File

@ -31,6 +31,30 @@ var fakeHarborWebhook = ` {
}
`
var fakeHarborWebhook2 = `
{
"type": "PUSH_ARTIFACT",
"occur_at": 1582640688,
"operator": "user",
"event_data": {
"resources": [
{
"digest": "sha256:b4758aaed11c155a476b9857e1178f157759c99cb04c907a04993f5481eff848",
"tag": "latest",
"resource_url": "quay.io/mynamespace/repository:1.2.3"
}
],
"repository": {
"date_created": 1582634337,
"name": "repository",
"namespace": "mynamespace",
"repo_full_name": "mynamespace/repository",
"repo_type": "private"
}
}
}
`
func TestHarborWebhookHandler(t *testing.T) {
fp := &fakeProvider{}
@ -65,6 +89,40 @@ func TestHarborWebhookHandler(t *testing.T) {
}
}
func TestHarborWebhookHandler2(t *testing.T) {
fp := &fakeProvider{}
srv, teardown := NewTestingServer(fp)
defer teardown()
req, err := http.NewRequest("POST", "/v1/webhooks/harbor", bytes.NewBuffer([]byte(fakeHarborWebhook2)))
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)
t.Log(rec.Body.String())
}
if len(fp.submitted) != 1 {
t.Fatalf("unexpected number of events submitted: %d", len(fp.submitted))
}
if fp.submitted[0].Repository.Name != "quay.io/mynamespace/repository" {
t.Errorf("expected quay.io/mynamespace/repository but got %s", fp.submitted[0].Repository.Name)
}
if fp.submitted[0].Repository.Tag != "1.2.3" {
t.Errorf("expected 1.2.3 but got %s", fp.submitted[0].Repository.Tag)
}
}
var fakeHarborWebhookMalformed = ` {
"type": "pushImage",
"occur_at": 1582640688,