@@ -203,3 +203,147 @@ func TestActionsService_GetWorkflowJobLogs_StatusMovedPermanently_followRedirect
203
203
t .Errorf ("Actions.GetWorkflowJobLogs returned %+v, want %+v" , url .String (), want )
204
204
}
205
205
}
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