@@ -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