)]}'
{"tempest/api/object_storage/test_container_staticweb.py":[{"author":{"_account_id":7020,"name":"Joe Hakim Rahme","email":"jhakimra@redhat.com","username":"rahmu"},"change_message_id":"b2a3561d7b9893611a285dcbb1446133db19da1e","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        # we should retrieve a listing of objects"},{"line_number":105,"context_line":"        resp, body \u003d self.custom_account_client.request(\"GET\","},{"line_number":106,"context_line":"                                                        self.container_name)"},{"line_number":107,"context_line":"        self.assertEqual(resp[\u0027status\u0027], \u0027200\u0027)"},{"line_number":108,"context_line":"        self.assertIn(self.object_name, body)"},{"line_number":109,"context_line":"        css \u003d \u0027\u003clink rel\u003d\"stylesheet\" type\u003d\"text/css\" href\u003d\"listings.css\" /\u003e\u0027"},{"line_number":110,"context_line":"        self.assertIn(css, body)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2BUV0%3D","line":107,"updated":"2013-11-27 13:12:39.000000000","message":"I would prefer if you used tempest.test.HTTP_SUCCESS like here for instance:\n\nhttps://github.com/openstack/tempest/blob/master/tempest/api/object_storage/test_crossdomain.py#L80","commit_id":"7b3dcd3504de763a7e37e4784ec258f28480266b"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"e243c99bdd708a7312d50265568febc05d4f37d6","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        css \u003d \u0027\u003clink rel\u003d\"stylesheet\" type\u003d\"text/css\" href\u003d\"listings.css\" /\u003e\u0027"},{"line_number":110,"context_line":"        self.assertIn(css, body)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    @attr(\u0027gate\u0027)"},{"line_number":113,"context_line":"    def test_web_error(self):"},{"line_number":114,"context_line":"        headers \u003d {\u0027web-listings\u0027: \u0027true\u0027,"},{"line_number":115,"context_line":"                   \u0027web-error\u0027: self.object_name}"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2BQvg%3D","line":112,"updated":"2013-11-28 08:17:21.000000000","message":"Isn\u0027t it a negative test @attr(\u0027negative\u0027)? Usually we move all negative tests into a separate files but IMHO we could let it here, since there is no way to autogenerate it.","commit_id":"0300502f62a9378ba839c9efb5a1535117ce0bf1"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"8009e23b7f9bc4ca702b9b453ea924d11d9fc72a","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        css \u003d \u0027\u003clink rel\u003d\"stylesheet\" type\u003d\"text/css\" href\u003d\"listings.css\" /\u003e\u0027"},{"line_number":110,"context_line":"        self.assertIn(css, body)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    @attr(\u0027gate\u0027)"},{"line_number":113,"context_line":"    def test_web_error(self):"},{"line_number":114,"context_line":"        headers \u003d {\u0027web-listings\u0027: \u0027true\u0027,"},{"line_number":115,"context_line":"                   \u0027web-error\u0027: self.object_name}"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2BEOU%3D","line":112,"in_reply_to":"AAAATn%2F%2BQp8%3D","updated":"2013-12-02 21:58:35.000000000","message":"I have to agree with Christian here. Although it is checking for an error response, it is also checking other things. It is a funny case. The definition of negative test is slightly ambiguous, but going forward it is probably only going to include tests that can be auto-generated from a signature which this cannot be.","commit_id":"0300502f62a9378ba839c9efb5a1535117ce0bf1"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"48846bb527fb903ce684609956f0d81fb081a6f9","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        css \u003d \u0027\u003clink rel\u003d\"stylesheet\" type\u003d\"text/css\" href\u003d\"listings.css\" /\u003e\u0027"},{"line_number":110,"context_line":"        self.assertIn(css, body)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    @attr(\u0027gate\u0027)"},{"line_number":113,"context_line":"    def test_web_error(self):"},{"line_number":114,"context_line":"        headers \u003d {\u0027web-listings\u0027: \u0027true\u0027,"},{"line_number":115,"context_line":"                   \u0027web-error\u0027: self.object_name}"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2BQp8%3D","line":112,"in_reply_to":"AAAATn%2F%2BQvg%3D","updated":"2013-11-28 08:38:11.000000000","message":"I wouldn\u0027t say that this is a negative test. I agree that it would be a negative test if it is just a request with an invalid object or container. But in this case it is a feature of the swift staticweb middleware you have to enable which returns a user-defined error message.","commit_id":"0300502f62a9378ba839c9efb5a1535117ce0bf1"}]}
