)]}'
{"tempest/api/network/test_authorization.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"9df03d989bc493e7d8946cca03cbe06c9eb62e30","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from tempest import clients"},{"line_number":19,"context_line":"from tempest.common.utils import data_utils"},{"line_number":20,"context_line":"from tempest import exceptions"},{"line_number":21,"context_line":"from tempest.test import attr"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class AuthorizationTestJSON(base.BaseNetworkTest):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2Fsz8%3D","line":21,"updated":"2014-03-04 16:52:50.000000000","message":"I think Tempest now tries to import module and not class. This should be \"from tempest import test\".","commit_id":"9969a2e176311d995f8829ee73cf0b3dabd29b0b"},{"author":{"_account_id":9698,"name":"wanglianmin","email":"wanglianmin@huawei.com","username":"wanglianmin"},"change_message_id":"9dec885294dc3205915cb19f92472c7850f108a7","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from tempest import clients"},{"line_number":19,"context_line":"from tempest.common.utils import data_utils"},{"line_number":20,"context_line":"from tempest import exceptions"},{"line_number":21,"context_line":"from tempest.test import attr"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class AuthorizationTestJSON(base.BaseNetworkTest):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2Fnss%3D","line":21,"in_reply_to":"AAAAVn%2F%2Fsz8%3D","updated":"2014-03-05 01:38:28.000000000","message":"Done","commit_id":"9969a2e176311d995f8829ee73cf0b3dabd29b0b"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"9df03d989bc493e7d8946cca03cbe06c9eb62e30","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        create port in another tenant\u0027s network by unauthorized user"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    v2.0 of the API is assumed. It is also assumed that the following"},{"line_number":37,"context_line":"    option is defined in the [service_available] section of etc/tempest.conf:"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        neutron as True"},{"line_number":40,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2Fsxo%3D","line":37,"updated":"2014-03-04 16:52:50.000000000","message":"As you inherit from BaseNetworkTest, and as BaseNetworkTest already checks that CONF.service_available.neutron is True, this comment is not required.","commit_id":"9969a2e176311d995f8829ee73cf0b3dabd29b0b"},{"author":{"_account_id":9698,"name":"wanglianmin","email":"wanglianmin@huawei.com","username":"wanglianmin"},"change_message_id":"ce29559c760e8c7b4a913bc929b51e6bbe230147","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        create port in another tenant\u0027s network by unauthorized user"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    v2.0 of the API is assumed. It is also assumed that the following"},{"line_number":37,"context_line":"    option is defined in the [service_available] section of etc/tempest.conf:"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        neutron as True"},{"line_number":40,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2Fnlc%3D","line":37,"in_reply_to":"AAAAVn%2F%2Fsxo%3D","updated":"2014-03-05 01:40:17.000000000","message":"Done","commit_id":"9969a2e176311d995f8829ee73cf0b3dabd29b0b"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"9df03d989bc493e7d8946cca03cbe06c9eb62e30","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        cls.alt_manager \u003d clients.AltManager()"},{"line_number":47,"context_line":"        cls.alt_client \u003d cls.alt_manager.network_client"},{"line_number":48,"context_line":"        cls.adm_manager \u003d clients.AdminManager()"},{"line_number":49,"context_line":"        cls.identity_client \u003d cls.adm_manager.identity_v3_client"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":52,"context_line":"    def test_create_network_for_alt_account_fails(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2Fssc%3D","line":49,"updated":"2014-03-04 16:52:50.000000000","message":"Do you really need the keystone v3 client here ? What if in my environment Keystone V3 is disabled ?","commit_id":"9969a2e176311d995f8829ee73cf0b3dabd29b0b"},{"author":{"_account_id":9698,"name":"wanglianmin","email":"wanglianmin@huawei.com","username":"wanglianmin"},"change_message_id":"ce29559c760e8c7b4a913bc929b51e6bbe230147","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        cls.alt_manager \u003d clients.AltManager()"},{"line_number":47,"context_line":"        cls.alt_client \u003d cls.alt_manager.network_client"},{"line_number":48,"context_line":"        cls.adm_manager \u003d clients.AdminManager()"},{"line_number":49,"context_line":"        cls.identity_client \u003d cls.adm_manager.identity_v3_client"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":52,"context_line":"    def test_create_network_for_alt_account_fails(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2FnlM%3D","line":49,"in_reply_to":"AAAAVn%2F%2Fssc%3D","updated":"2014-03-05 01:40:17.000000000","message":"Done","commit_id":"9969a2e176311d995f8829ee73cf0b3dabd29b0b"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"9df03d989bc493e7d8946cca03cbe06c9eb62e30","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            data_utils.rand_name(\u0027project-new\u0027))"},{"line_number":58,"context_line":"        self.assertRaises(exceptions.BadRequest, self.client.create_network,"},{"line_number":59,"context_line":"                          name\u003dname, tenant_id\u003dproject[\u0027id\u0027])"},{"line_number":60,"context_line":"        self.identity_client.delete_project(project[\u0027id\u0027])"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":63,"context_line":"    def test_create_shared_network_by_unauthorized_user(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2FsLY%3D","line":60,"updated":"2014-03-04 16:52:50.000000000","message":"Could you use something like self.addCleanup(self.identity_admin_client.delete_tenant, tenant_id) 2 lines above ?\n\nIf the previous assertRaises fails, then the project/tenant will not be cleaned up unless you have set a addCleanup just after the tenant/project creation.","commit_id":"9969a2e176311d995f8829ee73cf0b3dabd29b0b"},{"author":{"_account_id":9698,"name":"wanglianmin","email":"wanglianmin@huawei.com","username":"wanglianmin"},"change_message_id":"ce29559c760e8c7b4a913bc929b51e6bbe230147","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            data_utils.rand_name(\u0027project-new\u0027))"},{"line_number":58,"context_line":"        self.assertRaises(exceptions.BadRequest, self.client.create_network,"},{"line_number":59,"context_line":"                          name\u003dname, tenant_id\u003dproject[\u0027id\u0027])"},{"line_number":60,"context_line":"        self.identity_client.delete_project(project[\u0027id\u0027])"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    @attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":63,"context_line":"    def test_create_shared_network_by_unauthorized_user(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAVn%2F%2FnlI%3D","line":60,"in_reply_to":"AAAAVn%2F%2FsLY%3D","updated":"2014-03-05 01:40:17.000000000","message":"Done","commit_id":"9969a2e176311d995f8829ee73cf0b3dabd29b0b"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"50ce69eed89a306eef301ee62ce101553f75119e","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        cls.identity_client \u003d cls.adm_manager.identity_client"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":49,"context_line":"    def test_create_network_for_alt_account_fails(self):"},{"line_number":50,"context_line":"        # A create network request should fail if the tenant id does not match"},{"line_number":51,"context_line":"        # the current user"},{"line_number":52,"context_line":"        name \u003d data_utils.rand_name(\u0027network-\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2FhPk%3D","line":49,"updated":"2014-03-05 16:26:09.000000000","message":"IMO there\u0027s no need to suffix the test name by \u0027_fails\u0027. If you look other negative tests, most of them doesn\u0027t finish by \"fails\" or \"error\" etc.","commit_id":"82882e89973295407eb252cc0dedb53e60b84b38"},{"author":{"_account_id":9698,"name":"wanglianmin","email":"wanglianmin@huawei.com","username":"wanglianmin"},"change_message_id":"bdb343d9f8aafe23dbad092019a7f770e01f4b2d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        cls.identity_client \u003d cls.adm_manager.identity_client"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    @test.attr(type\u003d[\u0027negative\u0027, \u0027gate\u0027])"},{"line_number":49,"context_line":"    def test_create_network_for_alt_account_fails(self):"},{"line_number":50,"context_line":"        # A create network request should fail if the tenant id does not match"},{"line_number":51,"context_line":"        # the current user"},{"line_number":52,"context_line":"        name \u003d data_utils.rand_name(\u0027network-\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2FcLo%3D","line":49,"in_reply_to":"AAAAVn%2F%2FhPk%3D","updated":"2014-03-06 03:16:32.000000000","message":"Done","commit_id":"82882e89973295407eb252cc0dedb53e60b84b38"}]}
