Skip to content

Commit 4766a27

Browse files
committed
chore: the gitlab merge request payload is outdated
updated the structs based on https://docs.gitlab.com/ee/user/project/integrations/webhook_events.html#merge-request-events
1 parent d63b350 commit 4766a27

File tree

1 file changed

+88
-104
lines changed

1 file changed

+88
-104
lines changed

gitlab/gitlab_test.go

Lines changed: 88 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -94,27 +94,23 @@ func TestBadRequests(t *testing.T) {
9494
for _, tt := range tests {
9595
tc := tt
9696
client := &http.Client{}
97-
t.Run(
98-
tt.name, func(t *testing.T) {
99-
t.Parallel()
100-
var parseError error
101-
server := newServer(
102-
func(w http.ResponseWriter, r *http.Request) {
103-
_, parseError = hook.Parse(r, tc.event)
104-
},
105-
)
106-
defer server.Close()
107-
req, err := http.NewRequest(http.MethodPost, server.URL+path, tc.payload)
108-
assert.NoError(err)
109-
req.Header = tc.headers
110-
req.Header.Set("Content-Type", "application/json")
97+
t.Run(tt.name, func(t *testing.T) {
98+
t.Parallel()
99+
var parseError error
100+
server := newServer(func(w http.ResponseWriter, r *http.Request) {
101+
_, parseError = hook.Parse(r, tc.event)
102+
})
103+
defer server.Close()
104+
req, err := http.NewRequest(http.MethodPost, server.URL+path, tc.payload)
105+
assert.NoError(err)
106+
req.Header = tc.headers
107+
req.Header.Set("Content-Type", "application/json")
111108

112-
resp, err := client.Do(req)
113-
assert.NoError(err)
114-
assert.Equal(http.StatusOK, resp.StatusCode)
115-
assert.Error(parseError)
116-
},
117-
)
109+
resp, err := client.Do(req)
110+
assert.NoError(err)
111+
assert.Equal(http.StatusOK, resp.StatusCode)
112+
assert.Error(parseError)
113+
})
118114
}
119115
}
120116

@@ -267,36 +263,32 @@ func TestWebhooks(t *testing.T) {
267263
for _, tt := range tests {
268264
tc := tt
269265
client := &http.Client{}
270-
t.Run(
271-
tt.name, func(t *testing.T) {
272-
t.Parallel()
273-
payload, err := os.Open(tc.filename)
274-
assert.NoError(err)
275-
defer func() {
276-
_ = payload.Close()
277-
}()
266+
t.Run(tt.name, func(t *testing.T) {
267+
t.Parallel()
268+
payload, err := os.Open(tc.filename)
269+
assert.NoError(err)
270+
defer func() {
271+
_ = payload.Close()
272+
}()
278273

279-
var parseError error
280-
var results interface{}
281-
server := newServer(
282-
func(w http.ResponseWriter, r *http.Request) {
283-
results, parseError = hook.Parse(r, tc.event)
284-
},
285-
)
286-
defer server.Close()
287-
req, err := http.NewRequest(http.MethodPost, server.URL+path, payload)
288-
assert.NoError(err)
289-
req.Header = tc.headers
290-
req.Header.Set("Content-Type", "application/json")
291-
req.Header.Set("X-Gitlab-Token", "sampleToken!")
274+
var parseError error
275+
var results interface{}
276+
server := newServer(func(w http.ResponseWriter, r *http.Request) {
277+
results, parseError = hook.Parse(r, tc.event)
278+
})
279+
defer server.Close()
280+
req, err := http.NewRequest(http.MethodPost, server.URL+path, payload)
281+
assert.NoError(err)
282+
req.Header = tc.headers
283+
req.Header.Set("Content-Type", "application/json")
284+
req.Header.Set("X-Gitlab-Token", "sampleToken!")
292285

293-
resp, err := client.Do(req)
294-
assert.NoError(err)
295-
assert.Equal(http.StatusOK, resp.StatusCode)
296-
assert.NoError(parseError)
297-
assert.Equal(reflect.TypeOf(tc.typ), reflect.TypeOf(results))
298-
},
299-
)
286+
resp, err := client.Do(req)
287+
assert.NoError(err)
288+
assert.Equal(http.StatusOK, resp.StatusCode)
289+
assert.NoError(parseError)
290+
assert.Equal(reflect.TypeOf(tc.typ), reflect.TypeOf(results))
291+
})
300292
}
301293
}
302294

@@ -323,36 +315,32 @@ func TestJobHooks(t *testing.T) {
323315
for _, tt := range tests {
324316
tc := tt
325317
client := &http.Client{}
326-
t.Run(
327-
tt.name, func(t *testing.T) {
328-
t.Parallel()
329-
payload, err := os.Open(tc.filename)
330-
assert.NoError(err)
331-
defer func() {
332-
_ = payload.Close()
333-
}()
318+
t.Run(tt.name, func(t *testing.T) {
319+
t.Parallel()
320+
payload, err := os.Open(tc.filename)
321+
assert.NoError(err)
322+
defer func() {
323+
_ = payload.Close()
324+
}()
334325

335-
var parseError error
336-
var results interface{}
337-
server := newServer(
338-
func(w http.ResponseWriter, r *http.Request) {
339-
results, parseError = hook.Parse(r, tc.events...)
340-
},
341-
)
342-
defer server.Close()
343-
req, err := http.NewRequest(http.MethodPost, server.URL+path, payload)
344-
assert.NoError(err)
345-
req.Header = tc.headers
346-
req.Header.Set("Content-Type", "application/json")
347-
req.Header.Set("X-Gitlab-Token", "sampleToken!")
326+
var parseError error
327+
var results interface{}
328+
server := newServer(func(w http.ResponseWriter, r *http.Request) {
329+
results, parseError = hook.Parse(r, tc.events...)
330+
})
331+
defer server.Close()
332+
req, err := http.NewRequest(http.MethodPost, server.URL+path, payload)
333+
assert.NoError(err)
334+
req.Header = tc.headers
335+
req.Header.Set("Content-Type", "application/json")
336+
req.Header.Set("X-Gitlab-Token", "sampleToken!")
348337

349-
resp, err := client.Do(req)
350-
assert.NoError(err)
351-
assert.Equal(http.StatusOK, resp.StatusCode)
352-
assert.NoError(parseError)
353-
assert.Equal(reflect.TypeOf(tc.typ), reflect.TypeOf(results))
354-
},
355-
)
338+
resp, err := client.Do(req)
339+
assert.NoError(err)
340+
assert.Equal(http.StatusOK, resp.StatusCode)
341+
assert.NoError(parseError)
342+
assert.Equal(reflect.TypeOf(tc.typ), reflect.TypeOf(results))
343+
})
356344
}
357345
}
358346

@@ -506,35 +494,31 @@ func TestSystemHooks(t *testing.T) {
506494
for _, tt := range tests {
507495
tc := tt
508496
client := &http.Client{}
509-
t.Run(
510-
tt.name, func(t *testing.T) {
511-
t.Parallel()
512-
payload, err := os.Open(tc.filename)
513-
assert.NoError(err)
514-
defer func() {
515-
_ = payload.Close()
516-
}()
497+
t.Run(tt.name, func(t *testing.T) {
498+
t.Parallel()
499+
payload, err := os.Open(tc.filename)
500+
assert.NoError(err)
501+
defer func() {
502+
_ = payload.Close()
503+
}()
517504

518-
var parseError error
519-
var results interface{}
520-
server := newServer(
521-
func(w http.ResponseWriter, r *http.Request) {
522-
results, parseError = hook.Parse(r, SystemHookEvents, tc.event)
523-
},
524-
)
525-
defer server.Close()
526-
req, err := http.NewRequest(http.MethodPost, server.URL+path, payload)
527-
assert.NoError(err)
528-
req.Header.Set("Content-Type", "application/json")
529-
req.Header.Set("X-Gitlab-Token", "sampleToken!")
530-
req.Header.Set("X-Gitlab-Event", "System Hook")
505+
var parseError error
506+
var results interface{}
507+
server := newServer(func(w http.ResponseWriter, r *http.Request) {
508+
results, parseError = hook.Parse(r, SystemHookEvents, tc.event)
509+
})
510+
defer server.Close()
511+
req, err := http.NewRequest(http.MethodPost, server.URL+path, payload)
512+
assert.NoError(err)
513+
req.Header.Set("Content-Type", "application/json")
514+
req.Header.Set("X-Gitlab-Token", "sampleToken!")
515+
req.Header.Set("X-Gitlab-Event", "System Hook")
531516

532-
resp, err := client.Do(req)
533-
assert.NoError(err)
534-
assert.Equal(http.StatusOK, resp.StatusCode)
535-
assert.NoError(parseError)
536-
assert.Equal(reflect.TypeOf(tc.typ), reflect.TypeOf(results))
537-
},
538-
)
517+
resp, err := client.Do(req)
518+
assert.NoError(err)
519+
assert.Equal(http.StatusOK, resp.StatusCode)
520+
assert.NoError(parseError)
521+
assert.Equal(reflect.TypeOf(tc.typ), reflect.TypeOf(results))
522+
})
539523
}
540524
}

0 commit comments

Comments
 (0)