)]}'
{"tempest/api/orchestration/stacks/test_resource_types.py":[{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"27616eb9e5a841c4689832c2aac43147be7e9d0c","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    @classmethod"},{"line_number":23,"context_line":"    def setUpClass(cls):"},{"line_number":24,"context_line":"        super(ResourceTypesTest, cls).setUpClass()"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":27,"context_line":"    def test_resource_type_list(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_acca094d","line":24,"updated":"2014-07-02 12:45:19.000000000","message":"This setUpClass isn\u0027t doing anything, you could remove it.","commit_id":"1e07e2bef46789723a5dedc1e2d8aeb7d62f1c27"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"8b09af12b9afb5d819b0b88feb62b1749b4eb639","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    @classmethod"},{"line_number":23,"context_line":"    def setUpClass(cls):"},{"line_number":24,"context_line":"        super(ResourceTypesTest, cls).setUpClass()"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":27,"context_line":"    def test_resource_type_list(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_4e9f7e50","line":24,"in_reply_to":"baada198_acca094d","updated":"2014-07-03 08:25:21.000000000","message":"Done","commit_id":"1e07e2bef46789723a5dedc1e2d8aeb7d62f1c27"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"27616eb9e5a841c4689832c2aac43147be7e9d0c","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    def test_resource_type_list(self):"},{"line_number":28,"context_line":"        resp, resource_types \u003d self.client.list_resource_types()"},{"line_number":29,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":30,"context_line":"        self.assertIsInstance(resource_types, list)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":33,"context_line":"    def test_resource_type_show(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_0c1cd5c0","line":30,"updated":"2014-07-02 12:45:19.000000000","message":"IMO just proving this is a list isn\u0027t enough, couldn\u0027t we at least check there\u0027s one known resource in there, e.g OS::Nova::Server?  This test would still pass even if resource_types was an empty list.","commit_id":"1e07e2bef46789723a5dedc1e2d8aeb7d62f1c27"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"8b09af12b9afb5d819b0b88feb62b1749b4eb639","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    def test_resource_type_list(self):"},{"line_number":28,"context_line":"        resp, resource_types \u003d self.client.list_resource_types()"},{"line_number":29,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":30,"context_line":"        self.assertIsInstance(resource_types, list)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":33,"context_line":"    def test_resource_type_show(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_cebaaebf","line":30,"in_reply_to":"baada198_0c1cd5c0","updated":"2014-07-03 08:25:21.000000000","message":"Done","commit_id":"1e07e2bef46789723a5dedc1e2d8aeb7d62f1c27"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"27616eb9e5a841c4689832c2aac43147be7e9d0c","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        for resource_type in resource_types:"},{"line_number":37,"context_line":"            resp, type_schema \u003d self.client.get_resource_type(resource_type)"},{"line_number":38,"context_line":"            self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":39,"context_line":"            self.assertEqual(resource_type, type_schema[\u0027resource_type\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_cc681d24","line":39,"updated":"2014-07-02 12:45:19.000000000","message":"Should probably also check for the existence of the properties/attributes top-level keys?","commit_id":"1e07e2bef46789723a5dedc1e2d8aeb7d62f1c27"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"8b09af12b9afb5d819b0b88feb62b1749b4eb639","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        for resource_type in resource_types:"},{"line_number":37,"context_line":"            resp, type_schema \u003d self.client.get_resource_type(resource_type)"},{"line_number":38,"context_line":"            self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":39,"context_line":"            self.assertEqual(resource_type, type_schema[\u0027resource_type\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_4ec69e4a","line":39,"in_reply_to":"baada198_cc681d24","updated":"2014-07-03 08:25:21.000000000","message":"Done","commit_id":"1e07e2bef46789723a5dedc1e2d8aeb7d62f1c27"},{"author":{"_account_id":10818,"name":"Yaoguo Jiang","email":"jiangyaoguo@gmail.com","username":"jiangyaoguo"},"change_message_id":"8c46ee91b1b644c4a1a7f76b4bf770edcd9801b8","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":30,"context_line":"    def test_resource_type_show(self):"},{"line_number":31,"context_line":"        resp, resource_types \u003d self.client.list_resource_types()"},{"line_number":32,"context_line":"        self.assertNotEqual([], resource_types)"},{"line_number":33,"context_line":"        for resource_type in resource_types:"},{"line_number":34,"context_line":"            resp, type_schema \u003d self.client.get_resource_type(resource_type)"},{"line_number":35,"context_line":"            self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_075d4415","line":32,"updated":"2014-07-04 01:36:16.000000000","message":"Did this reduplicated with test_resource_type_list?","commit_id":"9bb98cec9b3f0b3dea08b107ef015fcfa923d5a6"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"dc38ec3bd95f9104e10b05f0188ca5eb7700ea8e","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":30,"context_line":"    def test_resource_type_show(self):"},{"line_number":31,"context_line":"        resp, resource_types \u003d self.client.list_resource_types()"},{"line_number":32,"context_line":"        self.assertNotEqual([], resource_types)"},{"line_number":33,"context_line":"        for resource_type in resource_types:"},{"line_number":34,"context_line":"            resp, type_schema \u003d self.client.get_resource_type(resource_type)"},{"line_number":35,"context_line":"            self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_6758c08a","line":32,"in_reply_to":"baada198_075d4415","updated":"2014-07-04 02:01:41.000000000","message":"No. because this test at least check one resource type, if there is no one resource type, this test shouldn\u0027t pass.","commit_id":"9bb98cec9b3f0b3dea08b107ef015fcfa923d5a6"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"6033aa4f79edaca5b8d7f043c42264a259c83998","unresolved":false,"context_lines":[{"line_number":14,"context_line":"from tempest.openstack.common import log as logging"},{"line_number":15,"context_line":"from tempest import test"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class ResourceTypesTest(base.BaseOrchestrationTest):"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_87f13703","line":17,"updated":"2014-07-05 08:09:29.000000000","message":"The LOG is unused in this file, so delete this line.","commit_id":"747f4c56a80cbd6c4c6dcbb9548409104ac28461"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"59fcffe0680f125bb9662780656912046b5a0fb1","unresolved":false,"context_lines":[{"line_number":14,"context_line":"from tempest.openstack.common import log as logging"},{"line_number":15,"context_line":"from tempest import test"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class ResourceTypesTest(base.BaseOrchestrationTest):"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_456626ee","line":17,"in_reply_to":"baada198_87f13703","updated":"2014-07-07 09:06:18.000000000","message":"Done","commit_id":"747f4c56a80cbd6c4c6dcbb9548409104ac28461"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"6033aa4f79edaca5b8d7f043c42264a259c83998","unresolved":false,"context_lines":[{"line_number":17,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"class ResourceTypesTest(base.BaseOrchestrationTest):"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":23,"context_line":"    def test_resource_type_list(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_e7dbd379","line":20,"updated":"2014-07-05 08:09:29.000000000","message":"IMO, it also need to add some negative tests for cover the resource_type APIs.","commit_id":"747f4c56a80cbd6c4c6dcbb9548409104ac28461"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"1148166c8c944260aefd38b361adcec4d0756f35","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":23,"context_line":"    def test_resource_type_list(self):"},{"line_number":24,"context_line":"        \"\"\"Getting list of resource types should be possible.\"\"\""},{"line_number":25,"context_line":"        resp, resource_types \u003d self.client.list_resource_types()"},{"line_number":26,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":27,"context_line":"        self.assertIsInstance(resource_types, list)"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_d09cd56c","line":24,"updated":"2014-07-04 11:36:33.000000000","message":"Please reword this description so it would become a valid docstring.\nhttp://legacy.python.org/dev/peps/pep-0257/#one-line-docstrings\n\nE.g. \"Verify it is possible to list resource types\"","commit_id":"747f4c56a80cbd6c4c6dcbb9548409104ac28461"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"59fcffe0680f125bb9662780656912046b5a0fb1","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":23,"context_line":"    def test_resource_type_list(self):"},{"line_number":24,"context_line":"        \"\"\"Getting list of resource types should be possible.\"\"\""},{"line_number":25,"context_line":"        resp, resource_types \u003d self.client.list_resource_types()"},{"line_number":26,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":27,"context_line":"        self.assertIsInstance(resource_types, list)"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_65616ad2","line":24,"in_reply_to":"baada198_d09cd56c","updated":"2014-07-07 09:06:18.000000000","message":"Done","commit_id":"747f4c56a80cbd6c4c6dcbb9548409104ac28461"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"1148166c8c944260aefd38b361adcec4d0756f35","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":31,"context_line":"    def test_resource_type_show(self):"},{"line_number":32,"context_line":"        \"\"\"Getting schema about resource types should be possible.\"\"\""},{"line_number":33,"context_line":"        resp, resource_types \u003d self.client.list_resource_types()"},{"line_number":34,"context_line":"        self.assertNotEqual([], resource_types)"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_f0be39ad","line":32,"updated":"2014-07-04 11:36:33.000000000","message":"ditto","commit_id":"747f4c56a80cbd6c4c6dcbb9548409104ac28461"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"59fcffe0680f125bb9662780656912046b5a0fb1","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":31,"context_line":"    def test_resource_type_show(self):"},{"line_number":32,"context_line":"        \"\"\"Getting schema about resource types should be possible.\"\"\""},{"line_number":33,"context_line":"        resp, resource_types \u003d self.client.list_resource_types()"},{"line_number":34,"context_line":"        self.assertNotEqual([], resource_types)"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_855cbe1a","line":32,"in_reply_to":"baada198_f0be39ad","updated":"2014-07-07 09:06:18.000000000","message":"Done","commit_id":"747f4c56a80cbd6c4c6dcbb9548409104ac28461"},{"author":{"_account_id":8289,"name":"huangtianhua","email":"tiantian223@163.com","username":"huangtianhua"},"change_message_id":"6033aa4f79edaca5b8d7f043c42264a259c83998","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":31,"context_line":"    def test_resource_type_show(self):"},{"line_number":32,"context_line":"        \"\"\"Getting schema about resource types should be possible.\"\"\""},{"line_number":33,"context_line":"        resp, resource_types \u003d self.client.list_resource_types()"},{"line_number":34,"context_line":"        self.assertNotEqual([], resource_types)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        for resource_type in resource_types:"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_278b0b69","line":33,"updated":"2014-07-05 08:09:29.000000000","message":"We should to assert the status is 200 here.","commit_id":"747f4c56a80cbd6c4c6dcbb9548409104ac28461"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"59fcffe0680f125bb9662780656912046b5a0fb1","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":31,"context_line":"    def test_resource_type_show(self):"},{"line_number":32,"context_line":"        \"\"\"Getting schema about resource types should be possible.\"\"\""},{"line_number":33,"context_line":"        resp, resource_types \u003d self.client.list_resource_types()"},{"line_number":34,"context_line":"        self.assertNotEqual([], resource_types)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        for resource_type in resource_types:"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_a59e22b7","line":33,"in_reply_to":"baada198_278b0b69","updated":"2014-07-07 09:06:18.000000000","message":"Done","commit_id":"747f4c56a80cbd6c4c6dcbb9548409104ac28461"},{"author":{"_account_id":10856,"name":"Huruifeng","email":"huruifeng@huawei.com","username":"VictorHU"},"change_message_id":"f7e185fa4b6d1220b0f46cf1864e38d725e09f1f","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def test_resource_type_show(self):"},{"line_number":32,"context_line":"        \"\"\"Getting schema about resource types should be possible.\"\"\""},{"line_number":33,"context_line":"        resp, resource_types \u003d self.client.list_resource_types()"},{"line_number":34,"context_line":"        self.assertNotEqual([], resource_types)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        for resource_type in resource_types:"},{"line_number":37,"context_line":"            resp, type_schema \u003d self.client.get_resource_type(resource_type)"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_a16b9d1c","line":34,"updated":"2014-07-04 08:40:57.000000000","message":"If you want to check none empty list, would it looks better by checking the list size  ?","commit_id":"747f4c56a80cbd6c4c6dcbb9548409104ac28461"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"59fcffe0680f125bb9662780656912046b5a0fb1","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def test_resource_type_show(self):"},{"line_number":32,"context_line":"        \"\"\"Getting schema about resource types should be possible.\"\"\""},{"line_number":33,"context_line":"        resp, resource_types \u003d self.client.list_resource_types()"},{"line_number":34,"context_line":"        self.assertNotEqual([], resource_types)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        for resource_type in resource_types:"},{"line_number":37,"context_line":"            resp, type_schema \u003d self.client.get_resource_type(resource_type)"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_e5a49a09","line":34,"in_reply_to":"baada198_90789dc5","updated":"2014-07-07 09:06:18.000000000","message":"Done","commit_id":"747f4c56a80cbd6c4c6dcbb9548409104ac28461"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"59fcffe0680f125bb9662780656912046b5a0fb1","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def test_resource_type_show(self):"},{"line_number":32,"context_line":"        \"\"\"Getting schema about resource types should be possible.\"\"\""},{"line_number":33,"context_line":"        resp, resource_types \u003d self.client.list_resource_types()"},{"line_number":34,"context_line":"        self.assertNotEqual([], resource_types)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        for resource_type in resource_types:"},{"line_number":37,"context_line":"            resp, type_schema \u003d self.client.get_resource_type(resource_type)"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_c5a156f9","line":34,"in_reply_to":"baada198_a16b9d1c","updated":"2014-07-07 09:06:18.000000000","message":"Done","commit_id":"747f4c56a80cbd6c4c6dcbb9548409104ac28461"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"1148166c8c944260aefd38b361adcec4d0756f35","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def test_resource_type_show(self):"},{"line_number":32,"context_line":"        \"\"\"Getting schema about resource types should be possible.\"\"\""},{"line_number":33,"context_line":"        resp, resource_types \u003d self.client.list_resource_types()"},{"line_number":34,"context_line":"        self.assertNotEqual([], resource_types)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        for resource_type in resource_types:"},{"line_number":37,"context_line":"            resp, type_schema \u003d self.client.get_resource_type(resource_type)"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_90789dc5","line":34,"in_reply_to":"baada198_a16b9d1c","updated":"2014-07-04 11:36:33.000000000","message":"I agree with Huruifeng. Why not use self.assertEmpty(resource_types)?","commit_id":"747f4c56a80cbd6c4c6dcbb9548409104ac28461"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"da0d88b08a78eacce10f4469b42e90a94b358905","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            \u0027OS::Nova::Server\u0027)"},{"line_number":46,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":47,"context_line":"        self.assert_fields_in_dict(type_template, \u0027Outputs\u0027,"},{"line_number":48,"context_line":"            \u0027Parameters\u0027, \u0027Resources\u0027) "}],"source_content_type":"text/x-python","patch_set":10,"id":"baada198_77fb3c48","line":48,"updated":"2014-07-24 08:44:45.000000000","message":"Could you please remove the trailing whitespace?","commit_id":"9f14496303d32ce2424676572a0f782110f84a11"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"1bbd258c128b3de881ddae28e2b14750419e88d5","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            \u0027OS::Nova::Server\u0027)"},{"line_number":46,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":47,"context_line":"        self.assert_fields_in_dict(type_template, \u0027Outputs\u0027,"},{"line_number":48,"context_line":"            \u0027Parameters\u0027, \u0027Resources\u0027) "}],"source_content_type":"text/x-python","patch_set":10,"id":"baada198_021f205c","line":48,"in_reply_to":"baada198_77fb3c48","updated":"2014-07-24 08:50:21.000000000","message":"Done","commit_id":"9f14496303d32ce2424676572a0f782110f84a11"},{"author":{"_account_id":10818,"name":"Yaoguo Jiang","email":"jiangyaoguo@gmail.com","username":"jiangyaoguo"},"change_message_id":"2f9853a8f0a53e3766dae2c60b97e3e39c8b0c17","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    def test_resource_type_template(self):"},{"line_number":43,"context_line":"        \"\"\"Verify it is possible to get template about resource types.\"\"\""},{"line_number":44,"context_line":"        resp, type_template \u003d self.client.get_resource_type_template("},{"line_number":45,"context_line":"            \u0027OS::Nova::Server\u0027)"},{"line_number":46,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":47,"context_line":"        self.assert_fields_in_dict(type_template, \u0027Outputs\u0027,"},{"line_number":48,"context_line":"            \u0027Parameters\u0027, \u0027Resources\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"baada198_043b5e9c","line":45,"updated":"2014-07-26 02:21:45.000000000","message":"I think it\u0027s better to test all resources just like type show test above.","commit_id":"973f622c2da52afbe8c82b08aced1f8948f19026"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"090c1ffb1d1f906a8a797c3fd0fd4529e278a2a1","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        for resource_type in resource_types:"},{"line_number":33,"context_line":"            type_schema \u003d self.client.get_resource_type(resource_type)"},{"line_number":34,"context_line":"            self.assert_fields_in_dict(type_schema, \u0027properties\u0027,"},{"line_number":35,"context_line":"                                       \u0027attributes\u0027, \u0027resource_type\u0027)"},{"line_number":36,"context_line":"            self.assertEqual(resource_type, type_schema[\u0027resource_type\u0027])"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_2769eb25","line":35,"updated":"2014-08-25 15:58:24.000000000","message":"this seems like something that\u0027s more of a unit test rather than an integration test... not a big issue but this may cause merge issues if this format ever changes.","commit_id":"b5fac2af7e09b3f150d8ee6f3ab9d6824907159b"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"0194171548a039194eac908767471e55d511f0bb","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        for resource_type in resource_types:"},{"line_number":33,"context_line":"            type_schema \u003d self.client.get_resource_type(resource_type)"},{"line_number":34,"context_line":"            self.assert_fields_in_dict(type_schema, \u0027properties\u0027,"},{"line_number":35,"context_line":"                                       \u0027attributes\u0027, \u0027resource_type\u0027)"},{"line_number":36,"context_line":"            self.assertEqual(resource_type, type_schema[\u0027resource_type\u0027])"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_f8ccee8c","line":35,"in_reply_to":"1abeadc6_2769eb25","updated":"2014-08-25 16:59:23.000000000","message":"Tempest contains api/functional tests as well as integration tests. This is more of a functional test. So if those attributes in the returned json are part of the spec for this api, then this test is fine and is intended to cause an issue if it is changed. I assumed this to be the case based on http://developer.openstack.org/api-ref-orchestration-v1.html","commit_id":"b5fac2af7e09b3f150d8ee6f3ab9d6824907159b"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"b0200a6e2e71a4993714d63575fbfd5f8298a547","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        for resource_type in resource_types:"},{"line_number":33,"context_line":"            type_schema \u003d self.client.get_resource_type(resource_type)"},{"line_number":34,"context_line":"            self.assert_fields_in_dict(type_schema, \u0027properties\u0027,"},{"line_number":35,"context_line":"                                       \u0027attributes\u0027, \u0027resource_type\u0027)"},{"line_number":36,"context_line":"            self.assertEqual(resource_type, type_schema[\u0027resource_type\u0027])"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_179ed856","line":35,"in_reply_to":"1abeadc6_f8ccee8c","updated":"2014-08-25 17:53:14.000000000","message":"cool cool. yeah, just brought it up to avoid chicken/egg type issues for something that can be caught easily in unit tests... good to know what\u0027s in scope of tempest","commit_id":"b5fac2af7e09b3f150d8ee6f3ab9d6824907159b"}],"tempest/services/orchestration/json/orchestration_client.py":[{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"1148166c8c944260aefd38b361adcec4d0756f35","unresolved":false,"context_lines":[{"line_number":267,"context_line":"        return resp, body[\u0027resource_types\u0027]"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    def get_resource_type(self, resource_type_name):"},{"line_number":270,"context_line":"        \"\"\"Returns the details of a resource types.\"\"\""},{"line_number":271,"context_line":"        url \u003d \u0027resource_types/%s\u0027 % resource_type_name"},{"line_number":272,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":273,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_10bc8ddb","line":270,"updated":"2014-07-04 11:36:33.000000000","message":"Returns -\u003e Return (see: http://legacy.python.org/dev/peps/pep-0257/#one-line-docstrings )\n\ntypes -\u003e type","commit_id":"747f4c56a80cbd6c4c6dcbb9548409104ac28461"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"59fcffe0680f125bb9662780656912046b5a0fb1","unresolved":false,"context_lines":[{"line_number":267,"context_line":"        return resp, body[\u0027resource_types\u0027]"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    def get_resource_type(self, resource_type_name):"},{"line_number":270,"context_line":"        \"\"\"Returns the details of a resource types.\"\"\""},{"line_number":271,"context_line":"        url \u003d \u0027resource_types/%s\u0027 % resource_type_name"},{"line_number":272,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":273,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":7,"id":"baada198_65332af6","line":270,"in_reply_to":"baada198_10bc8ddb","updated":"2014-07-07 09:06:18.000000000","message":"Done","commit_id":"747f4c56a80cbd6c4c6dcbb9548409104ac28461"},{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"d1dfaeca4257d760d2ee2c6ba20aa6959b993bbc","unresolved":false,"context_lines":[{"line_number":275,"context_line":"        \"\"\"Return the schema of a resource type.\"\"\""},{"line_number":276,"context_line":"        url \u003d \u0027resource_types/%s\u0027 % resource_type_name"},{"line_number":277,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":278,"context_line":"        self.expected_success(200, resp)"},{"line_number":279,"context_line":"        body \u003d json.loads(body)"},{"line_number":280,"context_line":"        return body"},{"line_number":281,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"baada198_d76796ea","line":278,"updated":"2014-08-08 10:54:38.000000000","message":"looks like we need to use resp.status here instead of just \u0027resp\u0027,\n\nhttps://github.com/openstack/tempest/blob/master/tempest/common/rest_client.py#L208","commit_id":"b8c64de6e2cc003550c6080f015e10ab3cd74517"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"65654aa52d171cbe699d3e1d0361252ea6341737","unresolved":false,"context_lines":[{"line_number":275,"context_line":"        \"\"\"Return the schema of a resource type.\"\"\""},{"line_number":276,"context_line":"        url \u003d \u0027resource_types/%s\u0027 % resource_type_name"},{"line_number":277,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":278,"context_line":"        self.expected_success(200, resp)"},{"line_number":279,"context_line":"        body \u003d json.loads(body)"},{"line_number":280,"context_line":"        return body"},{"line_number":281,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"baada198_1426d067","line":278,"in_reply_to":"baada198_d76796ea","updated":"2014-08-13 08:32:05.000000000","message":"Done","commit_id":"b8c64de6e2cc003550c6080f015e10ab3cd74517"},{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"b985a0b88ddf80ae0d479a79eb166ce297387b4e","unresolved":false,"context_lines":[{"line_number":277,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":278,"context_line":"        self.expected_success(200, resp)"},{"line_number":279,"context_line":"        body \u003d json.loads(body)"},{"line_number":280,"context_line":"        return body"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"    def get_resource_type_template(self, resource_type_name):"},{"line_number":283,"context_line":"        \"\"\"Return the template of a resource type.\"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"baada198_dc2eddf8","line":280,"updated":"2014-08-08 10:40:20.000000000","message":"we can just return json.loads(body), like:\n\nresp, body \u003d self.get(url)\nself.expected_success(200, resp)\nreturn json.loads(body)","commit_id":"b8c64de6e2cc003550c6080f015e10ab3cd74517"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"65654aa52d171cbe699d3e1d0361252ea6341737","unresolved":false,"context_lines":[{"line_number":277,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":278,"context_line":"        self.expected_success(200, resp)"},{"line_number":279,"context_line":"        body \u003d json.loads(body)"},{"line_number":280,"context_line":"        return body"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"    def get_resource_type_template(self, resource_type_name):"},{"line_number":283,"context_line":"        \"\"\"Return the template of a resource type.\"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"baada198_74146cea","line":280,"in_reply_to":"baada198_dc2eddf8","updated":"2014-08-13 08:32:05.000000000","message":"Done","commit_id":"b8c64de6e2cc003550c6080f015e10ab3cd74517"},{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"d1dfaeca4257d760d2ee2c6ba20aa6959b993bbc","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        \"\"\"Return the template of a resource type.\"\"\""},{"line_number":284,"context_line":"        url \u003d \u0027resource_types/%s/template\u0027 % resource_type_name"},{"line_number":285,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":286,"context_line":"        self.expected_success(200, resp)"},{"line_number":287,"context_line":"        body \u003d json.loads(body)"},{"line_number":288,"context_line":"        return body"},{"line_number":289,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"baada198_17658ee1","line":286,"updated":"2014-08-08 10:54:38.000000000","message":"looks like we need to use resp.status here instead of just \u0027resp\u0027,\n\nhttps://github.com/openstack/tempest/blob/master/tempest/common/rest_client.py#L208","commit_id":"b8c64de6e2cc003550c6080f015e10ab3cd74517"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"65654aa52d171cbe699d3e1d0361252ea6341737","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        \"\"\"Return the template of a resource type.\"\"\""},{"line_number":284,"context_line":"        url \u003d \u0027resource_types/%s/template\u0027 % resource_type_name"},{"line_number":285,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":286,"context_line":"        self.expected_success(200, resp)"},{"line_number":287,"context_line":"        body \u003d json.loads(body)"},{"line_number":288,"context_line":"        return body"},{"line_number":289,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"baada198_b4cd2495","line":286,"in_reply_to":"baada198_17658ee1","updated":"2014-08-13 08:32:05.000000000","message":"Done","commit_id":"b8c64de6e2cc003550c6080f015e10ab3cd74517"},{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"b985a0b88ddf80ae0d479a79eb166ce297387b4e","unresolved":false,"context_lines":[{"line_number":285,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":286,"context_line":"        self.expected_success(200, resp)"},{"line_number":287,"context_line":"        body \u003d json.loads(body)"},{"line_number":288,"context_line":"        return body"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    def create_software_config(self, name\u003dNone, config\u003dNone, group\u003dNone,"},{"line_number":291,"context_line":"                               inputs\u003dNone, outputs\u003dNone, options\u003dNone):"}],"source_content_type":"text/x-python","patch_set":12,"id":"baada198_bc14c99f","line":288,"updated":"2014-08-08 10:40:20.000000000","message":"we can just return json.loads(body), like:\n\nresp, body \u003d self.get(url)\nself.expected_success(200, resp)\nreturn json.loads(body)","commit_id":"b8c64de6e2cc003550c6080f015e10ab3cd74517"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"65654aa52d171cbe699d3e1d0361252ea6341737","unresolved":false,"context_lines":[{"line_number":285,"context_line":"        resp, body \u003d self.get(url)"},{"line_number":286,"context_line":"        self.expected_success(200, resp)"},{"line_number":287,"context_line":"        body \u003d json.loads(body)"},{"line_number":288,"context_line":"        return body"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    def create_software_config(self, name\u003dNone, config\u003dNone, group\u003dNone,"},{"line_number":291,"context_line":"                               inputs\u003dNone, outputs\u003dNone, options\u003dNone):"}],"source_content_type":"text/x-python","patch_set":12,"id":"baada198_74eb8cdd","line":288,"in_reply_to":"baada198_bc14c99f","updated":"2014-08-13 08:32:05.000000000","message":"Done","commit_id":"b8c64de6e2cc003550c6080f015e10ab3cd74517"},{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"38e3b34ce9b96779ba46271d24def9e0a51befc5","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        return self._validate_template(post_body)"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"    def list_resource_types(self):"},{"line_number":268,"context_line":"        \"\"\"list resource types.\"\"\""},{"line_number":269,"context_line":"        resp, body \u003d self.get(\u0027resource_types\u0027)"},{"line_number":270,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":271,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":13,"id":"7ac7a964_1eb99f2e","line":268,"updated":"2014-08-14 09:30:35.000000000","message":"Could you please start doc-string with a capital letter?","commit_id":"c053af33867d3f037471f07f38662399f0595d8d"},{"author":{"_account_id":11349,"name":"FeihuJiang","email":"jiangfeihu@huawei.com","username":"Hughes"},"change_message_id":"0be7b5cc0430bf2d1a022fd985aa8c3d2f70ec53","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        return self._validate_template(post_body)"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"    def list_resource_types(self):"},{"line_number":268,"context_line":"        \"\"\"list resource types.\"\"\""},{"line_number":269,"context_line":"        resp, body \u003d self.get(\u0027resource_types\u0027)"},{"line_number":270,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":271,"context_line":"        body \u003d json.loads(body)"}],"source_content_type":"text/x-python","patch_set":13,"id":"7ac7a964_4176d33f","line":268,"in_reply_to":"7ac7a964_1eb99f2e","updated":"2014-08-14 11:05:32.000000000","message":"Done","commit_id":"c053af33867d3f037471f07f38662399f0595d8d"}]}
