Skip to content

Commit def222d

Browse files
sagar23sjgmlewis
authored andcommitted
Adds test cases for JSON resource marshalling (#1911)
1 parent 050b379 commit def222d

File tree

1 file changed

+144
-0
lines changed

1 file changed

+144
-0
lines changed

github/actions_workflow_jobs_test.go

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,3 +203,147 @@ func TestActionsService_GetWorkflowJobLogs_StatusMovedPermanently_followRedirect
203203
t.Errorf("Actions.GetWorkflowJobLogs returned %+v, want %+v", url.String(), want)
204204
}
205205
}
206+
207+
func TestTaskStep_Marshal(t *testing.T) {
208+
testJSONMarshal(t, &TaskStep{}, "{}")
209+
210+
u := &TaskStep{
211+
Name: String("n"),
212+
Status: String("s"),
213+
Conclusion: String("c"),
214+
Number: Int64(1),
215+
StartedAt: &Timestamp{referenceTime},
216+
CompletedAt: &Timestamp{referenceTime},
217+
}
218+
219+
want := `{
220+
"name": "n",
221+
"status": "s",
222+
"conclusion": "c",
223+
"number": 1,
224+
"started_at": ` + referenceTimeStr + `,
225+
"completed_at": ` + referenceTimeStr + `
226+
}`
227+
228+
testJSONMarshal(t, u, want)
229+
}
230+
231+
func TestWorkflowJob_Marshal(t *testing.T) {
232+
testJSONMarshal(t, &WorkflowJob{}, "{}")
233+
234+
u := &WorkflowJob{
235+
ID: Int64(1),
236+
RunID: Int64(1),
237+
RunURL: String("r"),
238+
NodeID: String("n"),
239+
HeadSHA: String("h"),
240+
URL: String("u"),
241+
HTMLURL: String("h"),
242+
Status: String("s"),
243+
Conclusion: String("c"),
244+
StartedAt: &Timestamp{referenceTime},
245+
CompletedAt: &Timestamp{referenceTime},
246+
Name: String("n"),
247+
Steps: []*TaskStep{
248+
{
249+
Name: String("n"),
250+
Status: String("s"),
251+
Conclusion: String("c"),
252+
Number: Int64(1),
253+
StartedAt: &Timestamp{referenceTime},
254+
CompletedAt: &Timestamp{referenceTime},
255+
},
256+
},
257+
CheckRunURL: String("c"),
258+
}
259+
260+
want := `{
261+
"id": 1,
262+
"run_id": 1,
263+
"run_url": "r",
264+
"node_id": "n",
265+
"head_sha": "h",
266+
"url": "u",
267+
"html_url": "h",
268+
"status": "s",
269+
"conclusion": "c",
270+
"started_at": ` + referenceTimeStr + `,
271+
"completed_at": ` + referenceTimeStr + `,
272+
"name": "n",
273+
"steps": [{
274+
"name": "n",
275+
"status": "s",
276+
"conclusion": "c",
277+
"number": 1,
278+
"started_at": ` + referenceTimeStr + `,
279+
"completed_at": ` + referenceTimeStr + `
280+
}],
281+
"check_run_url": "c"
282+
}`
283+
284+
testJSONMarshal(t, u, want)
285+
}
286+
287+
func TestJobs_Marshal(t *testing.T) {
288+
testJSONMarshal(t, &Jobs{}, "{}")
289+
290+
u := &Jobs{
291+
TotalCount: Int(1),
292+
Jobs: []*WorkflowJob{
293+
{
294+
ID: Int64(1),
295+
RunID: Int64(1),
296+
RunURL: String("r"),
297+
NodeID: String("n"),
298+
HeadSHA: String("h"),
299+
URL: String("u"),
300+
HTMLURL: String("h"),
301+
Status: String("s"),
302+
Conclusion: String("c"),
303+
StartedAt: &Timestamp{referenceTime},
304+
CompletedAt: &Timestamp{referenceTime},
305+
Name: String("n"),
306+
Steps: []*TaskStep{
307+
{
308+
Name: String("n"),
309+
Status: String("s"),
310+
Conclusion: String("c"),
311+
Number: Int64(1),
312+
StartedAt: &Timestamp{referenceTime},
313+
CompletedAt: &Timestamp{referenceTime},
314+
},
315+
},
316+
CheckRunURL: String("c"),
317+
},
318+
},
319+
}
320+
321+
want := `{
322+
"total_count": 1,
323+
"jobs": [{
324+
"id": 1,
325+
"run_id": 1,
326+
"run_url": "r",
327+
"node_id": "n",
328+
"head_sha": "h",
329+
"url": "u",
330+
"html_url": "h",
331+
"status": "s",
332+
"conclusion": "c",
333+
"started_at": ` + referenceTimeStr + `,
334+
"completed_at": ` + referenceTimeStr + `,
335+
"name": "n",
336+
"steps": [{
337+
"name": "n",
338+
"status": "s",
339+
"conclusion": "c",
340+
"number": 1,
341+
"started_at": ` + referenceTimeStr + `,
342+
"completed_at": ` + referenceTimeStr + `
343+
}],
344+
"check_run_url": "c"
345+
}]
346+
}`
347+
348+
testJSONMarshal(t, u, want)
349+
}

0 commit comments

Comments
 (0)