)]}'
{"patrole_tempest_plugin/tests/unit/test_rbac_policy_parser.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"e7d1f5dcf4d677cc8b9b19174608f51dace71b50","unresolved":false,"context_lines":[{"line_number":525,"context_line":"                expected_services,"},{"line_number":526,"context_line":"                rbac_policy_parser.RbacPolicyParser.available_services)"},{"line_number":527,"context_line":""},{"line_number":528,"context_line":"        # There are 3 possibilites: 1) api_v3 set, 2) api_v2 set, 3) both set."},{"line_number":529,"context_line":"        CONF.set_override(\u0027api_v2\u0027, True, group\u003d\u0027identity-feature-enabled\u0027)"},{"line_number":530,"context_line":"        CONF.set_override(\u0027api_v3\u0027, False, group\u003d\u0027identity-feature-enabled\u0027)"},{"line_number":531,"context_line":"        _test(self.services, [], expected_services)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f1d235d_e9173345","line":528,"range":{"start_line":528,"start_character":20,"end_line":528,"end_character":21},"updated":"2017-07-07 21:12:42.000000000","message":"4... both are False","commit_id":"8bd549228248b5f7041c82b594a4b23c75c9f90a"},{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"a9d3845fd53f61af0635cdafefa75de9a84999ec","unresolved":false,"context_lines":[{"line_number":439,"context_line":""},{"line_number":440,"context_line":"    def test_validate_service(self):"},{"line_number":441,"context_line":"        @mock.patch.object(rbac_policy_parser, \u0027credentials\u0027)"},{"line_number":442,"context_line":"        def _test(v2_services, v3_services, m_creds):"},{"line_number":443,"context_line":"            m_creds.AdminManager().identity_services_client.list_services.\\"},{"line_number":444,"context_line":"                return_value \u003d v2_services"},{"line_number":445,"context_line":"            m_creds.AdminManager().identity_services_v3_client.list_services.\\"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_4adb83ec","line":442,"range":{"start_line":442,"start_character":8,"end_line":442,"end_character":17},"updated":"2017-07-13 19:29:35.000000000","message":"It looks like you\u0027re repeating a good portion of this between this and the invalid service test. It might be worth it to break out part of it","commit_id":"0fc43842f88f031ffa6c88b2348de1d1643c3c3f"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"63de352b3677b8d22141d399cc817e790eab0167","unresolved":false,"context_lines":[{"line_number":439,"context_line":""},{"line_number":440,"context_line":"    def test_validate_service(self):"},{"line_number":441,"context_line":"        @mock.patch.object(rbac_policy_parser, \u0027credentials\u0027)"},{"line_number":442,"context_line":"        def _test(v2_services, v3_services, m_creds):"},{"line_number":443,"context_line":"            m_creds.AdminManager().identity_services_client.list_services.\\"},{"line_number":444,"context_line":"                return_value \u003d v2_services"},{"line_number":445,"context_line":"            m_creds.AdminManager().identity_services_v3_client.list_services.\\"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_1ab9542d","line":442,"range":{"start_line":442,"start_character":8,"end_line":442,"end_character":17},"in_reply_to":"1f1a1f67_4adb83ec","updated":"2017-07-13 21:56:00.000000000","message":"Fair point. Looks like I can abstract a lot of it out into a shared helper function.","commit_id":"0fc43842f88f031ffa6c88b2348de1d1643c3c3f"}]}
