)]}'
{"tests/unit/test_gitlab_driver.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9480415211dd198f2b46ec12eabf74dbcfc0cd97","unresolved":false,"context_lines":[{"line_number":659,"context_line":""},{"line_number":660,"context_line":"    def test_approve_updated_merge_request(self):"},{"line_number":661,"context_line":"        values \u003d ("},{"line_number":662,"context_line":"            {\u0027message\u0027: \u0027SHA does not match HEAD of source branch: \u003cupdated_sha\u003e\u0027},"},{"line_number":663,"context_line":"            409,"},{"line_number":664,"context_line":"            \u0027https://gitlab.local/api/v4/projects/test/merge_requests\u0027 +"},{"line_number":665,"context_line":"                \u0027/1/approve\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_361bfa1c","line":662,"updated":"2020-09-15 15:25:36.000000000","message":"linters: E501 line too long (83 \u003e 79 characters)","commit_id":"4e4f50f9deee56a3e527c2e8b0044f7539e518fb"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9480415211dd198f2b46ec12eabf74dbcfc0cd97","unresolved":false,"context_lines":[{"line_number":662,"context_line":"            {\u0027message\u0027: \u0027SHA does not match HEAD of source branch: \u003cupdated_sha\u003e\u0027},"},{"line_number":663,"context_line":"            409,"},{"line_number":664,"context_line":"            \u0027https://gitlab.local/api/v4/projects/test/merge_requests\u0027 +"},{"line_number":665,"context_line":"                \u0027/1/approve\u0027,"},{"line_number":666,"context_line":"            \u0027POST\u0027"},{"line_number":667,"context_line":"        )"},{"line_number":668,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_9618061f","line":665,"updated":"2020-09-15 15:25:36.000000000","message":"linters: E131 continuation line unaligned for hanging indent","commit_id":"4e4f50f9deee56a3e527c2e8b0044f7539e518fb"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9480415211dd198f2b46ec12eabf74dbcfc0cd97","unresolved":false,"context_lines":[{"line_number":666,"context_line":"            \u0027POST\u0027"},{"line_number":667,"context_line":"        )"},{"line_number":668,"context_line":""},{"line_number":669,"context_line":"        with patch.object(GitlabAPIClient, \u0027post\u0027, return_value\u003dvalues) as post:"},{"line_number":670,"context_line":"            client \u003d GitlabAPIClient(\u0027https://gitlab.local\u0027, \u0027XXXX\u0027)"},{"line_number":671,"context_line":"            client.approve_mr(\u0027test\u0027, 1, \u0027\u003ctested_sha\u003e\u0027, True)"},{"line_number":672,"context_line":"            self.assertTrue(post.call_count, 1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f560f44_761572e5","line":669,"updated":"2020-09-15 15:25:36.000000000","message":"linters: E501 line too long (80 \u003e 79 characters)","commit_id":"4e4f50f9deee56a3e527c2e8b0044f7539e518fb"},{"author":{"_account_id":6889,"name":"Fabien Boucher","email":"fboucher@redhat.com","username":"fabien-boucher"},"change_message_id":"63244fb838dc2f35f95b127ba7f535354debe16f","unresolved":false,"context_lines":[{"line_number":655,"context_line":"        self.assertTrue(B.is_merged)"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":""},{"line_number":658,"context_line":"class TestGitLabAPIClient(BaseTestCase):"},{"line_number":659,"context_line":""},{"line_number":660,"context_line":"    def test_approve_updated_merge_request(self):"},{"line_number":661,"context_line":"        values \u003d ("},{"line_number":662,"context_line":"            {\u0027message\u0027: \u0027SHA does not match HEAD of source branch: \u003cnew_sha\u003e\u0027},"},{"line_number":663,"context_line":"            409,"},{"line_number":664,"context_line":"            \u0027https://gitlab.local/api/v4/\u0027"},{"line_number":665,"context_line":"            \u0027projects/test/merge_requests/1/approve\u0027,"},{"line_number":666,"context_line":"            \u0027POST\u0027"},{"line_number":667,"context_line":"        )"},{"line_number":668,"context_line":""},{"line_number":669,"context_line":"        with patch.object(GitlabAPIClient, \u0027post\u0027,"},{"line_number":670,"context_line":"                          return_value\u003dvalues) as post:"},{"line_number":671,"context_line":"            client \u003d GitlabAPIClient(\u0027https://gitlab.local\u0027, \u0027XXXX\u0027)"},{"line_number":672,"context_line":"            client.approve_mr(\u0027test\u0027, 1, \u0027\u003ctested_sha\u003e\u0027, True)"},{"line_number":673,"context_line":"            self.assertTrue(post.call_count, 1)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_ec0e7c8a","line":673,"range":{"start_line":658,"start_character":0,"end_line":673,"end_character":47},"updated":"2020-09-21 09:51:35.000000000","message":"I think you can remove that test and instead read the sha params in FakeGitlabAPIClient, for /approve, this will ensure, we always pass the sha to the api.\nFurthermore you could also simulate the 409 error by checking the FakeGitlabMergeRequest\u0027s sha when approved is made with the wrong sha.","commit_id":"68802f0f84a401985abd1fc68ded11929e1173a3"}]}
