)]}'
{"doc/api_samples/os-keypairs/keypairs-get-resp.json":[{"author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"change_message_id":"d479856dc2be5527c5f5c87dca974aaa6d30dc7b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"            \"keypair\": {"},{"line_number":5,"context_line":"                \"fingerprint\": \"bd:e7:6a:46:3f:ac:b0:ca:75:ae:2f:e7:68:88:dc:7c\","},{"line_number":6,"context_line":"                \"name\": \"keypair-483494ca-fe90-47d0-93eb-44061a89fb12\","},{"line_number":7,"context_line":"                \"public_key\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCid1ZN7goM73bYzKrtjBsdO+jV4M9gxER8iTitz77bQ5BySOLeiH8bGVXkn4tjIwOfstExKMIN1nWeqX9RpZwL7hKIIaz3spCbwVM474bvFQ9z5MCl9uKQXxsjDcM+DEl1nAIpeYdUrJAaMhO8l+0q5Hv9Pc5R6sT/yPICJMRrvw\u003d\u003d maurosr@parrish\\n\""},{"line_number":8,"context_line":"            }"},{"line_number":9,"context_line":"        }"},{"line_number":10,"context_line":"    ]"}],"source_content_type":"application/json","patch_set":7,"id":"AAAALH%2F%2FZ9Y%3D","line":7,"updated":"2012-09-13 13:29:28.000000000","message":"Still showing your username?","commit_id":"3a2b907dbdf0dfeb9d31dcf2bbb6a0caa0e67c94"}],"doc/api_samples/os-keypairs/keypairs-post-resp.xml":[{"author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"change_message_id":"3e45409e75c07c7838c0896874c34454a1e08c5c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003c?xml version\u003d\u00271.0\u0027 encoding\u003d\u0027UTF-8\u0027?\u003e"},{"line_number":2,"context_line":"\u003ckeypair\u003e"},{"line_number":3,"context_line":"  \u003cpublic_key\u003essh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDNpgIJ3aAdAWBkCqf5DafQaDM3p1iIm3g8eEOqlVMnFUBVP2bFki605Rk85AWeKEvqQf+syVeACZLw0h3rXPBBWLDioyvL/YJLxfolA7mo9j+/ySyMOu0C1eFj7YFY1OuJsqcuprGuTEgfxf9APajAYBwciwPKWAcUbLjUjjPaaQ\u003d\u003d maurosr@parrish"},{"line_number":4,"context_line":"\u003c/public_key\u003e"},{"line_number":5,"context_line":"  \u003cprivate_key\u003e-----BEGIN RSA PRIVATE KEY-----"},{"line_number":6,"context_line":"MIICXAIBAAKBgQDNpgIJ3aAdAWBkCqf5DafQaDM3p1iIm3g8eEOqlVMnFUBVP2bF"}],"source_content_type":"application/xml","patch_set":6,"id":"AAAALH%2F%2FaWM%3D","line":3,"updated":"2012-09-13 02:14:48.000000000","message":"Ideally this should say something generic which can show up in our API samples. Not the users name who ran the tests.","commit_id":"aaaad1de53aecdc83c4f48af22cad506eaf394e0"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"4cbb270cb962f521111ec27eb90b65a700eb8ff0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003c?xml version\u003d\u00271.0\u0027 encoding\u003d\u0027UTF-8\u0027?\u003e"},{"line_number":2,"context_line":"\u003ckeypair\u003e"},{"line_number":3,"context_line":"  \u003cpublic_key\u003essh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDNpgIJ3aAdAWBkCqf5DafQaDM3p1iIm3g8eEOqlVMnFUBVP2bFki605Rk85AWeKEvqQf+syVeACZLw0h3rXPBBWLDioyvL/YJLxfolA7mo9j+/ySyMOu0C1eFj7YFY1OuJsqcuprGuTEgfxf9APajAYBwciwPKWAcUbLjUjjPaaQ\u003d\u003d maurosr@parrish"},{"line_number":4,"context_line":"\u003c/public_key\u003e"},{"line_number":5,"context_line":"  \u003cprivate_key\u003e-----BEGIN RSA PRIVATE KEY-----"},{"line_number":6,"context_line":"MIICXAIBAAKBgQDNpgIJ3aAdAWBkCqf5DafQaDM3p1iIm3g8eEOqlVMnFUBVP2bF"}],"source_content_type":"application/xml","patch_set":6,"id":"AAAALH%2F%2FaB8%3D","line":3,"in_reply_to":"AAAALH%2F%2FaWM%3D","updated":"2012-09-13 13:20:53.000000000","message":"since we want to include a example of this case, replace it for user@host would be ok?","commit_id":"aaaad1de53aecdc83c4f48af22cad506eaf394e0"}],"nova/tests/integrated/test_api_samples.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"9689a9f7b40ec222e4195096326bcfc9adff88c0","unresolved":false,"context_lines":[{"line_number":207,"context_line":"                  \u0027-[0-9a-f]{4}-[0-9a-f]{12})\u0027,"},{"line_number":208,"context_line":"            \u0027uuid\u0027: \u0027[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}\u0027"},{"line_number":209,"context_line":"                    \u0027-[0-9a-f]{4}-[0-9a-f]{12}\u0027,"},{"line_number":210,"context_line":"            \u0027keypair_name\u0027: \u0027keypair-[a-zA-Z0-9-]*\u0027,"},{"line_number":211,"context_line":"            \u0027private_key\u0027: \u0027-----BEGIN RSA PRIVATE KEY-----\u0027"},{"line_number":212,"context_line":"                           \u0027[a-zA-Z0-9\\n/+\u003d]*\u0027"},{"line_number":213,"context_line":"                           \u0027-----END RSA PRIVATE KEY-----\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2Fc0M%3D","line":210,"updated":"2012-09-10 18:12:32.000000000","message":"rather than set this here...","commit_id":"f210987844692a59f45863d909cbc6404f81f064"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"b43dcbe126616e54fea8b0d8104b301525c502fe","unresolved":false,"context_lines":[{"line_number":207,"context_line":"                  \u0027-[0-9a-f]{4}-[0-9a-f]{12})\u0027,"},{"line_number":208,"context_line":"            \u0027uuid\u0027: \u0027[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}\u0027"},{"line_number":209,"context_line":"                    \u0027-[0-9a-f]{4}-[0-9a-f]{12}\u0027,"},{"line_number":210,"context_line":"            \u0027keypair_name\u0027: \u0027keypair-[a-zA-Z0-9-]*\u0027,"},{"line_number":211,"context_line":"            \u0027private_key\u0027: \u0027-----BEGIN RSA PRIVATE KEY-----\u0027"},{"line_number":212,"context_line":"                           \u0027[a-zA-Z0-9\\n/+\u003d]*\u0027"},{"line_number":213,"context_line":"                           \u0027-----END RSA PRIVATE KEY-----\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2FcHE%3D","line":210,"in_reply_to":"AAAALH%2F%2Fc0M%3D","updated":"2012-09-11 12:24:30.000000000","message":"Hi Vish! I\u0027m not sure that this approach would be better. I have two reasons:\n1 - keypair_name is a regex that could be used by servers extensions tests (I know that prefix all the keys with \u0027keypair-\u0027 is not the perfect way to do the match, but it sounds reasonable to me)\n2 - test_keypairs_get return more than one keypair (which is not the case for now) this approach will break the test. Although with the current code we\u0027re safe from this.\n\nI have the code changed already as you suggested, but before push it, I would like to see if you agree with me.\n\nThank you!","commit_id":"f210987844692a59f45863d909cbc6404f81f064"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"d2bd9175cb08cf611221f07082ddf59754e3cb6a","unresolved":false,"context_lines":[{"line_number":207,"context_line":"                  \u0027-[0-9a-f]{4}-[0-9a-f]{12})\u0027,"},{"line_number":208,"context_line":"            \u0027uuid\u0027: \u0027[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}\u0027"},{"line_number":209,"context_line":"                    \u0027-[0-9a-f]{4}-[0-9a-f]{12}\u0027,"},{"line_number":210,"context_line":"            \u0027keypair_name\u0027: \u0027keypair-[a-zA-Z0-9-]*\u0027,"},{"line_number":211,"context_line":"            \u0027private_key\u0027: \u0027-----BEGIN RSA PRIVATE KEY-----\u0027"},{"line_number":212,"context_line":"                           \u0027[a-zA-Z0-9\\n/+\u003d]*\u0027"},{"line_number":213,"context_line":"                           \u0027-----END RSA PRIVATE KEY-----\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2FcFc%3D","line":210,"in_reply_to":"AAAALH%2F%2FcF4%3D","updated":"2012-09-11 12:42:40.000000000","message":"Done","commit_id":"f210987844692a59f45863d909cbc6404f81f064"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"310665674a693ea699df954700b3e0f545e1b178","unresolved":false,"context_lines":[{"line_number":207,"context_line":"                  \u0027-[0-9a-f]{4}-[0-9a-f]{12})\u0027,"},{"line_number":208,"context_line":"            \u0027uuid\u0027: \u0027[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}\u0027"},{"line_number":209,"context_line":"                    \u0027-[0-9a-f]{4}-[0-9a-f]{12}\u0027,"},{"line_number":210,"context_line":"            \u0027keypair_name\u0027: \u0027keypair-[a-zA-Z0-9-]*\u0027,"},{"line_number":211,"context_line":"            \u0027private_key\u0027: \u0027-----BEGIN RSA PRIVATE KEY-----\u0027"},{"line_number":212,"context_line":"                           \u0027[a-zA-Z0-9\\n/+\u003d]*\u0027"},{"line_number":213,"context_line":"                           \u0027-----END RSA PRIVATE KEY-----\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2FcF4%3D","line":210,"in_reply_to":"AAAALH%2F%2FcHE%3D","updated":"2012-09-11 12:28:57.000000000","message":"matching a keypair against a regex like that is not correct, keypair name is an arbitrarty string that you happen to be setitng like the above. Therefore you should be matching against the actual string you set. If you want to test more than one keypair, you will have to do multiple posts anyway, so you can get the result from each one separately.","commit_id":"f210987844692a59f45863d909cbc6404f81f064"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"9689a9f7b40ec222e4195096326bcfc9adff88c0","unresolved":false,"context_lines":[{"line_number":533,"context_line":"        response \u003d self._do_post(\u0027os-keypairs\u0027, \u0027keypairs-post-req\u0027,"},{"line_number":534,"context_line":"                                 {\u0027keypair_name\u0027: key_name})"},{"line_number":535,"context_line":"        self.assertEqual(response.status, 200)"},{"line_number":536,"context_line":"        subs \u003d self._get_regexes()"},{"line_number":537,"context_line":"        return self._verify_response(\u0027keypairs-post-resp\u0027, subs, response)"},{"line_number":538,"context_line":""},{"line_number":539,"context_line":"    def test_keypairs_get(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2Fcz0%3D","line":536,"updated":"2012-09-10 18:12:32.000000000","message":"pass it here as exact match with parens:\n  subs[\u0027key_name\u0027] \u003d \u0027(%s)\u0027 % key_name","commit_id":"f210987844692a59f45863d909cbc6404f81f064"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"9689a9f7b40ec222e4195096326bcfc9adff88c0","unresolved":false,"context_lines":[{"line_number":538,"context_line":""},{"line_number":539,"context_line":"    def test_keypairs_get(self):"},{"line_number":540,"context_line":"        \"\"\"Get api sample of key pairs get request\"\"\""},{"line_number":541,"context_line":"        self.test_keypairs_post()"},{"line_number":542,"context_line":"        response \u003d self._do_get(\u0027os-keypairs\u0027)"},{"line_number":543,"context_line":"        subs \u003d self._get_regexes()"},{"line_number":544,"context_line":"        return self._verify_response(\u0027keypairs-get-resp\u0027, subs, response)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2Fc0E%3D","line":541,"updated":"2012-09-10 18:12:32.000000000","message":"then you can grab it here:\n  key_name \u003d self.test_keypairs_post()","commit_id":"f210987844692a59f45863d909cbc6404f81f064"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"9689a9f7b40ec222e4195096326bcfc9adff88c0","unresolved":false,"context_lines":[{"line_number":540,"context_line":"        \"\"\"Get api sample of key pairs get request\"\"\""},{"line_number":541,"context_line":"        self.test_keypairs_post()"},{"line_number":542,"context_line":"        response \u003d self._do_get(\u0027os-keypairs\u0027)"},{"line_number":543,"context_line":"        subs \u003d self._get_regexes()"},{"line_number":544,"context_line":"        return self._verify_response(\u0027keypairs-get-resp\u0027, subs, response)"},{"line_number":545,"context_line":""},{"line_number":546,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAALH%2F%2Fczk%3D","line":543,"updated":"2012-09-10 18:12:32.000000000","message":"and match it exactly here:\n  subs[\u0027key_name\u0027] \u003d key_name","commit_id":"f210987844692a59f45863d909cbc6404f81f064"},{"author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"change_message_id":"3e45409e75c07c7838c0896874c34454a1e08c5c","unresolved":false,"context_lines":[{"line_number":530,"context_line":"        \"\"\"Get api sample of key pairs post request\"\"\""},{"line_number":531,"context_line":"        key_name \u003d \u0027keypair-\u0027 + str(uuid.uuid4())"},{"line_number":532,"context_line":"        response \u003d self._do_post(\u0027os-keypairs\u0027, \u0027keypairs-post-req\u0027,"},{"line_number":533,"context_line":"                                 {\u0027keypair_name\u0027: key_name})"},{"line_number":534,"context_line":"        subs \u003d self._get_regexes()"},{"line_number":535,"context_line":"        subs[\u0027keypair_name\u0027] \u003d \u0027(%s)\u0027 % key_name"},{"line_number":536,"context_line":"        self.assertEqual(response.status, 200)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAALH%2F%2FaWo%3D","line":533,"updated":"2012-09-13 02:14:48.000000000","message":"I think we\u0027ll need to stub crypto.generate_key_pair() or add a \u0027public_key\u0027 (much easier) to this POST request so it returns a standard public/private key for our API samples. As is this is going to generate a keypair with the users name who ran it which isn\u0027t what we want.","commit_id":"aaaad1de53aecdc83c4f48af22cad506eaf394e0"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"4cbb270cb962f521111ec27eb90b65a700eb8ff0","unresolved":false,"context_lines":[{"line_number":530,"context_line":"        \"\"\"Get api sample of key pairs post request\"\"\""},{"line_number":531,"context_line":"        key_name \u003d \u0027keypair-\u0027 + str(uuid.uuid4())"},{"line_number":532,"context_line":"        response \u003d self._do_post(\u0027os-keypairs\u0027, \u0027keypairs-post-req\u0027,"},{"line_number":533,"context_line":"                                 {\u0027keypair_name\u0027: key_name})"},{"line_number":534,"context_line":"        subs \u003d self._get_regexes()"},{"line_number":535,"context_line":"        subs[\u0027keypair_name\u0027] \u003d \u0027(%s)\u0027 % key_name"},{"line_number":536,"context_line":"        self.assertEqual(response.status, 200)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAALH%2F%2FaBw%3D","line":533,"in_reply_to":"AAAALH%2F%2FaL4%3D","updated":"2012-09-13 13:20:53.000000000","message":"work on it. Thank you both for you review and please desconsider patchset 7","commit_id":"aaaad1de53aecdc83c4f48af22cad506eaf394e0"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"4518e4468e2e78c5b220f8cdb81f1d94f3a588e0","unresolved":false,"context_lines":[{"line_number":530,"context_line":"        \"\"\"Get api sample of key pairs post request\"\"\""},{"line_number":531,"context_line":"        key_name \u003d \u0027keypair-\u0027 + str(uuid.uuid4())"},{"line_number":532,"context_line":"        response \u003d self._do_post(\u0027os-keypairs\u0027, \u0027keypairs-post-req\u0027,"},{"line_number":533,"context_line":"                                 {\u0027keypair_name\u0027: key_name})"},{"line_number":534,"context_line":"        subs \u003d self._get_regexes()"},{"line_number":535,"context_line":"        subs[\u0027keypair_name\u0027] \u003d \u0027(%s)\u0027 % key_name"},{"line_number":536,"context_line":"        self.assertEqual(response.status, 200)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAALH%2F%2FaL4%3D","line":533,"in_reply_to":"AAAALH%2F%2FaWo%3D","updated":"2012-09-13 06:26:33.000000000","message":"we should probably actually test both post with a public key and without.  I\u0027d like to stub as little as possible in the tests, but I guess putting in a stub for keypair generation makes sense in this case.","commit_id":"aaaad1de53aecdc83c4f48af22cad506eaf394e0"},{"author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"change_message_id":"d479856dc2be5527c5f5c87dca974aaa6d30dc7b","unresolved":false,"context_lines":[{"line_number":527,"context_line":"    ctype \u003d \u0027xml\u0027"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD"},{"line_number":531,"context_line":"class FlavorsExtraDataJsonTest(ApiSampleTestBase):"},{"line_number":532,"context_line":"    extension_name \u003d (\u0027nova.api.openstack.compute.contrib.flavorextradata.\u0027"},{"line_number":533,"context_line":"                      \u0027Flavorextradata\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAALH%2F%2FZ9c%3D","line":530,"updated":"2012-09-13 13:29:28.000000000","message":"Remove this (merge conflict?)","commit_id":"3a2b907dbdf0dfeb9d31dcf2bbb6a0caa0e67c94"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"227c9624151064a1c7dbea0fe38b1d2615986579","unresolved":false,"context_lines":[{"line_number":589,"context_line":""},{"line_number":590,"context_line":"    def setUp(self):"},{"line_number":591,"context_line":"        stubs.Set(crypto, \"generate_key_pair\", self.generate_key_pair)"},{"line_number":592,"context_line":"        stubs.Set(crypto, \"generate_fingerprint\", self.generate_fingerprint)"},{"line_number":593,"context_line":"        super(KeyPairsSampleJsonTest, self).setUp()"},{"line_number":594,"context_line":""},{"line_number":595,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAALH%2F%2FZG0%3D","line":592,"updated":"2012-09-14 18:40:18.000000000","message":"it doesn\u0027t work here:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nERROR: Get api sample of key pairs post request\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File \"/opt/stack/nova/nova/tests/integrated/test_api_samples.py\", line 591, in setUp\n    stubs.Set(crypto, \"generate_key_pair\", self.generate_key_pair)\nNameError: global name \u0027stubs\u0027 is not defined","commit_id":"fab764dca156e0ef98c013ea25ca3e23aa45b8ea"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"b046b6f48df42c438f3dee1e7c355708f5e64049","unresolved":false,"context_lines":[{"line_number":590,"context_line":"    def setUp(self):"},{"line_number":591,"context_line":"        stubs.Set(crypto, \"generate_key_pair\", self.generate_key_pair)"},{"line_number":592,"context_line":"        stubs.Set(crypto, \"generate_fingerprint\", self.generate_fingerprint)"},{"line_number":593,"context_line":"        super(KeyPairsSampleJsonTest, self).setUp()"},{"line_number":594,"context_line":""},{"line_number":595,"context_line":""},{"line_number":596,"context_line":"    def test_keypairs_post(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAALH%2F%2FZGk%3D","line":593,"updated":"2012-09-14 18:44:38.000000000","message":"If you want to use self.stubs in setUp, you have to call the super class constructor first, so that those methods become available to you.","commit_id":"fab764dca156e0ef98c013ea25ca3e23aa45b8ea"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"227c9624151064a1c7dbea0fe38b1d2615986579","unresolved":false,"context_lines":[{"line_number":596,"context_line":"    def test_keypairs_post(self):"},{"line_number":597,"context_line":"        \"\"\"Get api sample of key pairs post request\"\"\""},{"line_number":598,"context_line":"        self.stubs.Set(crypto, \"generate_key_pair\", self.generate_key_pair)"},{"line_number":599,"context_line":"        self.stubs.Set(crypto, \"generate_fingerprint\", self.generate_fingerprint)"},{"line_number":600,"context_line":""},{"line_number":601,"context_line":"        key_name \u003d \u0027keypair-\u0027 + str(uuid.uuid4())"},{"line_number":602,"context_line":"        response \u003d self._do_post(\u0027os-keypairs\u0027, \u0027keypairs-post-req\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAALH%2F%2FZG4%3D","line":599,"updated":"2012-09-14 18:40:18.000000000","message":"set stubs works here, so I thought why not put it into a setUp method? and in the setup it doesn\u0027t work","commit_id":"fab764dca156e0ef98c013ea25ca3e23aa45b8ea"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"227c9624151064a1c7dbea0fe38b1d2615986579","unresolved":false,"context_lines":[{"line_number":635,"context_line":"class KeyPairsSampleXmlTest(KeyPairsSampleJsonTest):"},{"line_number":636,"context_line":"    ctype \u003d \u0027xml\u0027"},{"line_number":637,"context_line":"    def setUp(self):"},{"line_number":638,"context_line":"        super(KeyPairsSampleXmlTest, self).setUp()"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAALH%2F%2FZGs%3D","line":638,"updated":"2012-09-14 18:40:18.000000000","message":"how should I do this if we start to use setUp to stub?, cause when I call super().setUp, the setUp of json version will be called and we will lost reference to this class right?","commit_id":"fab764dca156e0ef98c013ea25ca3e23aa45b8ea"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"da75fa6350f20d8c8a50086bb3677930add0e726","unresolved":false,"context_lines":[{"line_number":635,"context_line":"class KeyPairsSampleXmlTest(KeyPairsSampleJsonTest):"},{"line_number":636,"context_line":"    ctype \u003d \u0027xml\u0027"},{"line_number":637,"context_line":"    def setUp(self):"},{"line_number":638,"context_line":"        super(KeyPairsSampleXmlTest, self).setUp()"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAALH%2F%2FZGY%3D","line":638,"in_reply_to":"AAAALH%2F%2FZGs%3D","updated":"2012-09-14 18:50:57.000000000","message":"if you don\u0027t specify your own setUp() the super class one will be used automatically. So this method can be removed.","commit_id":"fab764dca156e0ef98c013ea25ca3e23aa45b8ea"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"b810777cc7fb59006bcda220572b76a46b1e8264","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from lxml import etree"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from nova import crypto"},{"line_number":23,"context_line":"from nova import flags"},{"line_number":24,"context_line":"from nova.openstack.common import importutils"},{"line_number":25,"context_line":"from nova.openstack.common import jsonutils"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAALH%2F%2FW7E%3D","line":22,"updated":"2012-09-18 21:43:15.000000000","message":"Unused import?","commit_id":"eeac2b3dbd2e9dfca76b573641fb5f3863b7ec75"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"e14710bade7eea775c7816fcbcd829e67891d7e2","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from lxml import etree"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from nova import crypto"},{"line_number":23,"context_line":"from nova import flags"},{"line_number":24,"context_line":"from nova.openstack.common import importutils"},{"line_number":25,"context_line":"from nova.openstack.common import jsonutils"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAALH%2F%2FWz0%3D","line":22,"in_reply_to":"AAAALH%2F%2FW7E%3D","updated":"2012-09-19 00:46:22.000000000","message":"yes, There was a moment when I needed to create some stubs and was using this import in there, thank you for seeing that.","commit_id":"eeac2b3dbd2e9dfca76b573641fb5f3863b7ec75"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"7a60590848ccee4eef7172361d397f10e3c07041","unresolved":false,"context_lines":[{"line_number":217,"context_line":"            \u0027fingerprint\u0027: \u0027[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:\u0027"},{"line_number":218,"context_line":"                           \u0027[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:\u0027"},{"line_number":219,"context_line":"                           \u0027[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:\u0027"},{"line_number":220,"context_line":"                           \u0027[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}\u0027,"},{"line_number":221,"context_line":"            \u0027host\u0027: self._get_host(),"},{"line_number":222,"context_line":"            \u0027glance_host\u0027: self._get_glance_host(),"},{"line_number":223,"context_line":"            \u0027compute_host\u0027: self.compute.host,"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAALH%2F%2FW0c%3D","line":220,"updated":"2012-09-19 00:28:47.000000000","message":"would ([0-9a-f]{2}:){15}[0-9a-f]{2} give the same result?","commit_id":"eeac2b3dbd2e9dfca76b573641fb5f3863b7ec75"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"e14710bade7eea775c7816fcbcd829e67891d7e2","unresolved":false,"context_lines":[{"line_number":217,"context_line":"            \u0027fingerprint\u0027: \u0027[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:\u0027"},{"line_number":218,"context_line":"                           \u0027[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:\u0027"},{"line_number":219,"context_line":"                           \u0027[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:\u0027"},{"line_number":220,"context_line":"                           \u0027[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}\u0027,"},{"line_number":221,"context_line":"            \u0027host\u0027: self._get_host(),"},{"line_number":222,"context_line":"            \u0027glance_host\u0027: self._get_glance_host(),"},{"line_number":223,"context_line":"            \u0027compute_host\u0027: self.compute.host,"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAALH%2F%2FWzw%3D","line":220,"in_reply_to":"AAAALH%2F%2FW0c%3D","updated":"2012-09-19 00:46:22.000000000","message":"yes, it would! Changed... much smarter regex btw!","commit_id":"eeac2b3dbd2e9dfca76b573641fb5f3863b7ec75"}]}
