)]}'
{"tempest/config.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a12b530d8b16690daa19c53b27cd38e77994e16e","unresolved":false,"context_lines":[{"line_number":138,"context_line":"class EC2Config(object):"},{"line_number":139,"context_line":"    \"\"\" Provides confguration informatin for connecting to EC2.\"\"\""},{"line_number":140,"context_line":"    def __init__(self, conf):"},{"line_number":141,"context_line":"        \"\"\" Initialize a EC2-specific configuration object\"\"\""},{"line_number":142,"context_line":"        self.conf \u003d conf"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    def get(self, item_name, default_value\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F99w%3D","line":141,"updated":"2012-01-16 15:36:22.000000000","message":"Hate to be the nit-picker, but please remove the whitespace between \"\"\" and the first character of the docstring in the above two docstrings...","commit_id":"a99bd0f8dbc1922aed8ef8590b6dc5f7324b554b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a12b530d8b16690daa19c53b27cd38e77994e16e","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    @property"},{"line_number":156,"context_line":"    def ec2_port(self):"},{"line_number":157,"context_line":"        \"\"\"EC2 Port\"\"\""},{"line_number":158,"context_line":"        return self.get(\"ec2_port\", \"8773\")"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    @property"},{"line_number":161,"context_line":"    def ec2_key(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F99s%3D","line":158,"updated":"2012-01-16 15:36:22.000000000","message":"Worth putting in int() wrapper around the return here?","commit_id":"a99bd0f8dbc1922aed8ef8590b6dc5f7324b554b"}],"tempest/services/ec2/images.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a12b530d8b16690daa19c53b27cd38e77994e16e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"import boto"},{"line_number":2,"context_line":"import re"},{"line_number":3,"context_line":"import utils"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"from tempest import exceptions"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F99M%3D","line":3,"updated":"2012-01-16 15:36:22.000000000","message":"Please use absolute imports for this:\n\n from tempest.services.ec2 import utils\n\nPlease include this below the from tempest import exceptions below..","commit_id":"a99bd0f8dbc1922aed8ef8590b6dc5f7324b554b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a12b530d8b16690daa19c53b27cd38e77994e16e","unresolved":false,"context_lines":[{"line_number":3,"context_line":"import utils"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"from tempest import exceptions"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"class Images(object):"},{"line_number":8,"context_line":"    def __init__(self, host, port, ami_id):"},{"line_number":9,"context_line":"        self.host \u003d host"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F99o%3D","line":6,"updated":"2012-01-16 15:36:22.000000000","message":"one more newline between imports and class Images here...","commit_id":"a99bd0f8dbc1922aed8ef8590b6dc5f7324b554b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a12b530d8b16690daa19c53b27cd38e77994e16e","unresolved":false,"context_lines":[{"line_number":10,"context_line":"        self.port \u003d port"},{"line_number":11,"context_line":"        self.ami \u003d ami_id"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    def ec2_list_images(self):"},{"line_number":14,"context_line":"        conn \u003d utils.ec2_connection(self.host, self.port)"},{"line_number":15,"context_line":"        images \u003d conn.get_all_images()"},{"line_number":16,"context_line":"        for k in images:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F99k%3D","line":13,"updated":"2012-01-16 15:36:22.000000000","message":"You don\u0027t need to prefix methods here with ec2_, since it is the ec2.images.Images client :)","commit_id":"a99bd0f8dbc1922aed8ef8590b6dc5f7324b554b"}],"tempest/services/ec2/keys.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a12b530d8b16690daa19c53b27cd38e77994e16e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"import boto"},{"line_number":2,"context_line":"import utils"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"from tempest import exceptions"},{"line_number":5,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F99U%3D","line":2,"updated":"2012-01-16 15:36:22.000000000","message":"Please use absolute imports for this:\n\n from tempest.services.ec2 import utils\n\nPlease include this below the from tempest import exceptions below..","commit_id":"a99bd0f8dbc1922aed8ef8590b6dc5f7324b554b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a12b530d8b16690daa19c53b27cd38e77994e16e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"        self.port \u003d port"},{"line_number":10,"context_line":"        self.key \u003d key"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    def ec2_create_keypairs(self):"},{"line_number":13,"context_line":"        conn \u003d utils.ec2_connection(self.host, self.port)"},{"line_number":14,"context_line":"        conn.create_key_pair(self.key)"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F99g%3D","line":12,"updated":"2012-01-16 15:36:22.000000000","message":"Same comment about ec2_ prefix...","commit_id":"a99bd0f8dbc1922aed8ef8590b6dc5f7324b554b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a12b530d8b16690daa19c53b27cd38e77994e16e","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    def ec2_create_keypairs(self):"},{"line_number":13,"context_line":"        conn \u003d utils.ec2_connection(self.host, self.port)"},{"line_number":14,"context_line":"        conn.create_key_pair(self.key)"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"    def ec2_list_keypairs(self):"},{"line_number":17,"context_line":"        conn \u003d utils.ec2_connection(self.host, self.port)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F99c%3D","line":14,"updated":"2012-01-16 15:36:22.000000000","message":"does conn.create_key_pair return anything? Any exceptions that should be checked for?","commit_id":"a99bd0f8dbc1922aed8ef8590b6dc5f7324b554b"}],"tempest/services/ec2/utils.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a12b530d8b16690daa19c53b27cd38e77994e16e","unresolved":false,"context_lines":[{"line_number":2,"context_line":"import urlparse"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"from uuid import uuid4"},{"line_number":5,"context_line":"from boto.ec2.regioninfo import RegionInfo"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"def ec2_connection(host, port, **kwargs):"},{"line_number":8,"context_line":"    \"\"\" Build the EC2 URL and connect to the EC2 API \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F99Q%3D","line":5,"updated":"2012-01-16 15:36:22.000000000","message":"Please keep the boto imports together...","commit_id":"a99bd0f8dbc1922aed8ef8590b6dc5f7324b554b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a12b530d8b16690daa19c53b27cd38e77994e16e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    if not \u0027is_secure\u0027 in kwargs:"},{"line_number":20,"context_line":"        kwargs[\u0027is_secure\u0027] \u003d (purl.scheme \u003d\u003d \"https\")"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    kwargs[\u0027region\u0027] \u003d RegionInfo(name \u003d purl.hostname, "},{"line_number":23,"context_line":"            endpoint \u003d purl.hostname)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    return(boto.connect_ec2(**kwargs))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F99Y%3D","line":22,"updated":"2012-01-16 15:36:22.000000000","message":"Couple whitespace nits to fix in this file...","commit_id":"a99bd0f8dbc1922aed8ef8590b6dc5f7324b554b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"759e403f17eccdbfd0b3c82e5e64e6572360edef","unresolved":false,"context_lines":[{"line_number":3,"context_line":"import urlparse"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"from uuid import uuid4"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"def ec2_connection(host, port, **kwargs):"},{"line_number":8,"context_line":"    \"\"\" Build the EC2 URL and connect to the EC2 API \"\"\""},{"line_number":9,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAD3%2F%2F97I%3D","line":6,"updated":"2012-01-16 17:05:30.000000000","message":"2 spaces between each module-level function (here and below)","commit_id":"24da3a13839dc1515f1cae26b57e626135b0d200"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"759e403f17eccdbfd0b3c82e5e64e6572360edef","unresolved":false,"context_lines":[{"line_number":5,"context_line":"from uuid import uuid4"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"def ec2_connection(host, port, **kwargs):"},{"line_number":8,"context_line":"    \"\"\" Build the EC2 URL and connect to the EC2 API \"\"\""},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    if host is not None:"},{"line_number":11,"context_line":"        url \u003d \"http://\" + host"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAD3%2F%2F97Q%3D","line":8,"updated":"2012-01-16 17:05:30.000000000","message":"Extra whitespace inside \"\"\" here to remove...","commit_id":"24da3a13839dc1515f1cae26b57e626135b0d200"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"759e403f17eccdbfd0b3c82e5e64e6572360edef","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    kwargs[\u0027region\u0027] \u003d RegionInfo(name \u003d purl.hostname,"},{"line_number":23,"context_line":"            endpoint \u003d purl.hostname)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    return(boto.connect_ec2(**kwargs))"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def make_uuid():"},{"line_number":28,"context_line":"    return str(uuid4())"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAD3%2F%2F97M%3D","line":25,"updated":"2012-01-16 17:05:30.000000000","message":"please remove the extraneous parens around the return here...","commit_id":"24da3a13839dc1515f1cae26b57e626135b0d200"}],"tempest/tests/test_ec2_keys.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"759e403f17eccdbfd0b3c82e5e64e6572360edef","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"},{"line_number":26,"context_line":"    def tests_ec2_delete_keys(self):"},{"line_number":27,"context_line":"        self.client.delete_keyapirs()"},{"line_number":28,"context_line":"        self.assertEquals(0, len(self.client.list_keypairs()))"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAD3%2F%2F96w%3D","line":28,"updated":"2012-01-16 17:05:30.000000000","message":"The tests here are inter-dependent. In other words, they introduce a test-ordering dependency. The list_keys and delete_keys tests depend on the key_creation test being run first. Unfortunately, the delete_keys test will be run first (as it is alphabetically first). This will trigger an error because of a typo in the test (grep for delete_keyapirs).\n\nTest methods need to either:\n\na) Use or rely upon shared resources that are created in setUpClass() (and destroyed with a tearDownClass method)\nb) Create and destroy any resources the test methods may need\n\nIn this example, that means you need to create a keypair that you destroy in the delete_keys() test method, and you should create a keypair in the setUpClass() method that you can then use in one or more list_keypairs() test methods.","commit_id":"24da3a13839dc1515f1cae26b57e626135b0d200"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a590fc63bda5e5ac93c4e9aac292c9ed6f6b16f1","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        key_name \u003d make_uuid()"},{"line_number":27,"context_line":"        self.client.create_keypairs(key_name)"},{"line_number":28,"context_line":"        self.client.delete_keypairs(key_name)"},{"line_number":29,"context_line":"        self.assertEqual(1, len(self.client.list_keypairs(key_name)))"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    @attr(type\u003d\u0027smoke\u0027)"},{"line_number":32,"context_line":"    def test_list_ec2_keys(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAD3%2F%2F9Og%3D","line":29,"updated":"2012-01-17 19:55:19.000000000","message":"This should be self.assertEqual(0, ...) right?","commit_id":"0c535bf9f619d836774a8e2e2e6e2024b427a517"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a590fc63bda5e5ac93c4e9aac292c9ed6f6b16f1","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        self.client.create_keypairs(key_name)"},{"line_number":35,"context_line":"        self.assertEqual(1, len(self.client.list_keypairs(key_name)))"},{"line_number":36,"context_line":"        self.client.delete_keypairs(key_name)"},{"line_number":37,"context_line":"        "}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAD3%2F%2F9Ok%3D","line":37,"updated":"2012-01-17 19:55:19.000000000","message":"some extra whitespace here to remove...","commit_id":"0c535bf9f619d836774a8e2e2e6e2024b427a517"}]}
