)]}'
{"nova/tests/functional/integrated_helpers.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"cc304dbd522108575cd616bc0d806548558c2a84","unresolved":false,"context_lines":[{"line_number":209,"context_line":"        }"},{"line_number":210,"context_line":"        return api.post_aggregate(body)[\u0027id\u0027]"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    def _build_server(self, name\u003dNone, image_uuid\u003dNone, flavor_id\u003dNone,"},{"line_number":213,"context_line":"                      networks\u003dNone, az\u003dNone, host\u003dNone):"},{"line_number":214,"context_line":"        \"\"\"Build a request for the server create API."},{"line_number":215,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_ae21edff","line":212,"updated":"2020-01-15 11:05:28.000000000","message":"I like this change, the unified benchmark improves the efficiency and readability of functional test writing, which will be easier to understand and learn.","commit_id":"458d37fceb931be37b8615bc47f3f3d888a7f8ca"}],"nova/tests/functional/test_aggregates.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ca99914d9502e13e20fa3b5b402d2c44c861bfbb","unresolved":false,"context_lines":[{"line_number":960,"context_line":"        # server with the non-admin user in a different project."},{"line_number":961,"context_line":"        admin_api_fixture \u003d self.useFixture(nova_fixtures.OSAPIFixture("},{"line_number":962,"context_line":"            api_version\u003d\u0027v2.1\u0027, project_id\u003duuids.admin_project))"},{"line_number":963,"context_line":"        self.api \u003d admin_api_fixture.admin_api"},{"line_number":964,"context_line":"        self.api.microversion \u003d \u0027latest\u0027"},{"line_number":965,"context_line":"        user_api_fixture \u003d self.useFixture(nova_fixtures.OSAPIFixture("},{"line_number":966,"context_line":"            api_version\u003d\u0027v2.1\u0027, project_id\u003duuids.user_project))"},{"line_number":967,"context_line":"        self.api \u003d user_api_fixture.api"},{"line_number":968,"context_line":"        self.api.microversion \u003d \u0027latest\u0027"},{"line_number":969,"context_line":""},{"line_number":970,"context_line":"        # the image fake backend needed for image discovery"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_d17cb372","line":967,"range":{"start_line":963,"start_character":0,"end_line":967,"end_character":39},"updated":"2019-12-05 19:11:09.000000000","message":"whoops. Need to keep the user/admin API split here.","commit_id":"bea0c03e7d7fe2bc7d2e770632ef2342e42d0987"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2e342dd5d071ebe4a5926c89fe963d8a5e2ea698","unresolved":false,"context_lines":[{"line_number":960,"context_line":"        # server with the non-admin user in a different project."},{"line_number":961,"context_line":"        admin_api_fixture \u003d self.useFixture(nova_fixtures.OSAPIFixture("},{"line_number":962,"context_line":"            api_version\u003d\u0027v2.1\u0027, project_id\u003duuids.admin_project))"},{"line_number":963,"context_line":"        self.api \u003d admin_api_fixture.admin_api"},{"line_number":964,"context_line":"        self.api.microversion \u003d \u0027latest\u0027"},{"line_number":965,"context_line":"        user_api_fixture \u003d self.useFixture(nova_fixtures.OSAPIFixture("},{"line_number":966,"context_line":"            api_version\u003d\u0027v2.1\u0027, project_id\u003duuids.user_project))"},{"line_number":967,"context_line":"        self.api \u003d user_api_fixture.api"},{"line_number":968,"context_line":"        self.api.microversion \u003d \u0027latest\u0027"},{"line_number":969,"context_line":""},{"line_number":970,"context_line":"        # the image fake backend needed for image discovery"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_1bbc9d6a","line":967,"range":{"start_line":963,"start_character":0,"end_line":967,"end_character":39},"in_reply_to":"3fa7e38b_d17cb372","updated":"2019-12-06 15:42:13.000000000","message":"Done","commit_id":"bea0c03e7d7fe2bc7d2e770632ef2342e42d0987"}]}
