)]}'
{"octavia_tempest_plugin/tests/api/v2/test_amphora.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"928be3f8b2a62d41249a86104aa2d8810b9f78cc","unresolved":false,"context_lines":[{"line_number":95,"context_line":"                exceptions.Forbidden,"},{"line_number":96,"context_line":"                self.os_primary.amphora_client.list_amphorae)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        # Test that a user with cloud admin role can list the amphorae"},{"line_number":99,"context_line":"        if not CONF.load_balancer.RBAC_test_type \u003d\u003d const.NONE:"},{"line_number":100,"context_line":"            adm \u003d self.lb_admin_amphora_client.list_amphorae()"},{"line_number":101,"context_line":"            self.assertGreaterEqual("}],"source_content_type":"text/x-python","patch_set":10,"id":"1f493fa4_b94b785d","line":98,"range":{"start_line":98,"start_character":32,"end_line":98,"end_character":37},"updated":"2020-05-04 15:59:39.000000000","message":"nit: This is LB-admin role and not the cloud wide admin.","commit_id":"c1bb82cb1ee8d1b0f6105b3d0d5160a9772dee75"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"2d4788b0e02376338920d9043cf79b99aa051df1","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                self.os_primary.amphora_client.list_amphorae)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        # Test that a user with cloud admin role can list the amphorae"},{"line_number":99,"context_line":"        if not CONF.load_balancer.RBAC_test_type \u003d\u003d const.NONE:"},{"line_number":100,"context_line":"            adm \u003d self.lb_admin_amphora_client.list_amphorae()"},{"line_number":101,"context_line":"            self.assertGreaterEqual("},{"line_number":102,"context_line":"                len(adm), 2 * self._expected_amp_count(adm))"}],"source_content_type":"text/x-python","patch_set":10,"id":"1f493fa4_e001aab1","line":99,"updated":"2020-05-05 16:41:37.000000000","message":"Can this be \"!\u003d\" rather than \"not \u003d\u003d\"? I was very confused at first glance when scanning the code.","commit_id":"c1bb82cb1ee8d1b0f6105b3d0d5160a9772dee75"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"0e8339d640d0fb0eab39fa015e8d605fa8d986cc","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                self.os_primary.amphora_client.list_amphorae)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        # Test that a user with cloud admin role can list the amphorae"},{"line_number":99,"context_line":"        if not CONF.load_balancer.RBAC_test_type \u003d\u003d const.NONE:"},{"line_number":100,"context_line":"            adm \u003d self.lb_admin_amphora_client.list_amphorae()"},{"line_number":101,"context_line":"            self.assertGreaterEqual("},{"line_number":102,"context_line":"                len(adm), 2 * self._expected_amp_count(adm))"}],"source_content_type":"text/x-python","patch_set":10,"id":"ff570b3c_c9be0864","line":99,"in_reply_to":"1f493fa4_27e6e345","updated":"2020-05-15 06:46:07.000000000","message":"Yeah, but that was me from two years ago. That guy was an asshole. He\u0027s always getting me in trouble!","commit_id":"c1bb82cb1ee8d1b0f6105b3d0d5160a9772dee75"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"27768ed11b9ae6dc6f6c150cf42117b01aef5791","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                self.os_primary.amphora_client.list_amphorae)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        # Test that a user with cloud admin role can list the amphorae"},{"line_number":99,"context_line":"        if not CONF.load_balancer.RBAC_test_type \u003d\u003d const.NONE:"},{"line_number":100,"context_line":"            adm \u003d self.lb_admin_amphora_client.list_amphorae()"},{"line_number":101,"context_line":"            self.assertGreaterEqual("},{"line_number":102,"context_line":"                len(adm), 2 * self._expected_amp_count(adm))"}],"source_content_type":"text/x-python","patch_set":10,"id":"1f493fa4_27e6e345","line":99,"in_reply_to":"1f493fa4_e001aab1","updated":"2020-05-08 15:11:22.000000000","message":"I\u0027d rather not do it in this change for consistency. \n\n$ git grep \"if not CONF.load_balancer.RBAC_test_type \u003d\u003d const.NONE\" | wc -l\n40\n\n\nBTW, your own code: https://github.com/openstack/octavia-tempest-plugin/commit/dfc11ee63302bff735a25f5ba52dacfe444af678#diff-7ae310bc1449bd73c53318a8ee96cd3fR100","commit_id":"c1bb82cb1ee8d1b0f6105b3d0d5160a9772dee75"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"2d4788b0e02376338920d9043cf79b99aa051df1","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                self.os_primary.amphora_client.list_amphorae)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        # Test that a user with cloud admin role can list the amphorae"},{"line_number":99,"context_line":"        if not CONF.load_balancer.RBAC_test_type \u003d\u003d const.NONE:"},{"line_number":100,"context_line":"            adm \u003d self.lb_admin_amphora_client.list_amphorae()"},{"line_number":101,"context_line":"            self.assertGreaterEqual("},{"line_number":102,"context_line":"                len(adm), 2 * self._expected_amp_count(adm))"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        # Get an actual list of the amphorae"},{"line_number":105,"context_line":"        amphorae \u003d self.lb_admin_amphora_client.list_amphorae()"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        # There should be AT LEAST 2, there may be more depending on the"},{"line_number":108,"context_line":"        # configured topology"},{"line_number":109,"context_line":"        self.assertGreaterEqual("},{"line_number":110,"context_line":"            len(amphorae), 2 * self._expected_amp_count(amphorae))"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        # Test that a different user, with load balancer member role, cannot"},{"line_number":113,"context_line":"        # see this amphora"}],"source_content_type":"text/x-python","patch_set":10,"id":"1f493fa4_a0f7a2d4","line":110,"range":{"start_line":99,"start_character":1,"end_line":110,"end_character":66},"updated":"2020-05-05 16:41:37.000000000","message":"Wait so ... ... we do this same exact thing twice in the case that RBAC_test_type is not None? What is the point of this?","commit_id":"c1bb82cb1ee8d1b0f6105b3d0d5160a9772dee75"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"27768ed11b9ae6dc6f6c150cf42117b01aef5791","unresolved":false,"context_lines":[{"line_number":96,"context_line":"                self.os_primary.amphora_client.list_amphorae)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        # Test that a user with cloud admin role can list the amphorae"},{"line_number":99,"context_line":"        if not CONF.load_balancer.RBAC_test_type \u003d\u003d const.NONE:"},{"line_number":100,"context_line":"            adm \u003d self.lb_admin_amphora_client.list_amphorae()"},{"line_number":101,"context_line":"            self.assertGreaterEqual("},{"line_number":102,"context_line":"                len(adm), 2 * self._expected_amp_count(adm))"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        # Get an actual list of the amphorae"},{"line_number":105,"context_line":"        amphorae \u003d self.lb_admin_amphora_client.list_amphorae()"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        # There should be AT LEAST 2, there may be more depending on the"},{"line_number":108,"context_line":"        # configured topology"},{"line_number":109,"context_line":"        self.assertGreaterEqual("},{"line_number":110,"context_line":"            len(amphorae), 2 * self._expected_amp_count(amphorae))"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        # Test that a different user, with load balancer member role, cannot"},{"line_number":113,"context_line":"        # see this amphora"}],"source_content_type":"text/x-python","patch_set":10,"id":"1f493fa4_38c9de24","line":110,"range":{"start_line":99,"start_character":1,"end_line":110,"end_character":66},"in_reply_to":"1f493fa4_a0f7a2d4","updated":"2020-05-08 15:11:22.000000000","message":"I agree. I did not touch this part, though. This code is a move from scenario to API. We can drop L99-102.","commit_id":"c1bb82cb1ee8d1b0f6105b3d0d5160a9772dee75"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"2d4788b0e02376338920d9043cf79b99aa051df1","unresolved":false,"context_lines":[{"line_number":142,"context_line":"            self.assertIn(amp[const.STATUS], const.AMPHORA_STATUSES)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"            # We might have gotten unassigned/spare amps?"},{"line_number":145,"context_line":"            if amp[const.STATUS] \u003d\u003d const.STATUS_ALLOCATED:"},{"line_number":146,"context_line":"                # Only check the state of fields for the LB we created,"},{"line_number":147,"context_line":"                # otherwise some fields (HA_PORT_ID) may not yet be"},{"line_number":148,"context_line":"                # populated in amps for parallel tests."}],"source_content_type":"text/x-python","patch_set":10,"id":"1f493fa4_a0e5e20c","line":145,"updated":"2020-05-05 16:41:37.000000000","message":"Note to self -- check if this single status \"ALLOCATED\" is actually what we want in this check.","commit_id":"c1bb82cb1ee8d1b0f6105b3d0d5160a9772dee75"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"2d4788b0e02376338920d9043cf79b99aa051df1","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                # Only check the state of fields for the LB we created,"},{"line_number":147,"context_line":"                # otherwise some fields (HA_PORT_ID) may not yet be"},{"line_number":148,"context_line":"                # populated in amps for parallel tests."},{"line_number":149,"context_line":"                if self.lb_id \u003d\u003d amp[const.LOADBALANCER_ID]:"},{"line_number":150,"context_line":"                    UUID(amp[const.HA_PORT_ID])"},{"line_number":151,"context_line":"                    UUID(amp[const.LOADBALANCER_ID])"},{"line_number":152,"context_line":"                    UUID(amp[const.COMPUTE_ID])"}],"source_content_type":"text/x-python","patch_set":10,"id":"1f493fa4_20bb92e5","line":149,"updated":"2020-05-05 16:41:37.000000000","message":"If we\u0027re only testing the LB we created, why are we bothering to check the status above? It actually seems like we should do this check first, and then if there are amps in bad status that would be a PROBLEM.\nIt might be better to do this check first, THEN on the \u0027else\u0027 check the role if the status is ALLOCATED... Though that check makes less and less sense to me, maybe it\u0027s just early...","commit_id":"c1bb82cb1ee8d1b0f6105b3d0d5160a9772dee75"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"27768ed11b9ae6dc6f6c150cf42117b01aef5791","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                # Only check the state of fields for the LB we created,"},{"line_number":147,"context_line":"                # otherwise some fields (HA_PORT_ID) may not yet be"},{"line_number":148,"context_line":"                # populated in amps for parallel tests."},{"line_number":149,"context_line":"                if self.lb_id \u003d\u003d amp[const.LOADBALANCER_ID]:"},{"line_number":150,"context_line":"                    UUID(amp[const.HA_PORT_ID])"},{"line_number":151,"context_line":"                    UUID(amp[const.LOADBALANCER_ID])"},{"line_number":152,"context_line":"                    UUID(amp[const.COMPUTE_ID])"}],"source_content_type":"text/x-python","patch_set":10,"id":"1f493fa4_78a1a646","line":149,"in_reply_to":"1f493fa4_20bb92e5","updated":"2020-05-08 15:11:22.000000000","message":"Agreed, partially. Since we created this LB, its amps are expected to be ALLOCATED *and* role be either standalone, master or backup.","commit_id":"c1bb82cb1ee8d1b0f6105b3d0d5160a9772dee75"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"27768ed11b9ae6dc6f6c150cf42117b01aef5791","unresolved":false,"context_lines":[{"line_number":162,"context_line":"            else:"},{"line_number":163,"context_line":"                self.assertIsNone(amp[const.ROLE])"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        # Test filtering by loadbalancer_id"},{"line_number":166,"context_line":"        amphorae \u003d self.lb_admin_amphora_client.list_amphorae("},{"line_number":167,"context_line":"            query_params\u003d\u0027{loadbalancer_id}\u003d{lb_id}\u0027.format("},{"line_number":168,"context_line":"                loadbalancer_id\u003dconst.LOADBALANCER_ID, lb_id\u003dself.lb_id))"}],"source_content_type":"text/x-python","patch_set":10,"id":"1f493fa4_3808a72b","line":165,"updated":"2020-05-08 15:11:22.000000000","message":"I\u0027m moving this up. This is a \"list\" test and we already have the exact same filtered list.","commit_id":"c1bb82cb1ee8d1b0f6105b3d0d5160a9772dee75"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"bea29c25777a68f423141f67e4d489e589835f6c","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"            # Make sure all of the fields exist on the amp list records"},{"line_number":131,"context_line":"            for field in show_amphora_response_fields:"},{"line_number":132,"context_line":"                self.assertIn(field, amp)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"            # Verify a few of the fields are the right type"},{"line_number":135,"context_line":"            if self.lb_admin_amphora_client.is_version_supported("}],"source_content_type":"text/x-python","patch_set":11,"id":"ff570b3c_169fa65f","line":132,"updated":"2020-05-13 14:31:00.000000000","message":"I know this is only a test, but seems like this could be in the loop on L152 before amp[field] is accessed.","commit_id":"0031cdfedf1d3114bfdbbac0cb1e226c0d2b6b44"}],"octavia_tempest_plugin/tests/scenario/v2/test_amphora.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"95b74b8b04dae397e692a2c85b718e7163dc3402","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        if not CONF.load_balancer.RBAC_test_type \u003d\u003d const.NONE:"},{"line_number":89,"context_line":"            member2_client \u003d self.os_roles_lb_member2.amphora_client"},{"line_number":90,"context_line":"            self.assertRaises(exceptions.Forbidden,"},{"line_number":91,"context_line":"                              member2_client.list_amphorae)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        # Test that a user, without the load balancer member role, cannot"},{"line_number":94,"context_line":"        # list amphorae"}],"source_content_type":"text/x-python","patch_set":6,"id":"1fa4df85_3885a8cf","line":91,"range":{"start_line":91,"start_character":45,"end_line":91,"end_character":58},"updated":"2020-03-06 18:30:37.000000000","message":"Fairly certain this is the wrong call... Shouldn\u0027t this be testing a show operation on a specific Amphora? As it is, it\u0027s just a duplicate of the check below.","commit_id":"8882e9ad8c6eda7061b1e5fa1a55f37066c4c57f"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"86b4d6b8e44d32a5aa095093760380782b65973a","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        if not CONF.load_balancer.RBAC_test_type \u003d\u003d const.NONE:"},{"line_number":89,"context_line":"            member2_client \u003d self.os_roles_lb_member2.amphora_client"},{"line_number":90,"context_line":"            self.assertRaises(exceptions.Forbidden,"},{"line_number":91,"context_line":"                              member2_client.list_amphorae)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        # Test that a user, without the load balancer member role, cannot"},{"line_number":94,"context_line":"        # list amphorae"}],"source_content_type":"text/x-python","patch_set":6,"id":"1fa4df85_c539faa3","line":91,"range":{"start_line":91,"start_character":45,"end_line":91,"end_character":58},"in_reply_to":"1fa4df85_3885a8cf","updated":"2020-03-09 16:00:54.000000000","message":"Done","commit_id":"8882e9ad8c6eda7061b1e5fa1a55f37066c4c57f"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"95b74b8b04dae397e692a2c85b718e7163dc3402","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        if not CONF.load_balancer.RBAC_test_type \u003d\u003d const.NONE:"},{"line_number":89,"context_line":"            member2_client \u003d self.os_roles_lb_member2.amphora_client"},{"line_number":90,"context_line":"            self.assertRaises(exceptions.Forbidden,"},{"line_number":91,"context_line":"                              member2_client.list_amphorae)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        # Test that a user, without the load balancer member role, cannot"},{"line_number":94,"context_line":"        # list amphorae"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_d376b770","line":91,"range":{"start_line":91,"start_character":45,"end_line":91,"end_character":58},"updated":"2020-03-06 18:30:37.000000000","message":"This should be a show_amphora, I think? Otherwise the comment is wrong.","commit_id":"0a223bc903c5deea00251686233e3bee07dd56b1"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"86b4d6b8e44d32a5aa095093760380782b65973a","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        if not CONF.load_balancer.RBAC_test_type \u003d\u003d const.NONE:"},{"line_number":89,"context_line":"            member2_client \u003d self.os_roles_lb_member2.amphora_client"},{"line_number":90,"context_line":"            self.assertRaises(exceptions.Forbidden,"},{"line_number":91,"context_line":"                              member2_client.list_amphorae)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        # Test that a user, without the load balancer member role, cannot"},{"line_number":94,"context_line":"        # list amphorae"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_6548462c","line":91,"range":{"start_line":91,"start_character":45,"end_line":91,"end_character":58},"in_reply_to":"1fa4df85_d376b770","updated":"2020-03-09 16:00:54.000000000","message":"Done. It could be done for any UUID (existing one or not) but to be cautious I\u0027ll set to an existing amphora UUID.","commit_id":"0a223bc903c5deea00251686233e3bee07dd56b1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a1f9f092851c7002ce8407c952d4dcc1087d6921","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @decorators.idempotent_id(\u0027a0e9ff99-2c4f-45d5-81c9-78d3107c236f\u0027)"},{"line_number":72,"context_line":"    def test_amphora_list_and_show(self):"},{"line_number":73,"context_line":"        \"\"\"Tests amphora show API."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        * Show amphora details."},{"line_number":76,"context_line":"        * Validate the show reflects the requested values."}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_7bdc5f46","line":73,"updated":"2020-04-20 16:06:45.000000000","message":"This seems like maybe it should be moved to an API test as opposed to a scenario test.","commit_id":"b6f81085e5cc49f5b39968b2cd770fadf7551200"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"ef5fce691d198dc7905aeedaf5c96f310fe89dba","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @decorators.idempotent_id(\u0027a0e9ff99-2c4f-45d5-81c9-78d3107c236f\u0027)"},{"line_number":72,"context_line":"    def test_amphora_list_and_show(self):"},{"line_number":73,"context_line":"        \"\"\"Tests amphora show API."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        * Show amphora details."},{"line_number":76,"context_line":"        * Validate the show reflects the requested values."}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_79cf237f","line":73,"in_reply_to":"1f493fa4_5bb6c3db","updated":"2020-04-27 10:05:20.000000000","message":"Done","commit_id":"b6f81085e5cc49f5b39968b2cd770fadf7551200"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"210933bf587aa1f091e570209dc8cdc8a96990af","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @decorators.idempotent_id(\u0027a0e9ff99-2c4f-45d5-81c9-78d3107c236f\u0027)"},{"line_number":72,"context_line":"    def test_amphora_list_and_show(self):"},{"line_number":73,"context_line":"        \"\"\"Tests amphora show API."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        * Show amphora details."},{"line_number":76,"context_line":"        * Validate the show reflects the requested values."}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_5bb6c3db","line":73,"in_reply_to":"1f493fa4_7bdc5f46","updated":"2020-04-20 16:27:07.000000000","message":"Excellent point! Given there\u0027s only one test here, the whole file would be moved.","commit_id":"b6f81085e5cc49f5b39968b2cd770fadf7551200"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a1f9f092851c7002ce8407c952d4dcc1087d6921","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            self.assertGreaterEqual("},{"line_number":84,"context_line":"                len(amphora_adm), self._expected_amp_count(amphora_adm))"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        # Test that a different user, with load balancer member role, cannot"},{"line_number":87,"context_line":"        # see this amphora"},{"line_number":88,"context_line":"        amphorae \u003d self.lb_admin_amphora_client.list_amphorae("},{"line_number":89,"context_line":"            query_params\u003d\u0027{loadbalancer_id}\u003d{lb_id}\u0027.format("}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_7b40df08","line":86,"updated":"2020-04-20 16:06:45.000000000","message":"It would be nice, for review, to re-organize these such that all \"list\" tests are grouped with all \"show\" tests.\nThough frankly it seems like these RBAC tests should be in the API test suite and not needed in scenario.","commit_id":"b6f81085e5cc49f5b39968b2cd770fadf7551200"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"ef5fce691d198dc7905aeedaf5c96f310fe89dba","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            self.assertGreaterEqual("},{"line_number":84,"context_line":"                len(amphora_adm), self._expected_amp_count(amphora_adm))"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        # Test that a different user, with load balancer member role, cannot"},{"line_number":87,"context_line":"        # see this amphora"},{"line_number":88,"context_line":"        amphorae \u003d self.lb_admin_amphora_client.list_amphorae("},{"line_number":89,"context_line":"            query_params\u003d\u0027{loadbalancer_id}\u003d{lb_id}\u0027.format("}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_2bcd405d","line":86,"in_reply_to":"1f493fa4_3bc65718","updated":"2020-04-27 10:05:20.000000000","message":"Done. All *list* tests are grouped together followed by all *show* tests. Please let me know if I got your comment wrong.","commit_id":"b6f81085e5cc49f5b39968b2cd770fadf7551200"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"210933bf587aa1f091e570209dc8cdc8a96990af","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            self.assertGreaterEqual("},{"line_number":84,"context_line":"                len(amphora_adm), self._expected_amp_count(amphora_adm))"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        # Test that a different user, with load balancer member role, cannot"},{"line_number":87,"context_line":"        # see this amphora"},{"line_number":88,"context_line":"        amphorae \u003d self.lb_admin_amphora_client.list_amphorae("},{"line_number":89,"context_line":"            query_params\u003d\u0027{loadbalancer_id}\u003d{lb_id}\u0027.format("}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_3bc65718","line":86,"in_reply_to":"1f493fa4_7b40df08","updated":"2020-04-20 16:27:07.000000000","message":"Sure, we can do that.","commit_id":"b6f81085e5cc49f5b39968b2cd770fadf7551200"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a1f9f092851c7002ce8407c952d4dcc1087d6921","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        # Test that a user with cloud admin role can list the amphorae"},{"line_number":105,"context_line":"        if not CONF.load_balancer.RBAC_test_type \u003d\u003d const.NONE:"},{"line_number":106,"context_line":"            adm \u003d self.lb_admin_amphora_client.list_amphorae()"},{"line_number":107,"context_line":"            self.assertGreaterEqual(len(adm), self._expected_amp_count(adm))"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Get an actual list of the amphorae"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_bb96e793","line":106,"updated":"2020-04-20 16:06:45.000000000","message":"This is a duplicate to the test on line 79.\nself.lb_admin_amphora_client \u003d\u003d self.os_roles_lb_admin.amphora_client\n\nhttps://github.com/openstack/octavia-tempest-plugin/blob/master/octavia_tempest_plugin/tests/test_base.py#L131","commit_id":"b6f81085e5cc49f5b39968b2cd770fadf7551200"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"ef5fce691d198dc7905aeedaf5c96f310fe89dba","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        # Test that a user with cloud admin role can list the amphorae"},{"line_number":105,"context_line":"        if not CONF.load_balancer.RBAC_test_type \u003d\u003d const.NONE:"},{"line_number":106,"context_line":"            adm \u003d self.lb_admin_amphora_client.list_amphorae()"},{"line_number":107,"context_line":"            self.assertGreaterEqual(len(adm), self._expected_amp_count(adm))"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Get an actual list of the amphorae"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_399f5b04","line":106,"in_reply_to":"1f493fa4_1b2f1bf7","updated":"2020-04-27 10:05:20.000000000","message":"Done","commit_id":"b6f81085e5cc49f5b39968b2cd770fadf7551200"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"210933bf587aa1f091e570209dc8cdc8a96990af","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        # Test that a user with cloud admin role can list the amphorae"},{"line_number":105,"context_line":"        if not CONF.load_balancer.RBAC_test_type \u003d\u003d const.NONE:"},{"line_number":106,"context_line":"            adm \u003d self.lb_admin_amphora_client.list_amphorae()"},{"line_number":107,"context_line":"            self.assertGreaterEqual(len(adm), self._expected_amp_count(adm))"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        # Get an actual list of the amphorae"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_1b2f1bf7","line":106,"in_reply_to":"1f493fa4_bb96e793","updated":"2020-04-20 16:27:07.000000000","message":"You\u0027re right. Also, I\u0027d keep this condition over the condition on line 80 to account for OWNERADMIN\n\nhttps://opendev.org/openstack/octavia-tempest-plugin/src/branch/master/octavia_tempest_plugin/config.py#L100","commit_id":"b6f81085e5cc49f5b39968b2cd770fadf7551200"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a1f9f092851c7002ce8407c952d4dcc1087d6921","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            else:"},{"line_number":157,"context_line":"                self.assertIsNone(amp[const.ROLE])"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        # Test filtering by loadbalancer_id"},{"line_number":160,"context_line":"        amphorae \u003d self.lb_admin_amphora_client.list_amphorae("},{"line_number":161,"context_line":"            query_params\u003d\u0027{loadbalancer_id}\u003d{lb_id}\u0027.format("},{"line_number":162,"context_line":"                loadbalancer_id\u003dconst.LOADBALANCER_ID, lb_id\u003dself.lb_id))"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_db1773ed","line":159,"updated":"2020-04-20 16:06:45.000000000","message":"I\u0027m not 100% sure how we can completely test filtering without a minimum of two load balancers.","commit_id":"b6f81085e5cc49f5b39968b2cd770fadf7551200"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"ef5fce691d198dc7905aeedaf5c96f310fe89dba","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            else:"},{"line_number":157,"context_line":"                self.assertIsNone(amp[const.ROLE])"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        # Test filtering by loadbalancer_id"},{"line_number":160,"context_line":"        amphorae \u003d self.lb_admin_amphora_client.list_amphorae("},{"line_number":161,"context_line":"            query_params\u003d\u0027{loadbalancer_id}\u003d{lb_id}\u0027.format("},{"line_number":162,"context_line":"                loadbalancer_id\u003dconst.LOADBALANCER_ID, lb_id\u003dself.lb_id))"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_08096a2b","line":159,"in_reply_to":"1f493fa4_9b684b22","updated":"2020-04-27 10:05:20.000000000","message":"Done","commit_id":"b6f81085e5cc49f5b39968b2cd770fadf7551200"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"210933bf587aa1f091e570209dc8cdc8a96990af","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            else:"},{"line_number":157,"context_line":"                self.assertIsNone(amp[const.ROLE])"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        # Test filtering by loadbalancer_id"},{"line_number":160,"context_line":"        amphorae \u003d self.lb_admin_amphora_client.list_amphorae("},{"line_number":161,"context_line":"            query_params\u003d\u0027{loadbalancer_id}\u003d{lb_id}\u0027.format("},{"line_number":162,"context_line":"                loadbalancer_id\u003dconst.LOADBALANCER_ID, lb_id\u003dself.lb_id))"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_9b684b22","line":159,"in_reply_to":"1f493fa4_db1773ed","updated":"2020-04-20 16:27:07.000000000","message":"Agreed. As I removed the second LB create, the filtering is not being tested. Moving this test to the API test suite will allow us to comfortably create more LBs without a penalty hit on CI since the API CI job runs on no-op drivers (upstream, at least).","commit_id":"b6f81085e5cc49f5b39968b2cd770fadf7551200"}]}
