)]}'
{"tempest/api/baremetal/test_nodestates.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"64f8c9bb170eec2b5733519007d0aeb9a88ea4ef","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from tempest import test"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class TestNodes(base.BaseBaremetalTest):"},{"line_number":20,"context_line":"    \u0027\u0027\u0027Tests for baremetal nodes.\u0027\u0027\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9ndk%3D","line":19,"updated":"2014-04-03 10:37:11.000000000","message":"Change the class name to TestNodesState","commit_id":"208b5f5d92cb2df8c9592200e10ad79f8903e367"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"a6f4a24040bd17b226cd1d38fb19f2e19e688587","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from tempest import test"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class TestNodes(base.BaseBaremetalTest):"},{"line_number":20,"context_line":"    \u0027\u0027\u0027Tests for baremetal nodes.\u0027\u0027\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9nbE%3D","line":19,"in_reply_to":"AAAAWH%2F9ndk%3D","updated":"2014-04-03 10:43:54.000000000","message":"Done","commit_id":"208b5f5d92cb2df8c9592200e10ad79f8903e367"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e7704649a6b9c6cb4e9f6607296d29b1ba328886","unresolved":false,"context_lines":[{"line_number":25,"context_line":"        self.node \u003d self.create_node(chassis[\u0027uuid\u0027])[\u0027node\u0027]"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":28,"context_line":"    def test_list_nodestates(self):"},{"line_number":29,"context_line":"        resp, nodestates \u003d self.client.list_nodestates(self.node[\u0027uuid\u0027])"},{"line_number":30,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":31,"context_line":"        for key in nodestates:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9om8%3D","line":28,"updated":"2014-04-03 07:38:22.000000000","message":"I think we can add this test in tempest/api/baremetal/test_nodes.py as required resources are already present in that class.","commit_id":"208b5f5d92cb2df8c9592200e10ad79f8903e367"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"64f8c9bb170eec2b5733519007d0aeb9a88ea4ef","unresolved":false,"context_lines":[{"line_number":25,"context_line":"        self.node \u003d self.create_node(chassis[\u0027uuid\u0027])[\u0027node\u0027]"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":28,"context_line":"    def test_list_nodestates(self):"},{"line_number":29,"context_line":"        resp, nodestates \u003d self.client.list_nodestates(self.node[\u0027uuid\u0027])"},{"line_number":30,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":31,"context_line":"        for key in nodestates:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9nds%3D","line":28,"in_reply_to":"AAAAWH%2F9okI%3D","updated":"2014-04-03 10:37:11.000000000","message":"OK.","commit_id":"208b5f5d92cb2df8c9592200e10ad79f8903e367"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"bc35acf3cd7b24637f89fffcb5f7dd689223c73e","unresolved":false,"context_lines":[{"line_number":25,"context_line":"        self.node \u003d self.create_node(chassis[\u0027uuid\u0027])[\u0027node\u0027]"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":28,"context_line":"    def test_list_nodestates(self):"},{"line_number":29,"context_line":"        resp, nodestates \u003d self.client.list_nodestates(self.node[\u0027uuid\u0027])"},{"line_number":30,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":31,"context_line":"        for key in nodestates:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9okI%3D","line":28,"in_reply_to":"AAAAWH%2F9om8%3D","updated":"2014-04-03 07:48:54.000000000","message":"basically there are 5 type of API in ironic - \n1.chassis\n2. node\n3. port\n4. driver\n5. nodestates\n\nI think tests related to particular API should be different.\nfor example node uses chassis resources but it is imn separate file.\nSo based on API, one type API tests should in one separate file. \n\nFurther,\nother nodestate APIs are also available, if they go in separate file the it will be better.","commit_id":"208b5f5d92cb2df8c9592200e10ad79f8903e367"},{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"c2e64491313c12d941cdd6b376e2bdcbd6e2441e","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    \u0027\u0027\u0027Tests for baremetal nodes.\u0027\u0027\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def setUp(self):"},{"line_number":23,"context_line":"        super(TestNodes, self).setUp()"},{"line_number":24,"context_line":"        chassis \u003d self.create_chassis()[\u0027chassis\u0027]"},{"line_number":25,"context_line":"        self.node \u003d self.create_node(chassis[\u0027uuid\u0027])[\u0027node\u0027]"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAWH%2F9mGs%3D","line":23,"updated":"2014-04-03 13:25:27.000000000","message":"Let\u0027s use TestNodeStates instead of TestNodes (Jenkins checks will pass):\n\nsuper(TestNodeStates, self).setUp()","commit_id":"d4d90da082ca2cee50a5fa90e2378b7d4719f064"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"91dc1c8d0efb928372b1f394f50fbe67c5e58a4e","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class TestNodeStates(base.BaseBaremetalTest):"},{"line_number":20,"context_line":"    \u0027\u0027\u0027Tests for baremetal nodes.\u0027\u0027\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def setUp(self):"},{"line_number":23,"context_line":"        super(TestNodeStates, self).setUp()"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9XhM%3D","line":20,"updated":"2014-04-05 06:12:17.000000000","message":"Still missed to correct the documentation.","commit_id":"572d3327a58b973c0b157c382fc5dece6a23dd41"},{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"6853712e4f069ee92f68f3137833e1e2196ec5c1","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class TestNodeStates(base.BaseBaremetalTest):"},{"line_number":20,"context_line":"    \u0027\u0027\u0027Tests for baremetal nodes.\u0027\u0027\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def setUp(self):"},{"line_number":23,"context_line":"        super(TestNodeStates, self).setUp()"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAWH%2F9XQU%3D","line":20,"in_reply_to":"AAAAWH%2F9XhM%3D","updated":"2014-04-05 09:54:21.000000000","message":"+1\n\nLet\u0027s use\n\n\"\"\"Tests for baremetal nodes.\"\"\"","commit_id":"572d3327a58b973c0b157c382fc5dece6a23dd41"},{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"33996a4c10858932afa478059f368f15ac6d3209","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class TestNodeStates(base.BaseBaremetalTest):"},{"line_number":20,"context_line":"    \u0027\u0027\u0027Tests for baremetal NodeStates.\u0027\u0027\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def setUp(self):"},{"line_number":23,"context_line":"        super(TestNodeStates, self).setUp()"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAWH%2F9TQo%3D","line":20,"updated":"2014-04-07 09:16:45.000000000","message":"Can you please fix \u0027\u0027\u0027 to \"\"\" - this is different type of characters and we use \" for all doc strings.\n\nPlease, see the following page for more detailed information:\nhttp://legacy.python.org/dev/peps/pep-0257/","commit_id":"b7727aad66041081f5e8ad5683f01b9a448fea5f"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"27a953b33c3d98324770fe18e7a9f3c948766908","unresolved":false,"context_lines":[{"line_number":19,"context_line":"class TestNodeStates(base.BaseBaremetalTest):"},{"line_number":20,"context_line":"    \"\"\"Tests for baremetal NodeStates.\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def setUp(self):"},{"line_number":23,"context_line":"        super(TestNodeStates, self).setUp()"},{"line_number":24,"context_line":"        chassis \u003d self.create_chassis()[\u0027chassis\u0027]"},{"line_number":25,"context_line":"        self.node \u003d self.create_node(chassis[\u0027uuid\u0027])[\u0027node\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2Foe0%3D","line":22,"updated":"2014-04-11 14:51:47.000000000","message":"why don\u0027t use \u0027setUpClass\u0027?\n\nIn the future, other test functions maybe add. They may not need this \u0027setUp\u0027.","commit_id":"8c69d79c8265e4b3b757b431bad7ac3a5a8a6345"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"413a59b578a8bde1dd557e460cec1d8ba8e7e1f4","unresolved":false,"context_lines":[{"line_number":19,"context_line":"class TestNodeStates(base.BaseBaremetalTest):"},{"line_number":20,"context_line":"    \"\"\"Tests for baremetal NodeStates.\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def setUp(self):"},{"line_number":23,"context_line":"        super(TestNodeStates, self).setUp()"},{"line_number":24,"context_line":"        chassis \u003d self.create_chassis()[\u0027chassis\u0027]"},{"line_number":25,"context_line":"        self.node \u003d self.create_node(chassis[\u0027uuid\u0027])[\u0027node\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAW3%2F%2FeS0%3D","line":22,"in_reply_to":"AAAAW3%2F%2Foe0%3D","updated":"2014-04-14 11:34:25.000000000","message":"Thanks, Will do in next.","commit_id":"8c69d79c8265e4b3b757b431bad7ac3a5a8a6345"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"d03a1c397b854c63394e01bdbe9525c98cd538fc","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        resp, nodestates \u003d self.client.list_nodestates(self.node[\u0027uuid\u0027])"},{"line_number":31,"context_line":"        self.assertEqual(\u0027200\u0027, resp[\u0027status\u0027])"},{"line_number":32,"context_line":"        for key in nodestates:"},{"line_number":33,"context_line":"            self.assertEqual(nodestates[key], self.node[key])"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAXH%2F%2FgLI%3D","line":33,"updated":"2014-04-21 06:43:06.000000000","message":"usually self.assertEqual(expected result,actual result)","commit_id":"fbe5451680f29d7cfb6108d8fda5629166994eaa"}],"tempest/services/baremetal/base.py":[{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"9f39191ec980cd2da205856a68282b3fd815282e","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        \"\"\""},{"line_number":115,"context_line":"        if uri is None:"},{"line_number":116,"context_line":"            uri \u003d self._get_uri(resource, permanent\u003dpermanent)"},{"line_number":117,"context_line":"        else:"},{"line_number":118,"context_line":"            uri \u003d uri"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        resp, body \u003d self.get(uri)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9w8I%3D","line":117,"updated":"2014-04-02 09:32:07.000000000","message":"Let\u0027s use just:\n\nif uri is None:\n    uri \u003d self._get_uri(resource, permanent\u003dpermanent)\n\nbecause if uri is not None, uri \u003d\u003d uri  by default and \u0027else\u0027 block does not required.","commit_id":"63bbc22335b549b9c8eecb8021a88854526eceee"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"e8063bad57d856ffc7e00f021703fac8d18ee02d","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                 of objects"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        \"\"\""},{"line_number":115,"context_line":"        if uri:"},{"line_number":116,"context_line":"            uri \u003d uri"},{"line_number":117,"context_line":"        else:"},{"line_number":118,"context_line":"            uri \u003d self._get_uri(resource, permanent\u003dpermanent)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9v%2BQ%3D","line":115,"updated":"2014-04-02 12:00:18.000000000","message":"may be would be better:\nif uri is None:\n    uri \u003d self._get_uri(resource, permanent\u003dpermanent)\n?","commit_id":"410f2db3f9465f834d859b84307e654edec90318"},{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"733d92ce989d4b8a1fc22666e4eb0237b271930a","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                 of objects"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        \"\"\""},{"line_number":115,"context_line":"        if uri:"},{"line_number":116,"context_line":"            uri \u003d uri"},{"line_number":117,"context_line":"        else:"},{"line_number":118,"context_line":"            uri \u003d self._get_uri(resource, permanent\u003dpermanent)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9v9Y%3D","line":115,"in_reply_to":"AAAAWH%2F9v%2BQ%3D","updated":"2014-04-02 12:02:19.000000000","message":"+1.\n\nLet\u0027s change\n\nthis \u0027if\u0027 to\nif uri is None:\n    uri \u003d self._get_uri(resource, permanent\u003dpermanent)","commit_id":"410f2db3f9465f834d859b84307e654edec90318"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"11bfbef6625c8b15a92c487531fd70a83a60dddd","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                 of objects"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        \"\"\""},{"line_number":115,"context_line":"        if uri:"},{"line_number":116,"context_line":"            uri \u003d uri"},{"line_number":117,"context_line":"        else:"},{"line_number":118,"context_line":"            uri \u003d self._get_uri(resource, permanent\u003dpermanent)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9v7A%3D","line":115,"in_reply_to":"AAAAWH%2F9v%2BQ%3D","updated":"2014-04-02 12:08:34.000000000","message":"Why \u0027if uri:\u0027 doesn\u0027t seem you better ??","commit_id":"410f2db3f9465f834d859b84307e654edec90318"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"82d05a0a5de8f4a48b806416d403184de06a58a8","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                 of objects"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        \"\"\""},{"line_number":115,"context_line":"        if uri:"},{"line_number":116,"context_line":"            uri \u003d uri"},{"line_number":117,"context_line":"        else:"},{"line_number":118,"context_line":"            uri \u003d self._get_uri(resource, permanent\u003dpermanent)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9pV4%3D","line":115,"in_reply_to":"AAAAWH%2F9v1s%3D","updated":"2014-04-03 04:52:32.000000000","message":"Done","commit_id":"410f2db3f9465f834d859b84307e654edec90318"},{"author":{"_account_id":7126,"name":"Vadim Rovachev","email":"vrovachev@mirantis.com","username":"vrovachev"},"change_message_id":"6e78699fdf5b1ad0d12abf54eddb3c3309b85d10","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                 of objects"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        \"\"\""},{"line_number":115,"context_line":"        if uri:"},{"line_number":116,"context_line":"            uri \u003d uri"},{"line_number":117,"context_line":"        else:"},{"line_number":118,"context_line":"            uri \u003d self._get_uri(resource, permanent\u003dpermanent)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9v2I%3D","line":115,"in_reply_to":"AAAAWH%2F9v7A%3D","updated":"2014-04-02 12:22:35.000000000","message":"It\u0027s disgusting code. Please, change it.","commit_id":"410f2db3f9465f834d859b84307e654edec90318"},{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"8b2736bebb847811a487f608c6d863929a2908bd","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                 of objects"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        \"\"\""},{"line_number":115,"context_line":"        if uri:"},{"line_number":116,"context_line":"            uri \u003d uri"},{"line_number":117,"context_line":"        else:"},{"line_number":118,"context_line":"            uri \u003d self._get_uri(resource, permanent\u003dpermanent)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9v1s%3D","line":115,"in_reply_to":"AAAAWH%2F9v7A%3D","updated":"2014-04-02 12:23:35.000000000","message":"We just confused with \u0027uri \u003d uri\u0027 action and we want to remove it.\n\nto do this we can just change this condition from\n\nif uri:\n    uri \u003d uri\nelse:\n    uri \u003d self._get_uri(resource, permanent\u003dpermanent)\n\nto this:\n\nif uri is None:\n    uri \u003d self._get_uri(resource, permanent\u003dpermanent)","commit_id":"410f2db3f9465f834d859b84307e654edec90318"}]}
