|
39 | 39 | "web_url":"https://example.com/foo/bar/pipelines/46",
|
40 | 40 | }
|
41 | 41 |
|
| 42 | +pipeline_latest= { |
| 43 | +"id":47, |
| 44 | +"project_id":1, |
| 45 | +"status":"pending", |
| 46 | +"ref":"main", |
| 47 | +"sha":"a91957a858320c0e17f3a0eca7cfacbff50ea29a", |
| 48 | +"before_sha":"a91957a858320c0e17f3a0eca7cfacbff50ea29a", |
| 49 | +"tag":False, |
| 50 | +"yaml_errors":None, |
| 51 | +"user": { |
| 52 | +"name":"Administrator", |
| 53 | +"username":"root", |
| 54 | +"id":1, |
| 55 | +"state":"active", |
| 56 | +"avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", |
| 57 | +"web_url":"http://localhost:3000/root", |
| 58 | + }, |
| 59 | +"created_at":"2016-08-11T11:28:34.085Z", |
| 60 | +"updated_at":"2016-08-11T11:32:35.169Z", |
| 61 | +"started_at":None, |
| 62 | +"finished_at":"2016-08-11T11:32:35.145Z", |
| 63 | +"committed_at":None, |
| 64 | +"duration":None, |
| 65 | +"queued_duration":0.010, |
| 66 | +"coverage":None, |
| 67 | +"web_url":"https://example.com/foo/bar/pipelines/46", |
| 68 | +} |
| 69 | + |
| 70 | +pipeline_latest_other_ref= { |
| 71 | +"id":48, |
| 72 | +"project_id":1, |
| 73 | +"status":"pending", |
| 74 | +"ref":"feature-ref", |
| 75 | +"sha":"a91957a858320c0e17f3a0eca7cfacbff50ea29a", |
| 76 | +"before_sha":"a91957a858320c0e17f3a0eca7cfacbff50ea29a", |
| 77 | +"tag":False, |
| 78 | +"yaml_errors":None, |
| 79 | +"user": { |
| 80 | +"name":"Administrator", |
| 81 | +"username":"root", |
| 82 | +"id":1, |
| 83 | +"state":"active", |
| 84 | +"avatar_url":"http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80&d=identicon", |
| 85 | +"web_url":"http://localhost:3000/root", |
| 86 | + }, |
| 87 | +"created_at":"2016-08-11T11:28:34.085Z", |
| 88 | +"updated_at":"2016-08-11T11:32:35.169Z", |
| 89 | +"started_at":None, |
| 90 | +"finished_at":"2016-08-11T11:32:35.145Z", |
| 91 | +"committed_at":None, |
| 92 | +"duration":None, |
| 93 | +"queued_duration":0.010, |
| 94 | +"coverage":None, |
| 95 | +"web_url":"https://example.com/foo/bar/pipelines/46", |
| 96 | +} |
| 97 | + |
42 | 98 |
|
43 | 99 | test_report_content= {
|
44 | 100 | "total_time":5,
|
@@ -162,10 +218,37 @@ def resp_get_pipeline_test_report_summary():
|
162 | 218 | yieldrsps
|
163 | 219 |
|
164 | 220 |
|
| 221 | +@pytest.fixture |
| 222 | +defresp_get_latest(): |
| 223 | +withresponses.RequestsMock()asrsps: |
| 224 | +rsps.add( |
| 225 | +method=responses.GET, |
| 226 | +url="http://localhost/api/v4/projects/1/pipelines/latest", |
| 227 | +json=pipeline_latest, |
| 228 | +content_type="application/json", |
| 229 | +status=200, |
| 230 | + ) |
| 231 | +yieldrsps |
| 232 | + |
| 233 | + |
| 234 | +@pytest.fixture |
| 235 | +defresp_get_latest_other_ref(): |
| 236 | +withresponses.RequestsMock()asrsps: |
| 237 | +rsps.add( |
| 238 | +method=responses.GET, |
| 239 | +url="http://localhost/api/v4/projects/1/pipelines/latest", |
| 240 | +json=pipeline_latest_other_ref, |
| 241 | +content_type="application/json", |
| 242 | +status=200, |
| 243 | + ) |
| 244 | +yieldrsps |
| 245 | + |
| 246 | + |
165 | 247 | deftest_get_project_pipeline(project,resp_get_pipeline):
|
166 | 248 | pipeline=project.pipelines.get(1)
|
167 | 249 | assertisinstance(pipeline,ProjectPipeline)
|
168 | 250 | assertpipeline.ref=="main"
|
| 251 | +assertpipeline.id==46 |
169 | 252 |
|
170 | 253 |
|
171 | 254 | deftest_cancel_project_pipeline(project,resp_cancel_pipeline):
|
@@ -198,3 +281,17 @@ def test_get_project_pipeline_test_report_summary(
|
198 | 281 | assertisinstance(test_report_summary,ProjectPipelineTestReportSummary)
|
199 | 282 | asserttest_report_summary.total["count"]==3363
|
200 | 283 | asserttest_report_summary.test_suites[0]["name"]=="test"
|
| 284 | + |
| 285 | + |
| 286 | +deftest_latest_pipeline(project,resp_get_latest): |
| 287 | +pipeline=project.pipelines.latest() |
| 288 | +assertisinstance(pipeline,ProjectPipeline) |
| 289 | +assertpipeline.ref=="main" |
| 290 | +assertpipeline.id==47 |
| 291 | + |
| 292 | + |
| 293 | +deftest_latest_pipeline_other_ref(project,resp_get_latest_other_ref): |
| 294 | +pipeline=project.pipelines.latest(ref="feature-ref") |
| 295 | +assertisinstance(pipeline,ProjectPipeline) |
| 296 | +assertpipeline.ref=="feature-ref" |
| 297 | +assertpipeline.id==48 |