)]}'
{"tempest/api/network/admin/test_quotas.py":[{"author":{"_account_id":16523,"name":"ZhangLei","display_name":"ZhangLei","email":"zhang.lei@99cloud.net","username":"zhang.lei"},"change_message_id":"565255b19540bc662cf4fddd38191d14a6d9271e","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        self.addCleanup(self.client.delete_network, n2[\u0027network\u0027][\u0027id\u0027])"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        # Try to create a third network while the quota is two"},{"line_number":109,"context_line":"        with testtools.ExpectedException("},{"line_number":110,"context_line":"                lib_exc.Conflict,"},{"line_number":111,"context_line":"                \"An object with that identifier already exists\\\\n\" +"},{"line_number":112,"context_line":"                \"Details.*Quota exceeded for resources: \\[\u0027network\u0027\\].*\"):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a2fa921_dd1e91ba","line":109,"updated":"2015-10-08 10:37:12.000000000","message":"Add \"import testtools\"","commit_id":"55443cc80439a110004532df3c322d55aa1e85b8"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"d9927eb57306dc1c01005d1749c166b829868564","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        # Set the network quota to two"},{"line_number":98,"context_line":"        quotas \u003d {\u0027network\u0027: 2}"},{"line_number":99,"context_line":"        self.admin_client.update_quotas(self.networks_client.tenant_id,"},{"line_number":100,"context_line":"                                        **quotas)[\u0027quota\u0027]"},{"line_number":101,"context_line":"        self.addCleanup(self.admin_client.reset_quotas,"},{"line_number":102,"context_line":"                        self.networks_client.tenant_id)"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7a2fa921_7a5498c9","line":100,"updated":"2015-10-12 16:11:37.000000000","message":"You don\"t need to access the \u0027quota\u0027 key from the returned dict.","commit_id":"b8b15f111f9a279091da913a11bbafdd00142859"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"d9927eb57306dc1c01005d1749c166b829868564","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                        n2[\u0027network\u0027][\u0027id\u0027])"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        # Try to create a third network while the quota is two"},{"line_number":113,"context_line":"        with testtools.ExpectedException("},{"line_number":114,"context_line":"                lib_exc.Conflict,"},{"line_number":115,"context_line":"                \"An object with that identifier already exists\\\\n\" +"},{"line_number":116,"context_line":"                \"Details.*Quota exceeded for resources: \\[\u0027network\u0027\\].*\"):"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a2fa921_fa242861","line":113,"updated":"2015-10-12 16:11:37.000000000","message":"You should use\n\n  self.assertRaisesRegexp(lib_exc.Conflict, ...)","commit_id":"b8b15f111f9a279091da913a11bbafdd00142859"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c7238c347155cbce5cdac27a17334757fd74ad2b","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        self._check_quotas(new_quotas)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    @test.idempotent_id(\u0027644f4e1b-1bf9-4af0-9fd8-eb56ac0f51cf\u0027)"},{"line_number":95,"context_line":"    def test_network_quota_exceeding(self):"},{"line_number":96,"context_line":"        # Set the network quota to two"},{"line_number":97,"context_line":"        quotas \u003d {\u0027network\u0027: 2}"},{"line_number":98,"context_line":"        self.admin_client.update_quotas(self.networks_client.tenant_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_f80381b6","line":95,"updated":"2015-12-01 23:45:26.000000000","message":"This seems negative test, so we need to implement negative tests on test_*_negative.py.","commit_id":"a209588930977335d6000e1b7f7ef08bd958de19"},{"author":{"_account_id":18732,"name":"Antoine Eiche","email":"lewo@abesis.fr","username":"lewo"},"change_message_id":"db762f0704738392b1e5597cffbc1ac3a9f2eeeb","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        self._check_quotas(new_quotas)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    @test.idempotent_id(\u0027644f4e1b-1bf9-4af0-9fd8-eb56ac0f51cf\u0027)"},{"line_number":95,"context_line":"    def test_network_quota_exceeding(self):"},{"line_number":96,"context_line":"        # Set the network quota to two"},{"line_number":97,"context_line":"        quotas \u003d {\u0027network\u0027: 2}"},{"line_number":98,"context_line":"        self.admin_client.update_quotas(self.networks_client.tenant_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_f2f38b9d","line":95,"in_reply_to":"9a8ffd7b_77ec6d29","updated":"2015-12-02 10:23:01.000000000","message":"Done","commit_id":"a209588930977335d6000e1b7f7ef08bd958de19"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"687b0db91c0e6dee9b09f4596ad13097a87aa0b5","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        self._check_quotas(new_quotas)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    @test.idempotent_id(\u0027644f4e1b-1bf9-4af0-9fd8-eb56ac0f51cf\u0027)"},{"line_number":95,"context_line":"    def test_network_quota_exceeding(self):"},{"line_number":96,"context_line":"        # Set the network quota to two"},{"line_number":97,"context_line":"        quotas \u003d {\u0027network\u0027: 2}"},{"line_number":98,"context_line":"        self.admin_client.update_quotas(self.networks_client.tenant_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_77ec6d29","line":95,"in_reply_to":"9a8ffd7b_f80381b6","updated":"2015-12-02 10:00:55.000000000","message":"Agreed.","commit_id":"a209588930977335d6000e1b7f7ef08bd958de19"},{"author":{"_account_id":18732,"name":"Antoine Eiche","email":"lewo@abesis.fr","username":"lewo"},"change_message_id":"db762f0704738392b1e5597cffbc1ac3a9f2eeeb","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        self._check_quotas(new_quotas)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    @test.idempotent_id(\u0027644f4e1b-1bf9-4af0-9fd8-eb56ac0f51cf\u0027)"},{"line_number":95,"context_line":"    def test_network_quota_exceeding(self):"},{"line_number":96,"context_line":"        # Set the network quota to two"},{"line_number":97,"context_line":"        quotas \u003d {\u0027network\u0027: 2}"},{"line_number":98,"context_line":"        self.admin_client.update_quotas(self.networks_client.tenant_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_d2f8c77e","line":95,"in_reply_to":"9a8ffd7b_f80381b6","updated":"2015-12-02 10:23:01.000000000","message":"Done","commit_id":"a209588930977335d6000e1b7f7ef08bd958de19"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c7238c347155cbce5cdac27a17334757fd74ad2b","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        # Set the network quota to two"},{"line_number":97,"context_line":"        quotas \u003d {\u0027network\u0027: 2}"},{"line_number":98,"context_line":"        self.admin_client.update_quotas(self.networks_client.tenant_id,"},{"line_number":99,"context_line":"                                        **quotas)"},{"line_number":100,"context_line":"        self.addCleanup(self.admin_client.reset_quotas,"},{"line_number":101,"context_line":"                        self.networks_client.tenant_id)"},{"line_number":102,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_f8e7013e","line":99,"updated":"2015-12-01 23:45:26.000000000","message":"Why don\u0027t you pass\n\n network\u003d2\n\ninstead of **quotas?","commit_id":"a209588930977335d6000e1b7f7ef08bd958de19"},{"author":{"_account_id":18732,"name":"Antoine Eiche","email":"lewo@abesis.fr","username":"lewo"},"change_message_id":"db762f0704738392b1e5597cffbc1ac3a9f2eeeb","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        # Set the network quota to two"},{"line_number":97,"context_line":"        quotas \u003d {\u0027network\u0027: 2}"},{"line_number":98,"context_line":"        self.admin_client.update_quotas(self.networks_client.tenant_id,"},{"line_number":99,"context_line":"                                        **quotas)"},{"line_number":100,"context_line":"        self.addCleanup(self.admin_client.reset_quotas,"},{"line_number":101,"context_line":"                        self.networks_client.tenant_id)"},{"line_number":102,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_72079b81","line":99,"in_reply_to":"9a8ffd7b_94f1cfcf","updated":"2015-12-02 10:23:01.000000000","message":"For now, the number of created networks is static, ie. n1 and n2. It would be better to do it in a loop (in order to be able to easily change from 2 to 4 as you mentionned) but I wanted to keep code as simple as possible. So I think we can use pass network\u003d2.","commit_id":"a209588930977335d6000e1b7f7ef08bd958de19"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"687b0db91c0e6dee9b09f4596ad13097a87aa0b5","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        # Set the network quota to two"},{"line_number":97,"context_line":"        quotas \u003d {\u0027network\u0027: 2}"},{"line_number":98,"context_line":"        self.admin_client.update_quotas(self.networks_client.tenant_id,"},{"line_number":99,"context_line":"                                        **quotas)"},{"line_number":100,"context_line":"        self.addCleanup(self.admin_client.reset_quotas,"},{"line_number":101,"context_line":"                        self.networks_client.tenant_id)"},{"line_number":102,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_94f1cfcf","line":99,"in_reply_to":"9a8ffd7b_f8e7013e","updated":"2015-12-02 10:00:55.000000000","message":"Because this would lead to code duplication (especially duplication of \"constant\").\n\nIf in a couple of months someone wants to change the value \"2\" and make it a \"4\", with this approach we have to do it in one place only and we won\u0027t have to change it also somewhere else.","commit_id":"a209588930977335d6000e1b7f7ef08bd958de19"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"2fbebde80c0ff8225074df90617e5c39da408a45","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                        n2[\u0027network\u0027][\u0027id\u0027])"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        # Try to create a third network while the quota is two"},{"line_number":112,"context_line":"        with self.assertRaisesRegexp("},{"line_number":113,"context_line":"                lib_exc.Conflict,"},{"line_number":114,"context_line":"                \"An object with that identifier already exists\\\\n\" +"},{"line_number":115,"context_line":"                \"Details.*Quota exceeded for resources: \\[\u0027network\u0027\\].*\"):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a2ca52d_80869711","line":112,"updated":"2015-10-15 08:47:33.000000000","message":"This is a bit unusual, in tempest we don\u0027t often use the context manager form. But that\u0027s okay.","commit_id":"a209588930977335d6000e1b7f7ef08bd958de19"},{"author":{"_account_id":18732,"name":"Antoine Eiche","email":"lewo@abesis.fr","username":"lewo"},"change_message_id":"12fbbf82ab6de4a5010d796b993c54d8eb7b0d72","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                        n2[\u0027network\u0027][\u0027id\u0027])"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        # Try to create a third network while the quota is two"},{"line_number":112,"context_line":"        with self.assertRaisesRegexp("},{"line_number":113,"context_line":"                lib_exc.Conflict,"},{"line_number":114,"context_line":"                \"An object with that identifier already exists\\\\n\" +"},{"line_number":115,"context_line":"                \"Details.*Quota exceeded for resources: \\[\u0027network\u0027\\].*\"):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a2ca52d_466a8eef","line":112,"in_reply_to":"5a2ca52d_80869711","updated":"2015-10-17 07:20:52.000000000","message":"Ok. Thank you.","commit_id":"a209588930977335d6000e1b7f7ef08bd958de19"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"2fbebde80c0ff8225074df90617e5c39da408a45","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                \"An object with that identifier already exists\\\\n\" +"},{"line_number":115,"context_line":"                \"Details.*Quota exceeded for resources: \\[\u0027network\u0027\\].*\"):"},{"line_number":116,"context_line":"            n3 \u003d self.networks_client.create_network()"},{"line_number":117,"context_line":"            self.addCleanup(self.networks_client.delete_network,"},{"line_number":118,"context_line":"                            n3[\u0027network\u0027][\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a2ca52d_0073674e","line":117,"range":{"start_line":117,"start_character":9,"end_line":117,"end_character":18},"updated":"2015-10-15 08:47:33.000000000","message":"It\u0027s good to have this addCleanup inside the context manager block.","commit_id":"a209588930977335d6000e1b7f7ef08bd958de19"}]}
