)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"6f08364916802974e60c2d0bd981f562be45d21a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[compute] Add unit test for keypair"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"keypair do not have functional test, this patch adds it."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Id702ccaad239b916340bb17014d1ede0a28aaec9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7af24918_5d0b222a","line":9,"updated":"2016-03-03 16:22:55.000000000","message":"only unit tests were added","commit_id":"158da3714c136ab9c774773b64a0d9216931e6a3"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"fc5d2ddce40285eb0bca7524a7e88e51e0b72c18","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[compute] Add unit test for keypair"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"keypair do not have functional test, this patch adds it."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Id702ccaad239b916340bb17014d1ede0a28aaec9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7af24918_3800af33","line":9,"in_reply_to":"7af24918_5d0b222a","updated":"2016-03-04 13:18:45.000000000","message":"Done","commit_id":"158da3714c136ab9c774773b64a0d9216931e6a3"}],"openstackclient/tests/compute/v2/fakes.py":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"6f08364916802974e60c2d0bd981f562be45d21a","unresolved":false,"context_lines":[{"line_number":643,"context_line":"        :return:"},{"line_number":644,"context_line":"            A list of FakeFlavorResource objects faking the flavors"},{"line_number":645,"context_line":"        \"\"\""},{"line_number":646,"context_line":"        if attrs is None:"},{"line_number":647,"context_line":"            attrs \u003d {}"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        keypairs \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_e347f6b9","line":646,"updated":"2016-03-03 16:22:55.000000000","message":"This isn\u0027t necessary.","commit_id":"158da3714c136ab9c774773b64a0d9216931e6a3"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"fc5d2ddce40285eb0bca7524a7e88e51e0b72c18","unresolved":false,"context_lines":[{"line_number":643,"context_line":"        :return:"},{"line_number":644,"context_line":"            A list of FakeFlavorResource objects faking the flavors"},{"line_number":645,"context_line":"        \"\"\""},{"line_number":646,"context_line":"        if attrs is None:"},{"line_number":647,"context_line":"            attrs \u003d {}"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        keypairs \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_f6c93927","line":646,"in_reply_to":"7af24918_e347f6b9","updated":"2016-03-04 13:18:45.000000000","message":"right,thanks~","commit_id":"158da3714c136ab9c774773b64a0d9216931e6a3"}],"openstackclient/tests/compute/v2/test_keypair.py":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"6f08364916802974e60c2d0bd981f562be45d21a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#   Copyright 2015 Symantec Corporation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#   Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#   not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_c3491ab9","line":1,"updated":"2016-03-03 16:22:55.000000000","message":"This should be 2016.","commit_id":"158da3714c136ab9c774773b64a0d9216931e6a3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"6f08364916802974e60c2d0bd981f562be45d21a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"class TestKeypairCreate(TestKeypair):"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    keypair \u003d compute_fakes.FakeKeypair.create_one_keypair()"},{"line_number":36,"context_line":"    columns \u003d ("},{"line_number":37,"context_line":"        \u0027fingerprint\u0027,"},{"line_number":38,"context_line":"        \u0027name\u0027,"},{"line_number":39,"context_line":"        \u0027private_key\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_40333562","line":36,"updated":"2016-03-03 16:22:55.000000000","message":"This doesn\u0027t match what is actually shown when running the command.","commit_id":"158da3714c136ab9c774773b64a0d9216931e6a3"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"fc5d2ddce40285eb0bca7524a7e88e51e0b72c18","unresolved":false,"context_lines":[{"line_number":33,"context_line":"class TestKeypairCreate(TestKeypair):"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    keypair \u003d compute_fakes.FakeKeypair.create_one_keypair()"},{"line_number":36,"context_line":"    columns \u003d ("},{"line_number":37,"context_line":"        \u0027fingerprint\u0027,"},{"line_number":38,"context_line":"        \u0027name\u0027,"},{"line_number":39,"context_line":"        \u0027private_key\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_587f7b14","line":36,"in_reply_to":"7af24918_40333562","updated":"2016-03-04 13:18:45.000000000","message":"Done","commit_id":"158da3714c136ab9c774773b64a0d9216931e6a3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"6f08364916802974e60c2d0bd981f562be45d21a","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    def test_keypair_create_public_key(self):"},{"line_number":75,"context_line":"        arglist \u003d ["},{"line_number":76,"context_line":"            self.keypair.name,"},{"line_number":77,"context_line":"            \u0027--public-key\u0027, self.keypair.public_key"},{"line_number":78,"context_line":"        ]"},{"line_number":79,"context_line":"        verifylist \u003d ["},{"line_number":80,"context_line":"            (\u0027name\u0027, self.keypair.name),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_c0abc573","line":77,"updated":"2016-03-03 16:22:55.000000000","message":"This arg should be before the name.","commit_id":"158da3714c136ab9c774773b64a0d9216931e6a3"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"fc5d2ddce40285eb0bca7524a7e88e51e0b72c18","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    def test_keypair_create_public_key(self):"},{"line_number":75,"context_line":"        arglist \u003d ["},{"line_number":76,"context_line":"            self.keypair.name,"},{"line_number":77,"context_line":"            \u0027--public-key\u0027, self.keypair.public_key"},{"line_number":78,"context_line":"        ]"},{"line_number":79,"context_line":"        verifylist \u003d ["},{"line_number":80,"context_line":"            (\u0027name\u0027, self.keypair.name),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_366c4107","line":77,"in_reply_to":"7af24918_c0abc573","updated":"2016-03-04 13:18:45.000000000","message":"Done","commit_id":"158da3714c136ab9c774773b64a0d9216931e6a3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"6f08364916802974e60c2d0bd981f562be45d21a","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        parsed_args \u003d self.check_parser(self.cmd, arglist, verifylist)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        self.cmd.take_action(parsed_args)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        self.keypairs_mock.delete.assert_called_with(self.keypair.name)"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_a3796eca","line":124,"updated":"2016-03-03 16:22:55.000000000","message":"You could verify that the return data is None.","commit_id":"158da3714c136ab9c774773b64a0d9216931e6a3"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"fc5d2ddce40285eb0bca7524a7e88e51e0b72c18","unresolved":false,"context_lines":[{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        parsed_args \u003d self.check_parser(self.cmd, arglist, verifylist)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        self.cmd.take_action(parsed_args)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        self.keypairs_mock.delete.assert_called_with(self.keypair.name)"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_98758333","line":124,"in_reply_to":"7af24918_a3796eca","updated":"2016-03-04 13:18:45.000000000","message":"Done","commit_id":"158da3714c136ab9c774773b64a0d9216931e6a3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"6f08364916802974e60c2d0bd981f562be45d21a","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        self.cmd \u003d keypair.ShowKeypair(self.app, None)"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        self.columns \u003d ("},{"line_number":187,"context_line":"            \"fingerprint\","},{"line_number":188,"context_line":"            \"name\","},{"line_number":189,"context_line":"            \"private_key\""}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_e0a7e1ba","line":186,"updated":"2016-03-03 16:22:55.000000000","message":"This doesn\u0027t match what is actually shown when running the command.","commit_id":"158da3714c136ab9c774773b64a0d9216931e6a3"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"fc5d2ddce40285eb0bca7524a7e88e51e0b72c18","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"        self.cmd \u003d keypair.ShowKeypair(self.app, None)"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        self.columns \u003d ("},{"line_number":187,"context_line":"            \"fingerprint\","},{"line_number":188,"context_line":"            \"name\","},{"line_number":189,"context_line":"            \"private_key\""}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_d8f0ab69","line":186,"in_reply_to":"7af24918_e0a7e1ba","updated":"2016-03-04 13:18:45.000000000","message":"Done","commit_id":"158da3714c136ab9c774773b64a0d9216931e6a3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"6f08364916802974e60c2d0bd981f562be45d21a","unresolved":false,"context_lines":[{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        columns, data \u003d self.cmd.take_action(parsed_args)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        self.assertEqual({}, columns)"},{"line_number":236,"context_line":"        self.assertEqual({}, data)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_80e9bde8","line":235,"updated":"2016-03-03 16:22:55.000000000","message":"In this case, the public key should be shown.","commit_id":"158da3714c136ab9c774773b64a0d9216931e6a3"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"fc5d2ddce40285eb0bca7524a7e88e51e0b72c18","unresolved":false,"context_lines":[{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        columns, data \u003d self.cmd.take_action(parsed_args)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        self.assertEqual({}, columns)"},{"line_number":236,"context_line":"        self.assertEqual({}, data)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_56ae2d2e","line":235,"in_reply_to":"7af24918_80e9bde8","updated":"2016-03-04 13:18:45.000000000","message":"seems we don\u0027t need verify because {} {} returned? \n\nand it\u0027s fixtured ,no place verified it in the whole test tree?","commit_id":"158da3714c136ab9c774773b64a0d9216931e6a3"}]}
