)]}'
{"patrole_tempest_plugin/tests/api/network/rbac_base.py":[{"author":{"_account_id":8911,"name":"Sergey Vilgelm","email":"sergey@vilgelm.info","username":"sergey.vilgelm"},"change_message_id":"e46972fb0ed4292961af1f1535c804dada8059ec","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        return manager"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    @classmethod"},{"line_number":80,"context_line":"    def create_service_profile(cls):"},{"line_number":81,"context_line":"        service_profile \u003d cls.ntp_client.create_service_profile("},{"line_number":82,"context_line":"            metainfo\u003djson.dumps({\u0027foo\u0027: \u0027bar\u0027}))"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_25ed3101","line":79,"updated":"2018-11-13 15:51:56.000000000","message":"Seems This is totally same you added in https://review.openstack.org/#/c/597216/7/patrole_tempest_plugin/tests/api/network/test_flavor_service_profile_rbac.py\n\nFlavorsServiceProfilePluginRbacTest:L47\n\nIf so, please remove it here","commit_id":"feac7968a32991fd76bd5589b1c87e3adc32af80"},{"author":{"_account_id":8911,"name":"Sergey Vilgelm","email":"sergey@vilgelm.info","username":"sergey.vilgelm"},"change_message_id":"2d28534de97758c5fe0b67471229282c6273ec42","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        return manager"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    @classmethod"},{"line_number":80,"context_line":"    def create_service_profile(cls):"},{"line_number":81,"context_line":"        service_profile \u003d cls.ntp_client.create_service_profile("},{"line_number":82,"context_line":"            metainfo\u003djson.dumps({\u0027foo\u0027: \u0027bar\u0027}))"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_05759534","line":79,"in_reply_to":"3f79a3b5_25ed3101","updated":"2018-11-13 15:55:48.000000000","message":"I see, the ServiceProfilePluginRbacTest uses this function.\nSo please remove it in FlavorsServiceProfilePluginRbacTest","commit_id":"feac7968a32991fd76bd5589b1c87e3adc32af80"}],"patrole_tempest_plugin/tests/api/network/test_flavor_service_profile_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c2f9acd30a54a525293132eba91f12ed8f3694a7","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    @decorators.idempotent_id(\u00273b680d9e-946a-4670-ab7f-0e4576675833\u0027)"},{"line_number":77,"context_line":"    @rbac_rule_validation.action(service\u003d\"neutron\","},{"line_number":78,"context_line":"                                 rules\u003d[\"delete_flavor_service_profile\"])"},{"line_number":79,"context_line":"    def test_delete_flavor_service_profile(self):"},{"line_number":80,"context_line":"        \"\"\"Delete flavor_service_profile."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        RBAC test for the neutron \"delete_flavor_service_profile\" policy"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_ee11b5fa","line":79,"range":{"start_line":79,"start_character":8,"end_line":79,"end_character":42},"updated":"2018-11-07 21:40:39.000000000","message":"This is unrelated but this is a case where the test raises a 403 only because the corresponding GET action is allowed: https://github.com/openstack/neutron/blob/eb8759aa980ded1b5ac21b34bd111ef50c17214e/etc/policy.json#L223\n\nThis is where actually further refactoring is required because this test will raise a 403 only if get_flavor_service_profile is allowed; else it will raise a 404.","commit_id":"9db5ba3cdb45f6e6719d2398879026290eee71af"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"d70c6315aa127800b89080153b1463b83584e812","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    @decorators.idempotent_id(\u00273b680d9e-946a-4670-ab7f-0e4576675833\u0027)"},{"line_number":77,"context_line":"    @rbac_rule_validation.action(service\u003d\"neutron\","},{"line_number":78,"context_line":"                                 rules\u003d[\"delete_flavor_service_profile\"])"},{"line_number":79,"context_line":"    def test_delete_flavor_service_profile(self):"},{"line_number":80,"context_line":"        \"\"\"Delete flavor_service_profile."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        RBAC test for the neutron \"delete_flavor_service_profile\" policy"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_cebb99e1","line":79,"range":{"start_line":79,"start_character":8,"end_line":79,"end_character":42},"in_reply_to":"3f79a3b5_ee11b5fa","updated":"2018-11-07 21:41:24.000000000","message":"More context on this behavior: https://github.com/openstack/neutron/blob/55be92e253a33c9a51ac9db3e444942920372904/neutron/api/v2/base.py#L587","commit_id":"9db5ba3cdb45f6e6719d2398879026290eee71af"}],"patrole_tempest_plugin/tests/api/network/test_flavors_rbac.py":[{"author":{"_account_id":23140,"name":"Jess Egler","email":"jess.egler@gmail.com","username":"jessegler"},"change_message_id":"2f0c5c7f9deabc180eae38a2e034444745c048c5","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        adm_sp_ids \u003d set(sp[\"id\"]"},{"line_number":205,"context_line":"                         for sp in admin_results[\"service_profiles\"])"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"        if set(sp_ids) !\u003d set(adm_sp_ids):"},{"line_number":208,"context_line":"            raise rbac_exceptions.RbacMalformedResponse(empty\u003dTrue)"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    @decorators.idempotent_id(\u0027a3dd719d-4cd3-40cc-b4f1-5642e2717adf\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_70b03e41","line":207,"updated":"2018-09-17 18:44:04.000000000","message":"I need to cover the case when the admin list is empty.","commit_id":"ed5ca643e43b82ac4bac8ee6cccbc18ac4bb446c"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"5a8849d8ff2066013e02b907563b7edbfc957287","unresolved":false,"context_lines":[{"line_number":142,"context_line":"            cls.ntp_client.delete_flavor, flavor_id)"},{"line_number":143,"context_line":"        return flavor_id"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    @classmethod"},{"line_number":146,"context_line":"    def create_service_profile(cls):"},{"line_number":147,"context_line":"        service_profile \u003d cls.ntp_client.create_service_profile("},{"line_number":148,"context_line":"            metainfo\u003djson.dumps({\u0027foo\u0027: \u0027bar\u0027}))"},{"line_number":149,"context_line":"        service_profile_id \u003d service_profile[\"service_profile\"][\"id\"]"},{"line_number":150,"context_line":"        cls.addClassResourceCleanup("},{"line_number":151,"context_line":"            test_utils.call_and_ignore_notfound_exc,"},{"line_number":152,"context_line":"            cls.ntp_client.delete_service_profile, service_profile_id)"},{"line_number":153,"context_line":"        return service_profile_id"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def create_flavor_service_profile(self, flavor_id, service_profile_id):"},{"line_number":156,"context_line":"        self.ntp_client.create_flavor_service_profile("}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_246d5e2e","line":153,"range":{"start_line":145,"start_character":0,"end_line":153,"end_character":33},"updated":"2018-09-20 19:10:26.000000000","message":"This can be moved into `BaseNetworkPluginRbacTest` if you need to use it for `FlavorsServiceProfilePluginRbacTest` as well as a different class (like `ServiceProfilePluginRbacTest`)","commit_id":"c043351384107807c75f94e8aa5440ca151873d5"},{"author":{"_account_id":16274,"name":"Mykola Yakovliev","email":"VegasQ@gmail.com","username":"vegasq"},"change_message_id":"116c0736780845fc25e1a5590d57fd0143f82ee4","unresolved":false,"context_lines":[{"line_number":142,"context_line":"            cls.ntp_client.delete_flavor, flavor_id)"},{"line_number":143,"context_line":"        return flavor_id"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    @classmethod"},{"line_number":146,"context_line":"    def create_service_profile(cls):"},{"line_number":147,"context_line":"        service_profile \u003d cls.ntp_client.create_service_profile("},{"line_number":148,"context_line":"            metainfo\u003djson.dumps({\u0027foo\u0027: \u0027bar\u0027}))"},{"line_number":149,"context_line":"        service_profile_id \u003d service_profile[\"service_profile\"][\"id\"]"},{"line_number":150,"context_line":"        cls.addClassResourceCleanup("},{"line_number":151,"context_line":"            test_utils.call_and_ignore_notfound_exc,"},{"line_number":152,"context_line":"            cls.ntp_client.delete_service_profile, service_profile_id)"},{"line_number":153,"context_line":"        return service_profile_id"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def create_flavor_service_profile(self, flavor_id, service_profile_id):"},{"line_number":156,"context_line":"        self.ntp_client.create_flavor_service_profile("}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_ddc36a38","line":153,"range":{"start_line":145,"start_character":0,"end_line":153,"end_character":33},"in_reply_to":"3f79a3b5_246d5e2e","updated":"2018-11-06 19:39:57.000000000","message":"Done","commit_id":"c043351384107807c75f94e8aa5440ca151873d5"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"5a8849d8ff2066013e02b907563b7edbfc957287","unresolved":false,"context_lines":[{"line_number":160,"context_line":"            self.ntp_client.delete_flavor_service_profile,"},{"line_number":161,"context_line":"            flavor_id, service_profile_id)"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    @decorators.idempotent_id(\u00276ce76efa-7400-44c1-80ec-58f79b1d89ca\u0027)"},{"line_number":164,"context_line":"    @rbac_rule_validation.action(service\u003d\"neutron\","},{"line_number":165,"context_line":"                                 rules\u003d[\"create_service_profile\"],"},{"line_number":166,"context_line":"                                 expected_error_codes\u003d[403])"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_a4816ec4","line":163,"updated":"2018-09-20 19:10:26.000000000","message":"We should move all these tests below into a separate class because service profiles are different from flavors associated with service profiles.","commit_id":"c043351384107807c75f94e8aa5440ca151873d5"},{"author":{"_account_id":16274,"name":"Mykola Yakovliev","email":"VegasQ@gmail.com","username":"vegasq"},"change_message_id":"116c0736780845fc25e1a5590d57fd0143f82ee4","unresolved":false,"context_lines":[{"line_number":160,"context_line":"            self.ntp_client.delete_flavor_service_profile,"},{"line_number":161,"context_line":"            flavor_id, service_profile_id)"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"    @decorators.idempotent_id(\u00276ce76efa-7400-44c1-80ec-58f79b1d89ca\u0027)"},{"line_number":164,"context_line":"    @rbac_rule_validation.action(service\u003d\"neutron\","},{"line_number":165,"context_line":"                                 rules\u003d[\"create_service_profile\"],"},{"line_number":166,"context_line":"                                 expected_error_codes\u003d[403])"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_7dbc96b5","line":163,"in_reply_to":"3f79a3b5_a4816ec4","updated":"2018-11-06 19:39:57.000000000","message":"Done","commit_id":"c043351384107807c75f94e8aa5440ca151873d5"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"5a8849d8ff2066013e02b907563b7edbfc957287","unresolved":false,"context_lines":[{"line_number":176,"context_line":"    @rbac_rule_validation.action(service\u003d\"neutron\","},{"line_number":177,"context_line":"                                 rules\u003d[\"get_service_profile\"],"},{"line_number":178,"context_line":"                                 expected_error_codes\u003d[404])"},{"line_number":179,"context_line":"    def test_get_service_profile(self):"},{"line_number":180,"context_line":"        \"\"\"Show service profile"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        RBAC test for the neutron \"get_service_profile\" policy"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_e42d26fd","line":179,"range":{"start_line":179,"start_character":12,"end_line":179,"end_character":16},"updated":"2018-09-20 19:10:26.000000000","message":"nit: show","commit_id":"c043351384107807c75f94e8aa5440ca151873d5"},{"author":{"_account_id":16274,"name":"Mykola Yakovliev","email":"VegasQ@gmail.com","username":"vegasq"},"change_message_id":"116c0736780845fc25e1a5590d57fd0143f82ee4","unresolved":false,"context_lines":[{"line_number":176,"context_line":"    @rbac_rule_validation.action(service\u003d\"neutron\","},{"line_number":177,"context_line":"                                 rules\u003d[\"get_service_profile\"],"},{"line_number":178,"context_line":"                                 expected_error_codes\u003d[404])"},{"line_number":179,"context_line":"    def test_get_service_profile(self):"},{"line_number":180,"context_line":"        \"\"\"Show service profile"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        RBAC test for the neutron \"get_service_profile\" policy"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_9db972c6","line":179,"range":{"start_line":179,"start_character":12,"end_line":179,"end_character":16},"in_reply_to":"3f79a3b5_e42d26fd","updated":"2018-11-06 19:39:57.000000000","message":"Done","commit_id":"c043351384107807c75f94e8aa5440ca151873d5"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"5a8849d8ff2066013e02b907563b7edbfc957287","unresolved":false,"context_lines":[{"line_number":187,"context_line":"    @decorators.idempotent_id(\u0027fe17f4fa-f94d-4b82-8fbd-41bb1960b706\u0027)"},{"line_number":188,"context_line":"    @rbac_rule_validation.action(service\u003d\"neutron\","},{"line_number":189,"context_line":"                                 rules\u003d[\"get_service_profiles\"])"},{"line_number":190,"context_line":"    def test_get_service_profiles(self):"},{"line_number":191,"context_line":"        \"\"\"List service profiles"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"        RBAC test for the neutron \"get_service_profiles\" policy"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_24ea3e9f","line":190,"range":{"start_line":190,"start_character":13,"end_line":190,"end_character":16},"updated":"2018-09-20 19:10:26.000000000","message":"nit: list","commit_id":"c043351384107807c75f94e8aa5440ca151873d5"},{"author":{"_account_id":16274,"name":"Mykola Yakovliev","email":"VegasQ@gmail.com","username":"vegasq"},"change_message_id":"116c0736780845fc25e1a5590d57fd0143f82ee4","unresolved":false,"context_lines":[{"line_number":187,"context_line":"    @decorators.idempotent_id(\u0027fe17f4fa-f94d-4b82-8fbd-41bb1960b706\u0027)"},{"line_number":188,"context_line":"    @rbac_rule_validation.action(service\u003d\"neutron\","},{"line_number":189,"context_line":"                                 rules\u003d[\"get_service_profiles\"])"},{"line_number":190,"context_line":"    def test_get_service_profiles(self):"},{"line_number":191,"context_line":"        \"\"\"List service profiles"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"        RBAC test for the neutron \"get_service_profiles\" policy"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_3dd85e22","line":190,"range":{"start_line":190,"start_character":13,"end_line":190,"end_character":16},"in_reply_to":"3f79a3b5_24ea3e9f","updated":"2018-11-06 19:39:57.000000000","message":"Done","commit_id":"c043351384107807c75f94e8aa5440ca151873d5"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"2a32e676bba73b0b82a25995a0682022411bf6c0","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            self.ntp_client.list_flavors()"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"class FlavorsServiceProfilePluginRbacTest(base.BaseNetworkPluginRbacTest):"},{"line_number":124,"context_line":"    @classmethod"},{"line_number":125,"context_line":"    def resource_setup(cls):"},{"line_number":126,"context_line":"        super(FlavorsServiceProfilePluginRbacTest, cls).resource_setup()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_60b86dc6","line":123,"range":{"start_line":123,"start_character":6,"end_line":123,"end_character":41},"updated":"2018-11-06 20:21:59.000000000","message":"This probably should have gone into a separate file as well.","commit_id":"ff0bf1a6fc0fc35d6eb83f3aff1dab5deab58ff5"},{"author":{"_account_id":16274,"name":"Mykola Yakovliev","email":"VegasQ@gmail.com","username":"vegasq"},"change_message_id":"56c4a17ce7e68b4f3dda865fc374575ac2fe9986","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            self.ntp_client.list_flavors()"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"class FlavorsServiceProfilePluginRbacTest(base.BaseNetworkPluginRbacTest):"},{"line_number":124,"context_line":"    @classmethod"},{"line_number":125,"context_line":"    def resource_setup(cls):"},{"line_number":126,"context_line":"        super(FlavorsServiceProfilePluginRbacTest, cls).resource_setup()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_9685cf55","line":123,"range":{"start_line":123,"start_character":6,"end_line":123,"end_character":41},"in_reply_to":"3f79a3b5_60b86dc6","updated":"2018-11-06 21:44:29.000000000","message":"Done","commit_id":"ff0bf1a6fc0fc35d6eb83f3aff1dab5deab58ff5"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"2a32e676bba73b0b82a25995a0682022411bf6c0","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                self.flavor_id, self.service_profile_id)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"class ServiceProfilePluginRbacTest(base.BaseNetworkPluginRbacTest):"},{"line_number":191,"context_line":"    @decorators.idempotent_id(\u00276ce76efa-7400-44c1-80ec-58f79b1d89ca\u0027)"},{"line_number":192,"context_line":"    @rbac_rule_validation.action(service\u003d\"neutron\","},{"line_number":193,"context_line":"                                 rules\u003d[\"create_service_profile\"],"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_e09a3d5e","line":190,"range":{"start_line":190,"start_character":6,"end_line":190,"end_character":34},"updated":"2018-11-06 20:21:59.000000000","message":"I think we should move this into a separate file as well.","commit_id":"ff0bf1a6fc0fc35d6eb83f3aff1dab5deab58ff5"},{"author":{"_account_id":16274,"name":"Mykola Yakovliev","email":"VegasQ@gmail.com","username":"vegasq"},"change_message_id":"56c4a17ce7e68b4f3dda865fc374575ac2fe9986","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                self.flavor_id, self.service_profile_id)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"class ServiceProfilePluginRbacTest(base.BaseNetworkPluginRbacTest):"},{"line_number":191,"context_line":"    @decorators.idempotent_id(\u00276ce76efa-7400-44c1-80ec-58f79b1d89ca\u0027)"},{"line_number":192,"context_line":"    @rbac_rule_validation.action(service\u003d\"neutron\","},{"line_number":193,"context_line":"                                 rules\u003d[\"create_service_profile\"],"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_36e4fb41","line":190,"range":{"start_line":190,"start_character":6,"end_line":190,"end_character":34},"in_reply_to":"3f79a3b5_e09a3d5e","updated":"2018-11-06 21:44:29.000000000","message":"Done","commit_id":"ff0bf1a6fc0fc35d6eb83f3aff1dab5deab58ff5"}],"patrole_tempest_plugin/tests/api/network/test_service_profile_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c2f9acd30a54a525293132eba91f12ed8f3694a7","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    @decorators.idempotent_id(\u00276ce76efa-7400-44c1-80ec-58f79b1d89ca\u0027)"},{"line_number":24,"context_line":"    @rbac_rule_validation.action(service\u003d\"neutron\","},{"line_number":25,"context_line":"                                 rules\u003d[\"create_service_profile\"],"},{"line_number":26,"context_line":"                                 expected_error_codes\u003d[403])"},{"line_number":27,"context_line":"    def test_create_service_profile(self):"},{"line_number":28,"context_line":"        \"\"\"Create service profile"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_4339a23d","line":26,"range":{"start_line":26,"start_character":33,"end_line":26,"end_character":59},"updated":"2018-11-07 21:40:39.000000000","message":"nit: This is the default case, so can be ommitted.","commit_id":"9db5ba3cdb45f6e6719d2398879026290eee71af"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c2f9acd30a54a525293132eba91f12ed8f3694a7","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    def test_create_service_profile(self):"},{"line_number":28,"context_line":"        \"\"\"Create service profile"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        https://developer.openstack.org/api-ref/network/v2/index.html#create-service-profile"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"        RBAC test for the neutron \"create_service_profile\" policy"},{"line_number":33,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_63f13e96","line":30,"range":{"start_line":30,"start_character":8,"end_line":30,"end_character":92},"updated":"2018-11-07 21:40:39.000000000","message":"nit: This is a convention for Tempest lib service clients. This isn\u0027t needed here.","commit_id":"9db5ba3cdb45f6e6719d2398879026290eee71af"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c2f9acd30a54a525293132eba91f12ed8f3694a7","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    def test_show_service_profile(self):"},{"line_number":42,"context_line":"        \"\"\"Show service profile"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        https://developer.openstack.org/api-ref/network/v2/index.html#show-service-profile-details"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        RBAC test for the neutron \"get_service_profile\" policy"},{"line_number":47,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_03eaca9f","line":44,"updated":"2018-11-07 21:40:39.000000000","message":"Ditto","commit_id":"9db5ba3cdb45f6e6719d2398879026290eee71af"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c2f9acd30a54a525293132eba91f12ed8f3694a7","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    def test_update_service_profile(self):"},{"line_number":58,"context_line":"        \"\"\"Update service profile"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        https://developer.openstack.org/api-ref/network/v2/index.html#update-service-profile"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        RBAC test for the neutron \"update_service_profile\" policy"},{"line_number":63,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_23e7c6d9","line":60,"updated":"2018-11-07 21:40:39.000000000","message":"Ditto","commit_id":"9db5ba3cdb45f6e6719d2398879026290eee71af"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c2f9acd30a54a525293132eba91f12ed8f3694a7","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    def test_delete_service_profile(self):"},{"line_number":74,"context_line":"        \"\"\"Delete service profile"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        https://developer.openstack.org/api-ref/network/v2/index.html#delete-service-profile"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        RBAC test for the neutron \"delete_service_profile\" policy"},{"line_number":79,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_c325b217","line":76,"updated":"2018-11-07 21:40:39.000000000","message":"Ditto","commit_id":"9db5ba3cdb45f6e6719d2398879026290eee71af"}]}
