)]}'
{"tempest/api/compute/keypairs/test_keypairs.py":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"1bdbcb3df24b39f3db7e185c205a6a7ca75145eb","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        super(KeyPairsV3Test, cls).setUpClass()"},{"line_number":28,"context_line":"        cls.client \u003d cls.keypairs_client"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def _delete_keypair(self, keypair_name):"},{"line_number":31,"context_line":"        self.client.delete_keypair(keypair_name)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def _create_keypair(self, keypair_name, pub_key\u003dNone):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa98f980_3903f077","line":30,"updated":"2014-09-07 11:15:18.000000000","message":"no need for a oneline method. just call the actual method","commit_id":"befc9b01310946f7f315762b6a5865668fb26492"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"9a7e01eb5a26f4c82216e4888a00c5596cb8683d","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        super(KeyPairsV3Test, cls).setUpClass()"},{"line_number":28,"context_line":"        cls.client \u003d cls.keypairs_client"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def _delete_keypair(self, keypair_name):"},{"line_number":31,"context_line":"        self.client.delete_keypair(keypair_name)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def _create_keypair(self, keypair_name, pub_key\u003dNone):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa98f980_1e19aa79","line":30,"in_reply_to":"fa98f980_3903f077","updated":"2014-09-07 23:58:31.000000000","message":"This can be done but this is out of scope of this patch.\n\nWe should not put clean up changes mixed with other changes.","commit_id":"befc9b01310946f7f315762b6a5865668fb26492"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"1bdbcb3df24b39f3db7e185c205a6a7ca75145eb","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def _create_keypair(self, keypair_name, pub_key\u003dNone):"},{"line_number":34,"context_line":"        _, body \u003d self.client.create_keypair(keypair_name, pub_key)"},{"line_number":35,"context_line":"        self.addCleanup(self._delete_keypair, keypair_name)"},{"line_number":36,"context_line":"        return _, body"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":39,"context_line":"    def test_keypairs_create_list_delete(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa98f980_5908b491","line":36,"updated":"2014-09-07 11:15:18.000000000","message":"if you are returning an object, please don\u0027t name it \"_\".\n\"_\" is only for arguments which you will never use. if it\u0027s not important - don\u0027t return it.","commit_id":"befc9b01310946f7f315762b6a5865668fb26492"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"9a7e01eb5a26f4c82216e4888a00c5596cb8683d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def _create_keypair(self, keypair_name, pub_key\u003dNone):"},{"line_number":34,"context_line":"        _, body \u003d self.client.create_keypair(keypair_name, pub_key)"},{"line_number":35,"context_line":"        self.addCleanup(self._delete_keypair, keypair_name)"},{"line_number":36,"context_line":"        return _, body"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":39,"context_line":"    def test_keypairs_create_list_delete(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa98f980_3e4cae76","line":36,"in_reply_to":"fa98f980_5908b491","updated":"2014-09-07 23:58:31.000000000","message":"Agree.","commit_id":"befc9b01310946f7f315762b6a5865668fb26492"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"1bdbcb3df24b39f3db7e185c205a6a7ca75145eb","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        # Keypair should be created, Got details by name and deleted"},{"line_number":82,"context_line":"        k_name \u003d data_utils.rand_name(\u0027keypair-\u0027)"},{"line_number":83,"context_line":"        _, keypair \u003d self._create_keypair(k_name)"},{"line_number":84,"context_line":"        _, keypair_detail \u003d self.client.get_keypair(k_name)"},{"line_number":85,"context_line":"        self.assertIn(\u0027name\u0027, keypair_detail)"},{"line_number":86,"context_line":"        self.assertIn(\u0027public_key\u0027, keypair_detail)"},{"line_number":87,"context_line":"        self.assertEqual(keypair_detail[\u0027name\u0027], k_name,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa98f980_d9f3c49d","line":84,"updated":"2014-09-07 11:15:18.000000000","message":"I\u0027m a little confused. Is \"keypair\" really different from \"keypair_details\"?\n\nIf so, please add a comment that explains how.\n\nCommon assumption is that the object returned from create is the same as the object returned from get/show. Since this tests the get method, you should compare them (keypair vs keypair_details) otherwise there\u0027s no reason to get both or even keep both.","commit_id":"befc9b01310946f7f315762b6a5865668fb26492"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"9a7e01eb5a26f4c82216e4888a00c5596cb8683d","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        # Keypair should be created, Got details by name and deleted"},{"line_number":82,"context_line":"        k_name \u003d data_utils.rand_name(\u0027keypair-\u0027)"},{"line_number":83,"context_line":"        _, keypair \u003d self._create_keypair(k_name)"},{"line_number":84,"context_line":"        _, keypair_detail \u003d self.client.get_keypair(k_name)"},{"line_number":85,"context_line":"        self.assertIn(\u0027name\u0027, keypair_detail)"},{"line_number":86,"context_line":"        self.assertIn(\u0027public_key\u0027, keypair_detail)"},{"line_number":87,"context_line":"        self.assertEqual(keypair_detail[\u0027name\u0027], k_name,"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa98f980_9e24bab0","line":84,"in_reply_to":"fa98f980_d9f3c49d","updated":"2014-09-07 23:58:31.000000000","message":"Ditto. out of scope of this patch.","commit_id":"befc9b01310946f7f315762b6a5865668fb26492"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"b2e77c81ff36751d0673a7cd9e6e9e820a29c18e","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        super(KeyPairsV3Test, cls).setUpClass()"},{"line_number":28,"context_line":"        cls.client \u003d cls.keypairs_client"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    # TODO(coolsvap) cleanup un-necessary wrappers"},{"line_number":31,"context_line":"    def _delete_keypair(self, keypair_name):"},{"line_number":32,"context_line":"        self.client.delete_keypair(keypair_name)"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa98f980_2888c2e6","line":30,"updated":"2014-09-09 08:21:15.000000000","message":"great. tnx","commit_id":"64c3839ee6e0ffb96802ae3abdfb74194e46bb8f"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8ba5655f7368f0230fbc48f4cfbc7b519200b5a7","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        # Keypair should be created, Got details by name and deleted"},{"line_number":83,"context_line":"        k_name \u003d data_utils.rand_name(\u0027keypair-\u0027)"},{"line_number":84,"context_line":"        keypair \u003d self._create_keypair(k_name)"},{"line_number":85,"context_line":"        _, keypair_detail \u003d self.client.get_keypair(keypair[\u0027name\u0027])"},{"line_number":86,"context_line":"        self.assertIn(\u0027name\u0027, keypair_detail)"},{"line_number":87,"context_line":"        self.assertIn(\u0027public_key\u0027, keypair_detail)"},{"line_number":88,"context_line":"        self.assertEqual(keypair_detail[\u0027name\u0027], k_name,"}],"source_content_type":"text/x-python","patch_set":7,"id":"baa201ad_15c05929","line":85,"updated":"2014-10-02 06:35:31.000000000","message":"unrelated keypair[\u0027name\u0027] changed?","commit_id":"5973bffd5fecc16469a328f2c16758034c52c372"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"e375a0e38e8335bdb2d740d26bc77aa45ff5571d","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        # Keypair should be created, Got details by name and deleted"},{"line_number":83,"context_line":"        k_name \u003d data_utils.rand_name(\u0027keypair-\u0027)"},{"line_number":84,"context_line":"        keypair \u003d self._create_keypair(k_name)"},{"line_number":85,"context_line":"        _, keypair_detail \u003d self.client.get_keypair(keypair[\u0027name\u0027])"},{"line_number":86,"context_line":"        self.assertIn(\u0027name\u0027, keypair_detail)"},{"line_number":87,"context_line":"        self.assertIn(\u0027public_key\u0027, keypair_detail)"},{"line_number":88,"context_line":"        self.assertEqual(keypair_detail[\u0027name\u0027], k_name,"}],"source_content_type":"text/x-python","patch_set":7,"id":"baa201ad_aa5c601a","line":85,"in_reply_to":"baa201ad_15c05929","updated":"2014-10-15 02:55:45.000000000","message":"yea I agree this actually changes the test (incorrectly). Although we probably could do with an assert after the create:\n\nself.assertEqual(k_name, keypair[\u0027name\u0027])","commit_id":"5973bffd5fecc16469a328f2c16758034c52c372"}],"tempest/api/compute/servers/test_servers.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ad6a544243a1fb87be5f62ad702799d78c8821bf","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        # Specify a keypair while creating a server"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        key_name \u003d data_utils.rand_name(\u0027key\u0027)"},{"line_number":65,"context_line":"        _, keypair \u003d self.keypairs_client.create_keypair(key_name)"},{"line_number":66,"context_line":"        resp, body \u003d self.keypairs_client.list_keypairs()"},{"line_number":67,"context_line":"        resp, server \u003d self.create_test_server(key_name\u003dkey_name)"},{"line_number":68,"context_line":"        self.assertEqual(\u0027202\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_15019904","line":65,"updated":"2014-09-16 08:06:50.000000000","message":"The return value \"keypair\" is not used in this test, so how about changing here to\n\n self.keypairs_client.create_keypair(key_name)\n\nfor more simple code?","commit_id":"bbe83079c2716c80c576eeae652be233fcc15660"}],"tempest/api/compute/test_authorization.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ad6a544243a1fb87be5f62ad702799d78c8821bf","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        cls.keypairname \u003d data_utils.rand_name(\u0027keypair\u0027)"},{"line_number":75,"context_line":"        _, keypair \u003d \\"},{"line_number":76,"context_line":"            cls.keypairs_client.create_keypair(cls.keypairname)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        name \u003d data_utils.rand_name(\u0027security\u0027)"},{"line_number":79,"context_line":"        description \u003d data_utils.rand_name(\u0027description\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_750ae520","line":76,"updated":"2014-09-16 08:06:50.000000000","message":"ditto","commit_id":"bbe83079c2716c80c576eeae652be233fcc15660"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"28dc8a05979616b85fa739b79c1b17aae8b7e64a","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        cls.keypairname \u003d data_utils.rand_name(\u0027keypair\u0027)"},{"line_number":75,"context_line":"        _, keypair \u003d \\"},{"line_number":76,"context_line":"            cls.keypairs_client.create_keypair(cls.keypairname)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        name \u003d data_utils.rand_name(\u0027security\u0027)"},{"line_number":79,"context_line":"        description \u003d data_utils.rand_name(\u0027description\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa98f980_f51895ce","line":76,"updated":"2014-09-16 08:35:01.000000000","message":"Did you miss here?\nWe can change here also to\n\n cls.keypairs_client.create_keypair(cls.keypairname)","commit_id":"d3ac35fd35f9d22269e4cd8405a156e4a39bcf39"}],"tempest/api/compute/v3/servers/test_servers.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ad6a544243a1fb87be5f62ad702799d78c8821bf","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        # Specify a keypair while creating a server"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        key_name \u003d data_utils.rand_name(\u0027key\u0027)"},{"line_number":65,"context_line":"        _, keypair \u003d self.keypairs_client.create_keypair(key_name)"},{"line_number":66,"context_line":"        resp, body \u003d self.keypairs_client.list_keypairs()"},{"line_number":67,"context_line":"        resp, server \u003d self.create_test_server(key_name\u003dkey_name)"},{"line_number":68,"context_line":"        self.assertEqual(\u0027202\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa98f980_f515f53c","line":65,"updated":"2014-09-16 08:06:50.000000000","message":"ditto","commit_id":"bbe83079c2716c80c576eeae652be233fcc15660"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"28dc8a05979616b85fa739b79c1b17aae8b7e64a","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        # Specify a keypair while creating a server"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        key_name \u003d data_utils.rand_name(\u0027key\u0027)"},{"line_number":65,"context_line":"        _, keypair \u003d self.keypairs_client.create_keypair(key_name)"},{"line_number":66,"context_line":"        resp, body \u003d self.keypairs_client.list_keypairs()"},{"line_number":67,"context_line":"        resp, server \u003d self.create_test_server(key_name\u003dkey_name)"},{"line_number":68,"context_line":"        self.assertEqual(\u0027202\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa98f980_558161c1","line":65,"updated":"2014-09-16 08:35:01.000000000","message":"ditto: We can change here also to\n\n self.keypairs_client.create_keypair(key_name)","commit_id":"d3ac35fd35f9d22269e4cd8405a156e4a39bcf39"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"6d086b3f6535477b927f4b2992da0300cf0b5e00","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        # Specify a keypair while creating a server"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        key_name \u003d data_utils.rand_name(\u0027key\u0027)"},{"line_number":65,"context_line":"        _, keypair \u003d self.keypairs_client.create_keypair(key_name)"},{"line_number":66,"context_line":"        resp, body \u003d self.keypairs_client.list_keypairs()"},{"line_number":67,"context_line":"        resp, server \u003d self.create_test_server(key_name\u003dkey_name)"},{"line_number":68,"context_line":"        self.assertEqual(\u0027202\u0027, resp[\u0027status\u0027])"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa98f980_90e837e3","line":65,"updated":"2014-09-16 09:06:18.000000000","message":"the same here.","commit_id":"128f76509f3dbac89e06c34140a2df521d7468ee"}],"tempest/scenario/manager.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8ba5655f7368f0230fbc48f4cfbc7b519200b5a7","unresolved":false,"context_lines":[{"line_number":198,"context_line":"            client \u003d self.keypairs_client"},{"line_number":199,"context_line":"        name \u003d data_utils.rand_name(self.__class__.__name__)"},{"line_number":200,"context_line":"        # We don\u0027t need to create a keypair by pubkey in scenario"},{"line_number":201,"context_line":"        _, body \u003d self.keypairs_client.create_keypair(name)"},{"line_number":202,"context_line":"        self.addCleanup(self.keypairs_client.delete_keypair, name)"},{"line_number":203,"context_line":"        return body"},{"line_number":204,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"baa201ad_f5c4b541","line":201,"updated":"2014-10-02 06:35:31.000000000","message":"Why  self.keypairs_client changes?","commit_id":"5973bffd5fecc16469a328f2c16758034c52c372"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"0f21956611d871f560d883ff01ae574567a0bad1","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            client \u003d self.keypairs_client"},{"line_number":170,"context_line":"        name \u003d data_utils.rand_name(self.__class__.__name__)"},{"line_number":171,"context_line":"        # We don\u0027t need to create a keypair by pubkey in scenario"},{"line_number":172,"context_line":"        _, body \u003d self.keypairs_client.create_keypair(name)"},{"line_number":173,"context_line":"        self.addCleanup(self.keypairs_client.delete_keypair, name)"},{"line_number":174,"context_line":"        return body"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_61d05854","line":172,"updated":"2014-10-20 06:50:12.000000000","message":"self.keypairs_client is loaded to \"client\". this allows different tenants to use their own keypair_client","commit_id":"1f8ee362ed39303c88049da1e4dded99ec2a035b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"316c47e96fcdb9941c58d9ad0953b9ac8cbeee89","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            client \u003d self.keypairs_client"},{"line_number":170,"context_line":"        name \u003d data_utils.rand_name(self.__class__.__name__)"},{"line_number":171,"context_line":"        # We don\u0027t need to create a keypair by pubkey in scenario"},{"line_number":172,"context_line":"        _, body \u003d self.keypairs_client.create_keypair(name)"},{"line_number":173,"context_line":"        self.addCleanup(self.keypairs_client.delete_keypair, name)"},{"line_number":174,"context_line":"        return body"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_41d8b41d","line":172,"in_reply_to":"9aa7fdbe_61d05854","updated":"2014-10-20 07:09:28.000000000","message":"Agree. Same question i put in patch 7.","commit_id":"1f8ee362ed39303c88049da1e4dded99ec2a035b"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"0f21956611d871f560d883ff01ae574567a0bad1","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        name \u003d data_utils.rand_name(self.__class__.__name__)"},{"line_number":171,"context_line":"        # We don\u0027t need to create a keypair by pubkey in scenario"},{"line_number":172,"context_line":"        _, body \u003d self.keypairs_client.create_keypair(name)"},{"line_number":173,"context_line":"        self.addCleanup(self.keypairs_client.delete_keypair, name)"},{"line_number":174,"context_line":"        return body"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    def create_server(self, name\u003dNone, image\u003dNone, flavor\u003dNone,"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_a1ca409f","line":173,"updated":"2014-10-20 06:50:12.000000000","message":"same here","commit_id":"1f8ee362ed39303c88049da1e4dded99ec2a035b"}],"tempest/services/compute/json/keypairs_client.py":[{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"dc84dd143aabff4a01c6606f8c6b1bd1fbe2de2f","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        # For now we shall adhere to the spec, but the spec for keypairs"},{"line_number":39,"context_line":"        # is yet to be found"},{"line_number":40,"context_line":"        self.validate_response(common_schema.list_keypairs, resp, body)"},{"line_number":41,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":42,"context_line":"        return resp, body[\u0027keypairs\u0027]"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def get_keypair(self, key_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1abeadc6_55e13fcf","line":41,"updated":"2014-08-25 08:16:48.000000000","message":"I don\u0027t think you need this because validate_response has already checked the status","commit_id":"cd7ec90f2f4cca415e36340bf05d7f8cbdf887c4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cf1acece3f5e76fef6e4323e86d1752efb630312","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        # For now we shall adhere to the spec, but the spec for keypairs"},{"line_number":39,"context_line":"        # is yet to be found"},{"line_number":40,"context_line":"        self.validate_response(common_schema.list_keypairs, resp, body)"},{"line_number":41,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":42,"context_line":"        return resp, body[\u0027keypairs\u0027]"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def get_keypair(self, key_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa98f980_5c3905d6","line":41,"in_reply_to":"1abeadc6_55e13fcf","updated":"2014-09-03 03:50:36.000000000","message":"Yes, Agree with Chris. This is not needed where we have schema validation present.","commit_id":"cd7ec90f2f4cca415e36340bf05d7f8cbdf887c4"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"dc84dd143aabff4a01c6606f8c6b1bd1fbe2de2f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        resp, body \u003d self.get(\"os-keypairs/%s\" % str(key_name))"},{"line_number":46,"context_line":"        body \u003d json.loads(body)"},{"line_number":47,"context_line":"        self.validate_response(schema.get_keypair, resp, body)"},{"line_number":48,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":49,"context_line":"        return resp, body[\u0027keypair\u0027]"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def create_keypair(self, name, pub_key\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1abeadc6_f5d96b23","line":48,"updated":"2014-08-25 08:16:48.000000000","message":"ditto","commit_id":"cd7ec90f2f4cca415e36340bf05d7f8cbdf887c4"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"dc84dd143aabff4a01c6606f8c6b1bd1fbe2de2f","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        resp, body \u003d self.post(\"os-keypairs\", body\u003dpost_body)"},{"line_number":57,"context_line":"        body \u003d json.loads(body)"},{"line_number":58,"context_line":"        self.validate_response(schema.create_keypair, resp, body)"},{"line_number":59,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":60,"context_line":"        return resp, body[\u0027keypair\u0027]"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def delete_keypair(self, key_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1abeadc6_9502f76d","line":59,"updated":"2014-08-25 08:16:48.000000000","message":"ditto","commit_id":"cd7ec90f2f4cca415e36340bf05d7f8cbdf887c4"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"dc84dd143aabff4a01c6606f8c6b1bd1fbe2de2f","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    def delete_keypair(self, key_name):"},{"line_number":63,"context_line":"        resp, body \u003d self.delete(\"os-keypairs/%s\" % str(key_name))"},{"line_number":64,"context_line":"        self.validate_response(schema.delete_keypair, resp, body)"},{"line_number":65,"context_line":"        self.expected_success(202, resp.status)"},{"line_number":66,"context_line":"        return resp, body"}],"source_content_type":"text/x-python","patch_set":1,"id":"1abeadc6_d5f38f9d","line":65,"updated":"2014-08-25 08:16:48.000000000","message":"ditto","commit_id":"cd7ec90f2f4cca415e36340bf05d7f8cbdf887c4"}],"tempest/services/compute/v3/json/keypairs_client.py":[{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"dc84dd143aabff4a01c6606f8c6b1bd1fbe2de2f","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        # For now we shall adhere to the spec, but the spec for keypairs"},{"line_number":39,"context_line":"        # is yet to be found"},{"line_number":40,"context_line":"        self.validate_response(common_schema.list_keypairs, resp, body)"},{"line_number":41,"context_line":"        self.expected_success(200, resp.status)"},{"line_number":42,"context_line":"        return resp, body[\u0027keypairs\u0027]"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def get_keypair(self, key_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1abeadc6_f5f08b93","line":41,"updated":"2014-08-25 08:16:48.000000000","message":"I don\u0027t think you need this because validate_response has already checked the status (ditto for changes below)","commit_id":"cd7ec90f2f4cca415e36340bf05d7f8cbdf887c4"}]}
