)]}'
{"nova/tests/fixtures.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"639aff4a9d172d7952dd54c4dd86dc8aa10e5d4a","unresolved":false,"context_lines":[{"line_number":998,"context_line":"        self.admin_api \u003d client.TestOpenStackClient("},{"line_number":999,"context_line":"            \u0027admin\u0027, \u0027admin\u0027, self.auth_url, self.project_id)"},{"line_number":1000,"context_line":"        # A client for unauthenticated requests, such as for version documents."},{"line_number":1001,"context_line":"        self.authless_api \u003d client.TestOpenStackClient("},{"line_number":1002,"context_line":"            None, None, self.auth_url, self.project_id)"},{"line_number":1003,"context_line":"        # Provide a way to access the wsgi application to tests using"},{"line_number":1004,"context_line":"        # the fixture."}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_4820784a","line":1001,"range":{"start_line":1001,"start_character":13,"end_line":1001,"end_character":25},"updated":"2019-10-03 15:29:08.000000000","message":"nit: calling this \"noauth_api\" might be a bit more clear and aligned with the noauth2 middleware.","commit_id":"db94252581cbd5780b791f17600b96c5c344ce33"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"262becec3139ec64a3a784d65effb7d6e2b88575","unresolved":false,"context_lines":[{"line_number":998,"context_line":"        self.admin_api \u003d client.TestOpenStackClient("},{"line_number":999,"context_line":"            \u0027admin\u0027, \u0027admin\u0027, self.auth_url, self.project_id)"},{"line_number":1000,"context_line":"        # A client for unauthenticated requests, such as for version documents."},{"line_number":1001,"context_line":"        self.authless_api \u003d client.TestOpenStackClient("},{"line_number":1002,"context_line":"            None, None, self.auth_url, self.project_id)"},{"line_number":1003,"context_line":"        # Provide a way to access the wsgi application to tests using"},{"line_number":1004,"context_line":"        # the fixture."}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_83097132","line":1001,"range":{"start_line":1001,"start_character":13,"end_line":1001,"end_character":25},"in_reply_to":"3fa7e38b_4820784a","updated":"2019-10-03 16:01:44.000000000","message":"It\u0027s actually explicitly not aligned with noauth2 middleware, at least in theory, because we want the auth lego (whether it\u0027s keystone or noauth2) to be entirely *absent* from the paste pipeline for these requests.","commit_id":"db94252581cbd5780b791f17600b96c5c344ce33"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"1a2820ad79ade6cc8e6bc13217343c9d08c2619d","unresolved":false,"context_lines":[{"line_number":998,"context_line":"        self.admin_api \u003d client.TestOpenStackClient("},{"line_number":999,"context_line":"            \u0027admin\u0027, \u0027admin\u0027, self.auth_url, self.project_id)"},{"line_number":1000,"context_line":"        # A client for unauthenticated requests, such as for version documents."},{"line_number":1001,"context_line":"        self.authless_api \u003d client.TestOpenStackClient("},{"line_number":1002,"context_line":"            None, None, self.auth_url, self.project_id)"},{"line_number":1003,"context_line":"        # Provide a way to access the wsgi application to tests using"},{"line_number":1004,"context_line":"        # the fixture."}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_0521db4d","line":1001,"range":{"start_line":1001,"start_character":13,"end_line":1001,"end_character":25},"in_reply_to":"3fa7e38b_83097132","updated":"2019-10-07 14:46:58.000000000","message":"I tried to clarify the comments","commit_id":"db94252581cbd5780b791f17600b96c5c344ce33"}],"nova/tests/functional/api/client.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"639aff4a9d172d7952dd54c4dd86dc8aa10e5d4a","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                  {\u0027auth_url\u0027: auth_url,"},{"line_number":163,"context_line":"                   \u0027http_status\u0027: http_status})"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        # NOTE(cdent): This is a workaround for an issue where the placement"},{"line_number":166,"context_line":"        # API fixture may respond when a request was supposed to go to the"},{"line_number":167,"context_line":"        # compute API fixture. Retry a few times, hoping to hit the right"},{"line_number":168,"context_line":"        # fixture."},{"line_number":169,"context_line":"        if http_status \u003d\u003d 401:"},{"line_number":170,"context_line":"            if retry_count \u003c\u003d 3:"},{"line_number":171,"context_line":"                return self._authenticate(retry_count\u003dretry_count + 1)"},{"line_number":172,"context_line":"            else:"},{"line_number":173,"context_line":"                raise OpenStackApiAuthenticationException(response\u003dresponse)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        self.auth_result \u003d response.headers"},{"line_number":176,"context_line":"        return self.auth_result"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_23be7dff","line":173,"range":{"start_line":165,"start_character":8,"end_line":173,"end_character":76},"updated":"2019-10-03 15:29:08.000000000","message":"Unrelated but I wonder if we can remove this now. I think it was an issue when the osapi and placement fixtures ran in the same process with eventlet.","commit_id":"db94252581cbd5780b791f17600b96c5c344ce33"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"262becec3139ec64a3a784d65effb7d6e2b88575","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                  {\u0027auth_url\u0027: auth_url,"},{"line_number":163,"context_line":"                   \u0027http_status\u0027: http_status})"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        # NOTE(cdent): This is a workaround for an issue where the placement"},{"line_number":166,"context_line":"        # API fixture may respond when a request was supposed to go to the"},{"line_number":167,"context_line":"        # compute API fixture. Retry a few times, hoping to hit the right"},{"line_number":168,"context_line":"        # fixture."},{"line_number":169,"context_line":"        if http_status \u003d\u003d 401:"},{"line_number":170,"context_line":"            if retry_count \u003c\u003d 3:"},{"line_number":171,"context_line":"                return self._authenticate(retry_count\u003dretry_count + 1)"},{"line_number":172,"context_line":"            else:"},{"line_number":173,"context_line":"                raise OpenStackApiAuthenticationException(response\u003dresponse)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        self.auth_result \u003d response.headers"},{"line_number":176,"context_line":"        return self.auth_result"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_7e0e4a33","line":173,"range":{"start_line":165,"start_character":8,"end_line":173,"end_character":76},"in_reply_to":"3fa7e38b_23be7dff","updated":"2019-10-03 16:01:44.000000000","message":"yup, noticed this, but gave up thinking about how we would prove that it\u0027s working if we removed it.","commit_id":"db94252581cbd5780b791f17600b96c5c344ce33"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dc9cfa39c02c6dd9787bfa5313e003c4f28a045d","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                  {\u0027auth_url\u0027: auth_url,"},{"line_number":163,"context_line":"                   \u0027http_status\u0027: http_status})"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        # NOTE(cdent): This is a workaround for an issue where the placement"},{"line_number":166,"context_line":"        # API fixture may respond when a request was supposed to go to the"},{"line_number":167,"context_line":"        # compute API fixture. Retry a few times, hoping to hit the right"},{"line_number":168,"context_line":"        # fixture."},{"line_number":169,"context_line":"        if http_status \u003d\u003d 401:"},{"line_number":170,"context_line":"            if retry_count \u003c\u003d 3:"},{"line_number":171,"context_line":"                return self._authenticate(retry_count\u003dretry_count + 1)"},{"line_number":172,"context_line":"            else:"},{"line_number":173,"context_line":"                raise OpenStackApiAuthenticationException(response\u003dresponse)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        self.auth_result \u003d response.headers"},{"line_number":176,"context_line":"        return self.auth_result"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_708d077a","line":173,"range":{"start_line":165,"start_character":8,"end_line":173,"end_character":76},"in_reply_to":"3fa7e38b_7e0e4a33","updated":"2019-10-04 13:55:29.000000000","message":"When Chris fixed this I think it was a pretty high fail rate on the thing that was tripping it up so it\u0027s relatively obvious if we regress. Anyway, definitely / obviously not something to munge in here.","commit_id":"db94252581cbd5780b791f17600b96c5c344ce33"}],"nova/tests/functional/api_sample_tests/test_versions.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"639aff4a9d172d7952dd54c4dd86dc8aa10e5d4a","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            # automatic /v2[.1] added by the fixture."},{"line_number":48,"context_line":"            strip_version\u003dTrue,"},{"line_number":49,"context_line":"            # Use the authless TestOpenStackClient from OSAPIFixture"},{"line_number":50,"context_line":"            authenticate\u003dFalse)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @ddt.data(\u0027\u0027, \u0027/\u0027)"},{"line_number":53,"context_line":"    def test_versions_get_base(self, uri):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_6372357f","line":50,"range":{"start_line":50,"start_character":12,"end_line":50,"end_character":30},"updated":"2019-10-03 15:29:08.000000000","message":"For the test that uses keystone middleware wouldn\u0027t you want this to be True? Should this be controlled based on the auth_strategy used by the test?","commit_id":"db94252581cbd5780b791f17600b96c5c344ce33"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"262becec3139ec64a3a784d65effb7d6e2b88575","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            # automatic /v2[.1] added by the fixture."},{"line_number":48,"context_line":"            strip_version\u003dTrue,"},{"line_number":49,"context_line":"            # Use the authless TestOpenStackClient from OSAPIFixture"},{"line_number":50,"context_line":"            authenticate\u003dFalse)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @ddt.data(\u0027\u0027, \u0027/\u0027)"},{"line_number":53,"context_line":"    def test_versions_get_base(self, uri):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_9e6ea6c7","line":50,"range":{"start_line":50,"start_character":12,"end_line":50,"end_character":30},"in_reply_to":"3fa7e38b_6372357f","updated":"2019-10-03 16:01:44.000000000","message":"authenticate\u003dFalse means \"don\u0027t send auth headers with the request\". The purpose in these tests is to make authentication *fail* if we hit it; so fixing it entails making sure we *don\u0027t* hit it.\n\nWould it help if it had a different name? send_auth_headers?","commit_id":"db94252581cbd5780b791f17600b96c5c344ce33"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dc9cfa39c02c6dd9787bfa5313e003c4f28a045d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            # automatic /v2[.1] added by the fixture."},{"line_number":48,"context_line":"            strip_version\u003dTrue,"},{"line_number":49,"context_line":"            # Use the authless TestOpenStackClient from OSAPIFixture"},{"line_number":50,"context_line":"            authenticate\u003dFalse)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @ddt.data(\u0027\u0027, \u0027/\u0027)"},{"line_number":53,"context_line":"    def test_versions_get_base(self, uri):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_f0f6d7f9","line":50,"range":{"start_line":50,"start_character":12,"end_line":50,"end_character":30},"in_reply_to":"3fa7e38b_9e6ea6c7","updated":"2019-10-04 13:55:29.000000000","message":"I\u0027m not sure a rename is necessary but putting that reply as a comment in the code would likely help.","commit_id":"db94252581cbd5780b791f17600b96c5c344ce33"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"1a2820ad79ade6cc8e6bc13217343c9d08c2619d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            # automatic /v2[.1] added by the fixture."},{"line_number":48,"context_line":"            strip_version\u003dTrue,"},{"line_number":49,"context_line":"            # Use the authless TestOpenStackClient from OSAPIFixture"},{"line_number":50,"context_line":"            authenticate\u003dFalse)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @ddt.data(\u0027\u0027, \u0027/\u0027)"},{"line_number":53,"context_line":"    def test_versions_get_base(self, uri):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_450ef3e5","line":50,"range":{"start_line":50,"start_character":12,"end_line":50,"end_character":30},"in_reply_to":"3fa7e38b_f0f6d7f9","updated":"2019-10-07 14:46:58.000000000","message":"Done","commit_id":"db94252581cbd5780b791f17600b96c5c344ce33"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a55fa68647461f395e55a858ae7acfbe41540cdb","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            authenticate\u003dFalse)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @ddt.data(\u0027\u0027, \u0027/\u0027)"},{"line_number":56,"context_line":"    def test_versions_get_base(self, uri):"},{"line_number":57,"context_line":"        response \u003d self._get(uri)"},{"line_number":58,"context_line":"        self._verify_response(\u0027versions-get-resp\u0027, self.max_api_version,"},{"line_number":59,"context_line":"                              response, 200, update_links\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_ee62333e","line":56,"range":{"start_line":56,"start_character":37,"end_line":56,"end_character":40},"updated":"2019-10-09 16:12:31.000000000","message":"url?","commit_id":"e33d270cd92b9c3a2be375d00aaebeb49adfb673"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"6169622609de6b3a144c1bf73d1fcfff0f4ee17b","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            authenticate\u003dFalse)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @ddt.data(\u0027\u0027, \u0027/\u0027)"},{"line_number":56,"context_line":"    def test_versions_get_base(self, uri):"},{"line_number":57,"context_line":"        response \u003d self._get(uri)"},{"line_number":58,"context_line":"        self._verify_response(\u0027versions-get-resp\u0027, self.max_api_version,"},{"line_number":59,"context_line":"                              response, 200, update_links\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_aa10a04f","line":56,"range":{"start_line":56,"start_character":37,"end_line":56,"end_character":40},"in_reply_to":"3fa7e38b_6feddab5","updated":"2019-10-09 21:23:32.000000000","message":"Done","commit_id":"e33d270cd92b9c3a2be375d00aaebeb49adfb673"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"eb92ac39ceba057bc754bb1074f4fcc00b7ccc97","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            authenticate\u003dFalse)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @ddt.data(\u0027\u0027, \u0027/\u0027)"},{"line_number":56,"context_line":"    def test_versions_get_base(self, uri):"},{"line_number":57,"context_line":"        response \u003d self._get(uri)"},{"line_number":58,"context_line":"        self._verify_response(\u0027versions-get-resp\u0027, self.max_api_version,"},{"line_number":59,"context_line":"                              response, 200, update_links\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_6feddab5","line":56,"range":{"start_line":56,"start_character":37,"end_line":56,"end_character":40},"in_reply_to":"3fa7e38b_91015b3b","updated":"2019-10-09 20:59:47.000000000","message":"dangit, forgot to fix this, will do it if I respin","commit_id":"e33d270cd92b9c3a2be375d00aaebeb49adfb673"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"29462b5bfb02b2b6db159e324d3b8bb13c4d22be","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            authenticate\u003dFalse)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @ddt.data(\u0027\u0027, \u0027/\u0027)"},{"line_number":56,"context_line":"    def test_versions_get_base(self, uri):"},{"line_number":57,"context_line":"        response \u003d self._get(uri)"},{"line_number":58,"context_line":"        self._verify_response(\u0027versions-get-resp\u0027, self.max_api_version,"},{"line_number":59,"context_line":"                              response, 200, update_links\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_91015b3b","line":56,"range":{"start_line":56,"start_character":37,"end_line":56,"end_character":40},"in_reply_to":"3fa7e38b_ee62333e","updated":"2019-10-09 19:37:34.000000000","message":"Could be, we seem pretty sloppy about which we use where. But yeah, should make it consistent with what I used below.","commit_id":"e33d270cd92b9c3a2be375d00aaebeb49adfb673"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3b95c64251259e9f2492ead144f47f7cbb105f54","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"import ddt"},{"line_number":16,"context_line":"import fixtures"},{"line_number":17,"context_line":"import webob"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_b220aaf9","line":15,"updated":"2020-04-06 08:30:03.000000000","message":"nit: newline above this","commit_id":"49a9f4564487409ae8a4ea5aed39677e234afc01"}]}
