)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"2660fd42bb731e3126ac9ef6185fc6434aa21a8b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     anju Tiwari \u003canjutiwari5@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-05-14 12:11:52 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added deletion part in some test"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Delete was mentioned in the name of the"},{"line_number":10,"context_line":"test but deletion was missing.Here"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"7adec928_72218bfa","line":7,"updated":"2014-05-14 15:17:19.000000000","message":"Could you be more specific regarding which tests are affected by your change?","commit_id":"3683d60d160e53ff4b277157b175733616f05fbd"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"8831914b1e03e5e2deb8f3f84a590e89aa6ed175","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     anju Tiwari \u003canjutiwari5@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-05-14 12:11:52 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added deletion part in some test"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Delete was mentioned in the name of the"},{"line_number":10,"context_line":"test but deletion was missing.Here"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"7adec928_512d66a7","line":7,"in_reply_to":"7adec928_72218bfa","updated":"2014-05-15 05:15:16.000000000","message":"Thanks sure . I will :)","commit_id":"3683d60d160e53ff4b277157b175733616f05fbd"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"81019e2396f9267a337d3caa4994eb7b3b2fbaac","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     anju Tiwari \u003canjutiwari5@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-05-15 15:36:50 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added deletion part in some test"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Delete was mentioned in the name of the test"},{"line_number":10,"context_line":"but deletion was missing.Here added the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"7adec928_bd54bbff","line":7,"updated":"2014-05-15 10:22:28.000000000","message":"test-\u003etests","commit_id":"867da8c52486f5dfb94027e9c23c60111a300644"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"81019e2396f9267a337d3caa4994eb7b3b2fbaac","unresolved":false,"context_lines":[{"line_number":13,"context_line":"1- test_keypairs_create_list_delete"},{"line_number":14,"context_line":"2- test_create_get_delete_service"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Remove test, test_keypair_create_delete because"},{"line_number":17,"context_line":"test_keypairs_create_list_delete doing the same"},{"line_number":18,"context_line":"functionality."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"7adec928_5d49f75e","line":16,"updated":"2014-05-15 10:22:28.000000000","message":"\"test\" is extra here. \"Remove test_keypair_create_delete ...\" is enough.","commit_id":"867da8c52486f5dfb94027e9c23c60111a300644"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"81019e2396f9267a337d3caa4994eb7b3b2fbaac","unresolved":false,"context_lines":[{"line_number":14,"context_line":"2- test_create_get_delete_service"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Remove test, test_keypair_create_delete because"},{"line_number":17,"context_line":"test_keypairs_create_list_delete doing the same"},{"line_number":18,"context_line":"functionality."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I9ff154ca5dc5f0906f8292bb6038cfe3af9b57ba"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"7adec928_9d761fa3","line":17,"updated":"2014-05-15 10:22:28.000000000","message":"*is doing","commit_id":"867da8c52486f5dfb94027e9c23c60111a300644"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"3f688c88873e337070e15ac503c6684b8f0cfdcd","unresolved":false,"context_lines":[{"line_number":14,"context_line":"2- test_create_get_delete_service"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Remove test, test_keypair_create_delete because"},{"line_number":17,"context_line":"test_keypairs_create_list_delete doing the same"},{"line_number":18,"context_line":"functionality."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I9ff154ca5dc5f0906f8292bb6038cfe3af9b57ba"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"7adec928_3d67cbea","line":17,"updated":"2014-05-15 10:23:34.000000000","message":"I\u0027m sorry. Not \"is doing\" but \"has the same functionality\"","commit_id":"867da8c52486f5dfb94027e9c23c60111a300644"}],"tempest/api/compute/keypairs/test_keypairs.py":[{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"b494b0893d42a3ef2d1f1e689d40ab37d17467c2","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            self._delete_keypair(kp[\u0027name\u0027])"},{"line_number":68,"context_line":"        resp, fetched_list \u003d self.client.list_keypairs()"},{"line_number":69,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":73,"context_line":"    def test_get_keypair_detail(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad9bd40_5a2db945","line":70,"updated":"2014-05-02 06:43:13.000000000","message":"Here, you can validate if the deleted keypairs don\u0027t exist in this fetched_list ( for delete validation )","commit_id":"b6bf6f3c3c410088b932478fee2adff81de14c3f"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"1f16b1cbd91ecf6d340d86fbb87fccfecd3982ee","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            self._delete_keypair(kp[\u0027name\u0027])"},{"line_number":68,"context_line":"        resp, fetched_list \u003d self.client.list_keypairs()"},{"line_number":69,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":73,"context_line":"    def test_get_keypair_detail(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad9bd40_9ab581f0","line":70,"in_reply_to":"9ad9bd40_5a2db945","updated":"2014-05-02 06:49:06.000000000","message":"Yeah , Agree.","commit_id":"b6bf6f3c3c410088b932478fee2adff81de14c3f"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"67378f0ca59eed5c3d1c0352fa36f1ed72fcae91","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        for kp in key_list:"},{"line_number":79,"context_line":"            self.client.delete_keypair(kp[\u0027name\u0027])"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        # Verifing keypairs deleted"},{"line_number":82,"context_line":"        resp, fetched_list \u003d self.client.list_keypairs()"},{"line_number":83,"context_line":"        deleted_kps \u003d[kp for kp in key_list if kp in fetched_list]"},{"line_number":84,"context_line":"        self.assertFalse(deleted_kps,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7adec928_6c310eec","line":81,"updated":"2014-05-08 07:51:08.000000000","message":"Should be verifying.:)","commit_id":"b356eaa86b8984daf205a7398d97896450d1e29e"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"3360309e5d9fd9eaa553d4b2ae1d1ac045001f5b","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    def _delete_keypair(self, keypair_name):"},{"line_number":30,"context_line":"        try:"},{"line_number":31,"context_line":"           resp, _ \u003d self.client.delete_keypair(keypair_name)"},{"line_number":32,"context_line":"           self.assertEqual(202, resp.status)"},{"line_number":33,"context_line":"           self.assertRaises(exceptions.NotFound, self.client.get_keypair,"},{"line_number":34,"context_line":"                        keypair_name)"},{"line_number":35,"context_line":"        except exceptions.NotFound:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_ff04c97f","line":32,"updated":"2014-05-09 05:33:02.000000000","message":"Shouldn\u0027t we wait here for resource deletion as response status is 202. we can use the in-build method wait_for_resource_deletion() by overriding is_resource_deleted() method.","commit_id":"1f9b746a20e82f64f2f5c5664442813b6f0a8f86"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"d187864f823d53e939b430d84cbdef049bf776d8","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    def _delete_keypair(self, keypair_name):"},{"line_number":30,"context_line":"        try:"},{"line_number":31,"context_line":"           resp, _ \u003d self.client.delete_keypair(keypair_name)"},{"line_number":32,"context_line":"           self.assertEqual(202, resp.status)"},{"line_number":33,"context_line":"           self.assertRaises(exceptions.NotFound, self.client.get_keypair,"},{"line_number":34,"context_line":"                        keypair_name)"},{"line_number":35,"context_line":"        except exceptions.NotFound:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7adec928_ff2be9e8","line":32,"in_reply_to":"7adec928_ff04c97f","updated":"2014-05-09 05:38:09.000000000","message":"Hi, \n\nThanks , I am getting your point and working in this. I will surely do the same once I will get confirmed.","commit_id":"1f9b746a20e82f64f2f5c5664442813b6f0a8f86"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"e4fc9a1455510f473b1aa32fe1c6e55ad0ab7817","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from tempest import test"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class KeyPairsTestJSON(base.BaseV2ComputeTest):"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    @classmethod"},{"line_number":25,"context_line":"    def setUpClass(cls):"}],"source_content_type":"text/x-python","patch_set":7,"id":"7adec928_225df4e9","line":22,"updated":"2014-05-14 12:02:43.000000000","message":"It seems these changes are unrelated to purpose of CR.","commit_id":"3683d60d160e53ff4b277157b175733616f05fbd"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"8831914b1e03e5e2deb8f3f84a590e89aa6ed175","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from tempest import test"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class KeyPairsTestJSON(base.BaseV2ComputeTest):"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    @classmethod"},{"line_number":25,"context_line":"    def setUpClass(cls):"}],"source_content_type":"text/x-python","patch_set":7,"id":"7adec928_11791ec8","line":22,"in_reply_to":"7adec928_225df4e9","updated":"2014-05-15 05:15:16.000000000","message":"I didn’t know when I make these changes.\nThanks","commit_id":"3683d60d160e53ff4b277157b175733616f05fbd"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"e4fc9a1455510f473b1aa32fe1c6e55ad0ab7817","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        cls.client \u003d cls.keypairs_client"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def _delete_keypair(self, keypair_name):"},{"line_number":30,"context_line":"        try:"},{"line_number":31,"context_line":"            resp, _ \u003d self.client.delete_keypair(keypair_name)"},{"line_number":32,"context_line":"            self.assertEqual(202, resp.status)"},{"line_number":33,"context_line":"            self.assertRaises(exceptions.NotFound, self.client.get_keypair,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7adec928_a21664ef","line":30,"updated":"2014-05-14 12:02:43.000000000","message":"I would suggest to write something like this\n\n    try:\n        resp \u003d self.client.delete_keypair(keypair_name)[0]\n    except exceptions.NotFound:\n        pass\n    else:\n        self.assertEqual(202, resp.status)\n        self.assertRaises(exceptions.NotFound, \n                          self.client.get_keypair, keypair_name)\n\nas you are wrapping the code (lines 32-34) that does not need to be wrapped in try/except block.","commit_id":"3683d60d160e53ff4b277157b175733616f05fbd"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"8931f545bdf192d400ed476e1d85078a0927a792","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        cls.client \u003d cls.keypairs_client"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def _delete_keypair(self, keypair_name):"},{"line_number":30,"context_line":"        try:"},{"line_number":31,"context_line":"            resp, _ \u003d self.client.delete_keypair(keypair_name)"},{"line_number":32,"context_line":"            self.assertEqual(202, resp.status)"},{"line_number":33,"context_line":"            self.assertRaises(exceptions.NotFound, self.client.get_keypair,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7adec928_a8eb9711","line":30,"in_reply_to":"7adec928_11275ecb","updated":"2014-05-15 12:11:38.000000000","message":"Hi anju Tiwari,\n\nI understand this. You don\u0027t need to catch exception in lines 32-33. So why not move code in \"else\" branch? \nUsually, it is better to use branch \"else\" than to add code in branch of \"try\" instruction because it allows to avoid exception processing generated with code that you were not going \"to protect\".","commit_id":"3683d60d160e53ff4b277157b175733616f05fbd"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"8831914b1e03e5e2deb8f3f84a590e89aa6ed175","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        cls.client \u003d cls.keypairs_client"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def _delete_keypair(self, keypair_name):"},{"line_number":30,"context_line":"        try:"},{"line_number":31,"context_line":"            resp, _ \u003d self.client.delete_keypair(keypair_name)"},{"line_number":32,"context_line":"            self.assertEqual(202, resp.status)"},{"line_number":33,"context_line":"            self.assertRaises(exceptions.NotFound, self.client.get_keypair,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7adec928_11275ecb","line":30,"in_reply_to":"7adec928_a21664ef","updated":"2014-05-15 05:15:16.000000000","message":"Hi Yaroslav ,\n\nThanks for sharing your idea. I would like to say that both ways are similar.\nIn my patch Line no 31 raise an exception of NotFound when the keypair will not exist and Line 32-33 will not get executed. is this ok for you ?","commit_id":"3683d60d160e53ff4b277157b175733616f05fbd"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"ffbd5ed61646b989ea51e311f34dbfddd7265db9","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        # Deleting cretated keypairs."},{"line_number":73,"context_line":"        for kp in key_list:"},{"line_number":74,"context_line":"            self._delete_keypair(kp[\u0027name\u0027])"},{"line_number":75,"context_line":"        resp, fetched_list \u003d self.client.list_keypairs()"},{"line_number":76,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        # Verifying deleted keypairs"}],"source_content_type":"text/x-python","patch_set":7,"id":"7adec928_77e6e0b5","line":75,"updated":"2014-05-14 11:00:31.000000000","message":"unused variable \"fetched_list\"","commit_id":"3683d60d160e53ff4b277157b175733616f05fbd"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"8831914b1e03e5e2deb8f3f84a590e89aa6ed175","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        # Deleting cretated keypairs."},{"line_number":73,"context_line":"        for kp in key_list:"},{"line_number":74,"context_line":"            self._delete_keypair(kp[\u0027name\u0027])"},{"line_number":75,"context_line":"        resp, fetched_list \u003d self.client.list_keypairs()"},{"line_number":76,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        # Verifying deleted keypairs"}],"source_content_type":"text/x-python","patch_set":7,"id":"7adec928_51e3a6a3","line":75,"in_reply_to":"7adec928_77e6e0b5","updated":"2014-05-15 05:15:16.000000000","message":"Agree","commit_id":"3683d60d160e53ff4b277157b175733616f05fbd"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"e4fc9a1455510f473b1aa32fe1c6e55ad0ab7817","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                   \"XcPojYN56tI0OlrGqojbediJYD0rUsJu4weZpbn8vilb3JuDY+jws\""},{"line_number":113,"context_line":"                   \"snSA8wzBx3A/8y9Pp1B nova@ubuntu\")"},{"line_number":114,"context_line":"        resp, keypair \u003d self._create_keypair(k_name, pub_key)"},{"line_number":115,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":116,"context_line":"        self.assertFalse(\u0027private_key\u0027 in keypair,"},{"line_number":117,"context_line":"                         \"Field private_key is not empty!\")"},{"line_number":118,"context_line":"        key_name \u003d keypair[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"7adec928_a2c4a45f","line":115,"updated":"2014-05-14 12:02:43.000000000","message":"It seems these changes are unrelated to purpose of CR.","commit_id":"3683d60d160e53ff4b277157b175733616f05fbd"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"8831914b1e03e5e2deb8f3f84a590e89aa6ed175","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                   \"XcPojYN56tI0OlrGqojbediJYD0rUsJu4weZpbn8vilb3JuDY+jws\""},{"line_number":113,"context_line":"                   \"snSA8wzBx3A/8y9Pp1B nova@ubuntu\")"},{"line_number":114,"context_line":"        resp, keypair \u003d self._create_keypair(k_name, pub_key)"},{"line_number":115,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":116,"context_line":"        self.assertFalse(\u0027private_key\u0027 in keypair,"},{"line_number":117,"context_line":"                         \"Field private_key is not empty!\")"},{"line_number":118,"context_line":"        key_name \u003d keypair[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"7adec928_91f0ce68","line":115,"in_reply_to":"7adec928_a2c4a45f","updated":"2014-05-15 05:15:16.000000000","message":"Agree","commit_id":"3683d60d160e53ff4b277157b175733616f05fbd"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"e4fc9a1455510f473b1aa32fe1c6e55ad0ab7817","unresolved":false,"context_lines":[{"line_number":121,"context_line":"                         \"to the requested name!\")"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"class KeyPairsTestXML(KeyPairsTestJSON):"},{"line_number":125,"context_line":"    _interface \u003d \u0027xml\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"7adec928_c20610ce","line":124,"updated":"2014-05-14 12:02:43.000000000","message":"It seems these changes are unrelated to purpose of CR.","commit_id":"3683d60d160e53ff4b277157b175733616f05fbd"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"8831914b1e03e5e2deb8f3f84a590e89aa6ed175","unresolved":false,"context_lines":[{"line_number":121,"context_line":"                         \"to the requested name!\")"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"class KeyPairsTestXML(KeyPairsTestJSON):"},{"line_number":125,"context_line":"    _interface \u003d \u0027xml\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"7adec928_d1e6d6af","line":124,"in_reply_to":"7adec928_c20610ce","updated":"2014-05-15 05:15:16.000000000","message":"Agree","commit_id":"3683d60d160e53ff4b277157b175733616f05fbd"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"81019e2396f9267a337d3caa4994eb7b3b2fbaac","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":12,"context_line":"# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"# under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from tempest.api.compute import base"},{"line_number":17,"context_line":"from tempest.common.utils import data_utils"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_3d398bd7","line":14,"updated":"2014-05-15 10:22:28.000000000","message":"Indentation here somehow got messed. Could you fix it?","commit_id":"867da8c52486f5dfb94027e9c23c60111a300644"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"81019e2396f9267a337d3caa4994eb7b3b2fbaac","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                         \"Failed to find keypairs %s in fetched list\""},{"line_number":72,"context_line":"                         % \u0027, \u0027.join(m_key[\u0027name\u0027] for m_key in missing_kps))"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        # Deleting cretated keypairs. "},{"line_number":75,"context_line":"        for kp in key_list:"},{"line_number":76,"context_line":"            self._delete_keypair(kp[\u0027name\u0027])"},{"line_number":77,"context_line":"        resp, _ \u003d self.client.list_keypairs()"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_bd2d9b97","line":74,"updated":"2014-05-15 10:22:28.000000000","message":"Please remove the trailing whitespace here.","commit_id":"867da8c52486f5dfb94027e9c23c60111a300644"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"81019e2396f9267a337d3caa4994eb7b3b2fbaac","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        resp, _ \u003d self.client.list_keypairs()"},{"line_number":78,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        # Verifying deleted keypairs "},{"line_number":81,"context_line":"        resp, fetched_list \u003d self.client.list_keypairs()"},{"line_number":82,"context_line":"        deleted_kps \u003d [kp for kp in key_list if kp in fetched_list]"},{"line_number":83,"context_line":"        self.assertFalse(deleted_kps,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_dd1ee75e","line":80,"updated":"2014-05-15 10:22:28.000000000","message":"ditto","commit_id":"867da8c52486f5dfb94027e9c23c60111a300644"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"ff7ad27ee1a7a015a092ef30ff7317b53fd0a3a0","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        cls.client \u003d cls.keypairs_client"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def _delete_keypair(self, keypair_name):"},{"line_number":32,"context_line":"        try:"},{"line_number":33,"context_line":"            resp, _ \u003d self.client.delete_keypair(keypair_name)"},{"line_number":34,"context_line":"            self.assertEqual(202, resp.status)"},{"line_number":35,"context_line":"            self.assertRaises(exceptions.NotFound, self.client.get_keypair,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7adec928_68918ff0","line":32,"updated":"2014-05-15 12:43:09.000000000","message":"See comment in patch set 7.","commit_id":"605d49e8da96a8d1fa3f06683a0a1b6de64baa29"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"ff7ad27ee1a7a015a092ef30ff7317b53fd0a3a0","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        for kp in key_list:"},{"line_number":76,"context_line":"            self._delete_keypair(kp[\u0027name\u0027])"},{"line_number":77,"context_line":"        resp, _ \u003d self.client.list_keypairs()"},{"line_number":78,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        # Verifying deleted keypairs"},{"line_number":81,"context_line":"        resp, fetched_list \u003d self.client.list_keypairs()"}],"source_content_type":"text/x-python","patch_set":10,"id":"7adec928_48013337","line":78,"updated":"2014-05-15 12:43:09.000000000","message":"I don\u0027t understand sense of lines 77 and 78 here. This is part of test for deleting keypairs.  By the way, you do this operation in lines 60-61.","commit_id":"605d49e8da96a8d1fa3f06683a0a1b6de64baa29"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"d0c9bf41e7d2ee57404fc8353df13945e83935b2","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        for kp in key_list:"},{"line_number":76,"context_line":"            self._delete_keypair(kp[\u0027name\u0027])"},{"line_number":77,"context_line":"        resp, _ \u003d self.client.list_keypairs()"},{"line_number":78,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        # Verifying deleted keypairs"},{"line_number":81,"context_line":"        resp, fetched_list \u003d self.client.list_keypairs()"}],"source_content_type":"text/x-python","patch_set":10,"id":"7adec928_c5ec3ef6","line":78,"in_reply_to":"7adec928_48013337","updated":"2014-05-20 05:08:23.000000000","message":"correct.","commit_id":"605d49e8da96a8d1fa3f06683a0a1b6de64baa29"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"2a6cc4b6356a3947d22179e1893dea9913186696","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        # Verifying deleted keypairs"},{"line_number":81,"context_line":"        resp, fetched_list \u003d self.client.list_keypairs()"},{"line_number":82,"context_line":"        deleted_kps \u003d [kp for kp in key_list if kp in fetched_list]"},{"line_number":83,"context_line":"        self.assertFalse(deleted_kps,"},{"line_number":84,"context_line":"                         \"Failed to delete %s in fetched list\""}],"source_content_type":"text/x-python","patch_set":10,"id":"7adec928_5512ab57","line":81,"updated":"2014-05-15 13:38:10.000000000","message":"unused variable \"resp\"","commit_id":"605d49e8da96a8d1fa3f06683a0a1b6de64baa29"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cb6371245eab592be112e8e278b8f52a52bc3b16","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def _delete_keypair(self, keypair_name):"},{"line_number":32,"context_line":"        try:"},{"line_number":33,"context_line":"            resp, _ \u003d self.client.delete_keypair(keypair_name)"},{"line_number":34,"context_line":"            self.assertEqual(202, resp.status)"},{"line_number":35,"context_line":"        except exceptions.NotFound:"},{"line_number":36,"context_line":"            pass"},{"line_number":37,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_06519b0e","line":34,"updated":"2014-07-07 05:37:04.000000000","message":"I do not prefer to have assert for status code in cleanup code because its better to have concrete exception to find the failure easily.","commit_id":"b118b71c8ef5c8dc1b079b062a25e917eb223c1b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"62e12a6588e1ef0f803244127621ab9c7c23c637","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def _delete_keypair(self, keypair_name):"},{"line_number":32,"context_line":"        try:"},{"line_number":33,"context_line":"            resp, _ \u003d self.client.delete_keypair(keypair_name)"},{"line_number":34,"context_line":"            self.assertEqual(202, resp.status)"},{"line_number":35,"context_line":"        except exceptions.NotFound:"},{"line_number":36,"context_line":"            pass"},{"line_number":37,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_d6e8b17e","line":34,"in_reply_to":"baada198_01c0a5df","updated":"2014-07-10 04:40:35.000000000","message":"cleanup code should just do the cleanup instead of more verification and checking about calls.","commit_id":"b118b71c8ef5c8dc1b079b062a25e917eb223c1b"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"41d92293cadb71485dc775954d2730e248c4c0a9","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def _delete_keypair(self, keypair_name):"},{"line_number":32,"context_line":"        try:"},{"line_number":33,"context_line":"            resp, _ \u003d self.client.delete_keypair(keypair_name)"},{"line_number":34,"context_line":"            self.assertEqual(202, resp.status)"},{"line_number":35,"context_line":"        except exceptions.NotFound:"},{"line_number":36,"context_line":"            pass"},{"line_number":37,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_01c0a5df","line":34,"in_reply_to":"baada198_06519b0e","updated":"2014-07-07 08:00:09.000000000","message":"I don\u0027t know am I understanding you correctly or not , what you want to remove assert from here only ?","commit_id":"b118b71c8ef5c8dc1b079b062a25e917eb223c1b"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"40216d5e13e719f1e99b378b5ea42d318eb716bd","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def _delete_keypair(self, keypair_name):"},{"line_number":32,"context_line":"        try:"},{"line_number":33,"context_line":"            resp, _ \u003d self.client.delete_keypair(keypair_name)"},{"line_number":34,"context_line":"            self.assertEqual(202, resp.status)"},{"line_number":35,"context_line":"        except exceptions.NotFound:"},{"line_number":36,"context_line":"            pass"},{"line_number":37,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_efa202fb","line":34,"in_reply_to":"baada198_91e9e31c","updated":"2014-07-11 11:23:05.000000000","message":"Hi, \nI was doing the code changes but rethinking that, _delete_keypair method is used for deleting keypair as well as for cleanup.\nIn cleanup we call the  function which deletes the created resources.\n\nCould you please rethink over it and share.","commit_id":"b118b71c8ef5c8dc1b079b062a25e917eb223c1b"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"90d2796045e818f7afd1e1a129b16f21a8b1eff8","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def _delete_keypair(self, keypair_name):"},{"line_number":32,"context_line":"        try:"},{"line_number":33,"context_line":"            resp, _ \u003d self.client.delete_keypair(keypair_name)"},{"line_number":34,"context_line":"            self.assertEqual(202, resp.status)"},{"line_number":35,"context_line":"        except exceptions.NotFound:"},{"line_number":36,"context_line":"            pass"},{"line_number":37,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_d66da333","line":34,"in_reply_to":"baada198_d6d123fc","updated":"2014-07-14 07:02:37.000000000","message":"Yeah, It is a good reason.\n\nThanks","commit_id":"b118b71c8ef5c8dc1b079b062a25e917eb223c1b"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"2deefc4d406179498f956a14a0581f89d2667bad","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def _delete_keypair(self, keypair_name):"},{"line_number":32,"context_line":"        try:"},{"line_number":33,"context_line":"            resp, _ \u003d self.client.delete_keypair(keypair_name)"},{"line_number":34,"context_line":"            self.assertEqual(202, resp.status)"},{"line_number":35,"context_line":"        except exceptions.NotFound:"},{"line_number":36,"context_line":"            pass"},{"line_number":37,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_91e9e31c","line":34,"in_reply_to":"baada198_d6e8b17e","updated":"2014-07-10 05:02:16.000000000","message":"yeah.I will remove it here and add after L78.","commit_id":"b118b71c8ef5c8dc1b079b062a25e917eb223c1b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"62c5c3ebd73a47b0c8fb51e1d275e888cdba46f5","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    def _delete_keypair(self, keypair_name):"},{"line_number":32,"context_line":"        try:"},{"line_number":33,"context_line":"            resp, _ \u003d self.client.delete_keypair(keypair_name)"},{"line_number":34,"context_line":"            self.assertEqual(202, resp.status)"},{"line_number":35,"context_line":"        except exceptions.NotFound:"},{"line_number":36,"context_line":"            pass"},{"line_number":37,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_d6d123fc","line":34,"in_reply_to":"baada198_efa202fb","updated":"2014-07-14 06:54:06.000000000","message":"Hi Anju,\nThat should be fine whether it comes from delete or from addCleanup. You can remove the status check from here.\n\nFYI - All status code check is going to be move  from tests cases to client.\n\nSo this is anyways going to be removed so it should be removed from this patch as new test should not have any status code check.","commit_id":"b118b71c8ef5c8dc1b079b062a25e917eb223c1b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cb6371245eab592be112e8e278b8f52a52bc3b16","unresolved":false,"context_lines":[{"line_number":34,"context_line":"            self.assertEqual(202, resp.status)"},{"line_number":35,"context_line":"        except exceptions.NotFound:"},{"line_number":36,"context_line":"            pass"},{"line_number":37,"context_line":"        else:"},{"line_number":38,"context_line":"            self.assertRaises(exceptions.NotFound, self.client.get_keypair,"},{"line_number":39,"context_line":"                              keypair_name)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_8b28569b","line":37,"updated":"2014-07-07 05:37:04.000000000","message":"IMO, whatever exception comes from delete that should be raised as it is to give more clear view about failure of delete.\nHere if delete operation raise any exception other than NotFound then, that is being suppressed by below assert.","commit_id":"b118b71c8ef5c8dc1b079b062a25e917eb223c1b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"62e12a6588e1ef0f803244127621ab9c7c23c637","unresolved":false,"context_lines":[{"line_number":34,"context_line":"            self.assertEqual(202, resp.status)"},{"line_number":35,"context_line":"        except exceptions.NotFound:"},{"line_number":36,"context_line":"            pass"},{"line_number":37,"context_line":"        else:"},{"line_number":38,"context_line":"            self.assertRaises(exceptions.NotFound, self.client.get_keypair,"},{"line_number":39,"context_line":"                              keypair_name)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_36680d21","line":37,"in_reply_to":"baada198_3cb4eef0","updated":"2014-07-10 04:40:35.000000000","message":"ok. i think its ok.","commit_id":"b118b71c8ef5c8dc1b079b062a25e917eb223c1b"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"41d92293cadb71485dc775954d2730e248c4c0a9","unresolved":false,"context_lines":[{"line_number":34,"context_line":"            self.assertEqual(202, resp.status)"},{"line_number":35,"context_line":"        except exceptions.NotFound:"},{"line_number":36,"context_line":"            pass"},{"line_number":37,"context_line":"        else:"},{"line_number":38,"context_line":"            self.assertRaises(exceptions.NotFound, self.client.get_keypair,"},{"line_number":39,"context_line":"                              keypair_name)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_3cb4eef0","line":37,"in_reply_to":"baada198_8b28569b","updated":"2014-07-07 08:00:09.000000000","message":"if the \"try\" code did not raise an error, then it will go to else. Although I am deleting keypair in test but in case it will not get deleted then again addCleanup for a confirm deletion. IMO else part is correct, but let me know your views also . I will raise a common exception too after NotFound here.","commit_id":"b118b71c8ef5c8dc1b079b062a25e917eb223c1b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cb6371245eab592be112e8e278b8f52a52bc3b16","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        for kp in key_list:"},{"line_number":77,"context_line":"            self._delete_keypair(kp[\u0027name\u0027])"},{"line_number":78,"context_line":"        # Verifying deleted keypairs"},{"line_number":79,"context_line":"        resp, fetched_list \u003d self.client.list_keypairs()"},{"line_number":80,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":81,"context_line":"        deleted_kps \u003d [kp for kp in key_list if kp in fetched_list]"},{"line_number":82,"context_line":"        self.assertFalse(deleted_kps,"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_eb29d29b","line":79,"updated":"2014-07-07 05:37:04.000000000","message":"verification can be done by get call instead of list.","commit_id":"b118b71c8ef5c8dc1b079b062a25e917eb223c1b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"62e12a6588e1ef0f803244127621ab9c7c23c637","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        for kp in key_list:"},{"line_number":77,"context_line":"            self._delete_keypair(kp[\u0027name\u0027])"},{"line_number":78,"context_line":"        # Verifying deleted keypairs"},{"line_number":79,"context_line":"        resp, fetched_list \u003d self.client.list_keypairs()"},{"line_number":80,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":81,"context_line":"        deleted_kps \u003d [kp for kp in key_list if kp in fetched_list]"},{"line_number":82,"context_line":"        self.assertFalse(deleted_kps,"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_16db09ee","line":79,"in_reply_to":"baada198_21512936","updated":"2014-07-10 04:40:35.000000000","message":"I see. you are doing multiple delete, in that case it should be fine.","commit_id":"b118b71c8ef5c8dc1b079b062a25e917eb223c1b"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"41d92293cadb71485dc775954d2730e248c4c0a9","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        for kp in key_list:"},{"line_number":77,"context_line":"            self._delete_keypair(kp[\u0027name\u0027])"},{"line_number":78,"context_line":"        # Verifying deleted keypairs"},{"line_number":79,"context_line":"        resp, fetched_list \u003d self.client.list_keypairs()"},{"line_number":80,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":81,"context_line":"        deleted_kps \u003d [kp for kp in key_list if kp in fetched_list]"},{"line_number":82,"context_line":"        self.assertFalse(deleted_kps,"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_21512936","line":79,"in_reply_to":"baada198_eb29d29b","updated":"2014-07-07 08:00:09.000000000","message":"I am not denying what you said but what is wrong here ? Verification could bone like this also.","commit_id":"b118b71c8ef5c8dc1b079b062a25e917eb223c1b"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"e9881c8b7d6b805c16ae5108e3662da43a9e2e4b","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                         \"Failed to find keypairs %s in fetched list\""},{"line_number":72,"context_line":"                         % \u0027, \u0027.join(m_key[\u0027name\u0027] for m_key in missing_kps))"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        # Deleting cretated keypairs."},{"line_number":75,"context_line":"        for kp in key_list:"},{"line_number":76,"context_line":"            self._delete_keypair(kp[\u0027name\u0027])"},{"line_number":77,"context_line":"        # Verifying deleted keypairs"}],"source_content_type":"text/x-python","patch_set":16,"id":"baada198_9473e37e","line":74,"updated":"2014-07-15 14:51:13.000000000","message":"It\u0027s \"created\". Be sure to re-read yourself just before submitting a patch. It helps, and saves jenkins and humans precious time. \n\nA patch without typo sounds like quality.","commit_id":"b1b2d4b1d53345d0949224355c911e23da96bf25"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"44ed0b9780c0c1c6219d192ed378c4aeab31e78c","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                         \"Failed to find keypairs %s in fetched list\""},{"line_number":72,"context_line":"                         % \u0027, \u0027.join(m_key[\u0027name\u0027] for m_key in missing_kps))"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        # Deleting cretated keypairs."},{"line_number":75,"context_line":"        for kp in key_list:"},{"line_number":76,"context_line":"            self._delete_keypair(kp[\u0027name\u0027])"},{"line_number":77,"context_line":"        # Verifying deleted keypairs"}],"source_content_type":"text/x-python","patch_set":16,"id":"baada198_2a655244","line":74,"in_reply_to":"baada198_9473e37e","updated":"2014-07-15 16:07:11.000000000","message":"Thank you","commit_id":"b1b2d4b1d53345d0949224355c911e23da96bf25"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"e9881c8b7d6b805c16ae5108e3662da43a9e2e4b","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        # Deleting cretated keypairs."},{"line_number":75,"context_line":"        for kp in key_list:"},{"line_number":76,"context_line":"            self._delete_keypair(kp[\u0027name\u0027])"},{"line_number":77,"context_line":"        # Verifying deleted keypairs"},{"line_number":78,"context_line":"        resp, fetched_list \u003d self.client.list_keypairs()"},{"line_number":79,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":80,"context_line":"        deleted_kps \u003d [kp for kp in key_list if kp in fetched_list]"}],"source_content_type":"text/x-python","patch_set":16,"id":"baada198_74f48ff0","line":77,"updated":"2014-07-15 14:51:13.000000000","message":"You are already checking that the keypair has really been deleted on L37. Thus the remaining of the test is redundant.","commit_id":"b1b2d4b1d53345d0949224355c911e23da96bf25"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"44ed0b9780c0c1c6219d192ed378c4aeab31e78c","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        # Deleting cretated keypairs."},{"line_number":75,"context_line":"        for kp in key_list:"},{"line_number":76,"context_line":"            self._delete_keypair(kp[\u0027name\u0027])"},{"line_number":77,"context_line":"        # Verifying deleted keypairs"},{"line_number":78,"context_line":"        resp, fetched_list \u003d self.client.list_keypairs()"},{"line_number":79,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":80,"context_line":"        deleted_kps \u003d [kp for kp in key_list if kp in fetched_list]"}],"source_content_type":"text/x-python","patch_set":16,"id":"baada198_0a624e3d","line":77,"in_reply_to":"baada198_74f48ff0","updated":"2014-07-15 16:07:11.000000000","message":"Thank you","commit_id":"b1b2d4b1d53345d0949224355c911e23da96bf25"}],"tempest/api/identity/admin/test_services.py":[{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"0dcc8aa20e706b00506ee12ff7564665cd88bf7d","unresolved":false,"context_lines":[{"line_number":24,"context_line":"class ServicesTestJSON(base.BaseIdentityV2AdminTest):"},{"line_number":25,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"     def _del_service(self, service_id): "},{"line_number":28,"context_line":"        # Deleting the service created in this method"},{"line_number":29,"context_line":"        try:"},{"line_number":30,"context_line":"    "}],"source_content_type":"text/x-python","patch_set":1,"id":"9ad9bd40_17ab0c1e","line":27,"updated":"2014-05-02 05:59:47.000000000","message":"invalid trailing space.","commit_id":"7c71f61cf1ede8ecffc438a97fc4ae12c195b401"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"0dcc8aa20e706b00506ee12ff7564665cd88bf7d","unresolved":false,"context_lines":[{"line_number":27,"context_line":"     def _del_service(self, service_id): "},{"line_number":28,"context_line":"        # Deleting the service created in this method"},{"line_number":29,"context_line":"        try:"},{"line_number":30,"context_line":"    "},{"line_number":31,"context_line":"            resp, _ \u003d self.client.delete_service(service_id)"},{"line_number":32,"context_line":"            self.assertEqual(204, resp.status)"},{"line_number":33,"context_line":"            # Checking whether service is deleted successfully"}],"source_content_type":"text/x-python","patch_set":1,"id":"9ad9bd40_f7ab081c","line":30,"updated":"2014-05-02 05:59:47.000000000","message":"invalid Extra space..","commit_id":"7c71f61cf1ede8ecffc438a97fc4ae12c195b401"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"e4fc9a1455510f473b1aa32fe1c6e55ad0ab7817","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def _del_service(self, service_id):"},{"line_number":28,"context_line":"        # Deleting the service created in this method"},{"line_number":29,"context_line":"        try:"},{"line_number":30,"context_line":"            resp, _ \u003d self.client.delete_service(service_id)"},{"line_number":31,"context_line":"            self.assertEqual(204, resp.status)"},{"line_number":32,"context_line":"            # Checking whether service is deleted successfully"}],"source_content_type":"text/x-python","patch_set":7,"id":"7adec928_c29c50c3","line":29,"updated":"2014-05-14 12:02:43.000000000","message":"I would suggest to write something like this\n\n    try:\n        resp \u003d self.client.delete_service(service_id)[0]\n    except exceptions.NotFound:\n        pass\n    else:\n        self.assertEqual(204, resp.status)\n        # Checking whether service is deleted successfully\n        self.assertRaises(exceptions.NotFound, \n                          self.client.get_service, service_id)\n\nas you are wrapping the code (lines 31-34) that does not need to be wrapped in try/except block.","commit_id":"3683d60d160e53ff4b277157b175733616f05fbd"},{"author":{"_account_id":8085,"name":"anju Tiwari","email":"anjutiwari5@gmail.com","username":"Anju"},"change_message_id":"8831914b1e03e5e2deb8f3f84a590e89aa6ed175","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    def _del_service(self, service_id):"},{"line_number":28,"context_line":"        # Deleting the service created in this method"},{"line_number":29,"context_line":"        try:"},{"line_number":30,"context_line":"            resp, _ \u003d self.client.delete_service(service_id)"},{"line_number":31,"context_line":"            self.assertEqual(204, resp.status)"},{"line_number":32,"context_line":"            # Checking whether service is deleted successfully"}],"source_content_type":"text/x-python","patch_set":7,"id":"7adec928_31245ac4","line":29,"in_reply_to":"7adec928_c29c50c3","updated":"2014-05-15 05:15:16.000000000","message":"ditto","commit_id":"3683d60d160e53ff4b277157b175733616f05fbd"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cb6371245eab592be112e8e278b8f52a52bc3b16","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        # Deleting the service created in this method"},{"line_number":29,"context_line":"        try:"},{"line_number":30,"context_line":"            resp, _ \u003d self.client.delete_service(service_id)"},{"line_number":31,"context_line":"            self.assertEqual(204, resp.status)"},{"line_number":32,"context_line":"        except exceptions.NotFound:"},{"line_number":33,"context_line":"            pass"},{"line_number":34,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_c63323f4","line":31,"updated":"2014-07-07 05:37:04.000000000","message":"ditto","commit_id":"b118b71c8ef5c8dc1b079b062a25e917eb223c1b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cb6371245eab592be112e8e278b8f52a52bc3b16","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        except exceptions.NotFound:"},{"line_number":33,"context_line":"            pass"},{"line_number":34,"context_line":"        else:"},{"line_number":35,"context_line":"            # Checking whether service is deleted successfully"},{"line_number":36,"context_line":"            self.assertRaises(exceptions.NotFound, self.client.get_service,"},{"line_number":37,"context_line":"                              service_id)"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_6b15c247","line":35,"updated":"2014-07-07 05:37:04.000000000","message":"ditto","commit_id":"b118b71c8ef5c8dc1b079b062a25e917eb223c1b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cb6371245eab592be112e8e278b8f52a52bc3b16","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        resp, _ \u003d self.client.delete_service(service_data[\u0027id\u0027])"},{"line_number":74,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":75,"context_line":"        # Verify service is not in list"},{"line_number":76,"context_line":"        resp, list_service \u003d self.client.list_services()"},{"line_number":77,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":78,"context_line":"        self.assertNotIn(service_data[\u0027id\u0027], [i[\u0027id\u0027] for i in list_service])"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_8b0f7636","line":76,"updated":"2014-07-07 05:37:04.000000000","message":"ditto","commit_id":"b118b71c8ef5c8dc1b079b062a25e917eb223c1b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"5fe20e951b001e274fa7544c3e55318e5f9b7eb9","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        try:"},{"line_number":30,"context_line":"            resp, _ \u003d self.client.delete_service(service_id)"},{"line_number":31,"context_line":"        except exceptions.NotFound:"},{"line_number":32,"context_line":"            pass"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"},{"line_number":35,"context_line":"    def test_create_get_delete_service(self):"}],"source_content_type":"text/x-python","patch_set":17,"id":"baada198_6c71d80b","line":32,"updated":"2014-07-17 08:32:58.000000000","message":"keep delete verification here so that i can be called directly from L66","commit_id":"5bcf232f5e9640daa9483240ef8fcffea42d01e6"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"5fe20e951b001e274fa7544c3e55318e5f9b7eb9","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        self.assertEqual(fetched_service[\u0027description\u0027],"},{"line_number":64,"context_line":"                         service_data[\u0027description\u0027])"},{"line_number":65,"context_line":"        # Delete service"},{"line_number":66,"context_line":"        resp, _ \u003d self.client.delete_service(service_data[\u0027id\u0027])"},{"line_number":67,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":68,"context_line":"        # Verify service is not in list"},{"line_number":69,"context_line":"        resp, list_service \u003d self.client.list_services()"}],"source_content_type":"text/x-python","patch_set":17,"id":"baada198_ac14d09f","line":66,"updated":"2014-07-17 08:32:58.000000000","message":"i would prefer to call _del_service() here and remove all other code from here as verification code can be added in _del_service() with just get call","commit_id":"5bcf232f5e9640daa9483240ef8fcffea42d01e6"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"5fe20e951b001e274fa7544c3e55318e5f9b7eb9","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                         service_data[\u0027description\u0027])"},{"line_number":65,"context_line":"        # Delete service"},{"line_number":66,"context_line":"        resp, _ \u003d self.client.delete_service(service_data[\u0027id\u0027])"},{"line_number":67,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":68,"context_line":"        # Verify service is not in list"},{"line_number":69,"context_line":"        resp, list_service \u003d self.client.list_services()"},{"line_number":70,"context_line":"        self.assertEqual(200, resp.status)"}],"source_content_type":"text/x-python","patch_set":17,"id":"baada198_cc34a44c","line":67,"updated":"2014-07-17 08:32:58.000000000","message":"response code check needs to be removed from here. - https://review.openstack.org/#/c/104290/","commit_id":"5bcf232f5e9640daa9483240ef8fcffea42d01e6"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"5fe20e951b001e274fa7544c3e55318e5f9b7eb9","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        self.assertEqual(204, resp.status)"},{"line_number":68,"context_line":"        # Verify service is not in list"},{"line_number":69,"context_line":"        resp, list_service \u003d self.client.list_services()"},{"line_number":70,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":71,"context_line":"        self.assertNotIn(service_data[\u0027id\u0027], [i[\u0027id\u0027] for i in list_service])"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"baada198_ec37a84b","line":70,"updated":"2014-07-17 08:32:58.000000000","message":"ditto","commit_id":"5bcf232f5e9640daa9483240ef8fcffea42d01e6"}]}
