)]}'
{"shade/__init__.py":[{"author":{"_account_id":6133,"name":"yolanda.robla","email":"yroblamo@redhat.com","username":"yolanda.robla"},"change_message_id":"f33d41c5b7e2c4ba83100a1ecbf93b8bea098208","unresolved":false,"context_lines":[{"line_number":1078,"context_line":"        if wait:"},{"line_number":1079,"context_line":"            for count in _iterate_timeout("},{"line_number":1080,"context_line":"                    timeout,"},{"line_number":1081,"context_line":"                    \"Timeout waiting for the server to come up.\"):"},{"line_number":1082,"context_line":"                try:"},{"line_number":1083,"context_line":"                    server \u003d self.nova_client.servers.get(server_id)"},{"line_number":1084,"context_line":"                except Exception:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_db19f323","line":1081,"updated":"2015-03-04 07:51:58.000000000","message":"Can you add detail of the server on this log?","commit_id":"010d57f8f82e6b7637739d0ba7bde24bc75d436b"}],"shade/tests/test_shade.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"de1e98056550697a99071ca0b8952c4d5ccba6eb","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        super(TestShade, self).setUp()"},{"line_number":31,"context_line":"        self.client \u003d OpenStackCloud(\"cloud\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def test_server_rebuild(self):"},{"line_number":34,"context_line":"        with patch(\"shade.OpenStackCloud\"):"},{"line_number":35,"context_line":"            # Test that a rebuild throws an exception"},{"line_number":36,"context_line":"            config \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_c35fe0e3","line":33,"updated":"2015-03-06 01:51:15.000000000","message":"Shouldn\u0027t each of the # Test stuff block below be their own test method? Will make debugging failures much more straightforward. Also parallelized testing.","commit_id":"d0fb035cc280e2c9683271a6fbf08fc9affab949"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"843bfbd17a0d26f01bc12f74110a813b495030db","unresolved":false,"context_lines":[{"line_number":38,"context_line":"            }"},{"line_number":39,"context_line":"            OpenStackCloud.nova_client \u003d Mock(**config)"},{"line_number":40,"context_line":"            self.assertRaises("},{"line_number":41,"context_line":"                OpenStackCloudException, self.client.rebuild_server, \"a\", \"b\")"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"            # Test that a server error throws an exception"},{"line_number":44,"context_line":"            config \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_681d640f","line":41,"updated":"2015-03-05 08:57:05.000000000","message":"So, I had hoped we wouldn\u0027t drag this lovely library into the endless pain that is \"mock the world\". Nova has fakes for some things in novaclient, including rebuild. Please see https://review.openstack.org/#/c/160155/ for an example of how to use them. I think that would work perfectly here, and alleviate the need to be so explicit and mock everything under the sun. Of course, we also don\u0027t have a fake we can use for wait\u003dTrue, but that\u0027s a different story. :)","commit_id":"d0fb035cc280e2c9683271a6fbf08fc9affab949"}],"shade/tests/unit/test_rebuild.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"17fd643c1c011a96b1ca01edd0aa5fbe39fc81d2","unresolved":false,"context_lines":[{"line_number":16,"context_line":"test_shade"},{"line_number":17,"context_line":"----------------------------------"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Tests for `shade` module."},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from mock import patch, Mock"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6ced46_5b0cf042","line":19,"updated":"2015-03-23 23:55:47.000000000","message":"This docstring looks copy pasta\u0027d it should be updated to reflect that it is for testing the rebuild operation.","commit_id":"59aadc86af486a5eee55fd81018ec9f15257bba3"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"17fd643c1c011a96b1ca01edd0aa5fbe39fc81d2","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        \"\"\""},{"line_number":52,"context_line":"        with patch(\"shade.OpenStackCloud\"):"},{"line_number":53,"context_line":"            config \u003d {"},{"line_number":54,"context_line":"                \"servers.rebuild.return_value\": Mock(status\u003d\"ACTIVE\"),"},{"line_number":55,"context_line":"                \"servers.get.return_value\": Mock(status\u003d\"ERROR\")"},{"line_number":56,"context_line":"            }"},{"line_number":57,"context_line":"            OpenStackCloud.nova_client \u003d Mock(**config)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6ced46_7b09ac30","line":54,"updated":"2015-03-23 23:55:47.000000000","message":"Rereading this it is a bit confusing that the initial return value is a status\u003dACTIVE. Changing ACTIVE to (RE)BUILDING might better reflect what what we expect from nova and make the test read a bit better.","commit_id":"59aadc86af486a5eee55fd81018ec9f15257bba3"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"17fd643c1c011a96b1ca01edd0aa5fbe39fc81d2","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        \"\"\""},{"line_number":67,"context_line":"        with patch(\"shade.OpenStackCloud\"):"},{"line_number":68,"context_line":"            config \u003d {"},{"line_number":69,"context_line":"                \"servers.rebuild.return_value\": Mock(status\u003d\"ACTIVE\"),"},{"line_number":70,"context_line":"                \"servers.get.return_value\": Mock(status\u003d\"REBUILD\")"},{"line_number":71,"context_line":"            }"},{"line_number":72,"context_line":"            OpenStackCloud.nova_client \u003d Mock(**config)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6ced46_9b06681f","line":69,"updated":"2015-03-23 23:55:47.000000000","message":"See above.","commit_id":"59aadc86af486a5eee55fd81018ec9f15257bba3"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"17fd643c1c011a96b1ca01edd0aa5fbe39fc81d2","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        with patch(\"shade.OpenStackCloud\"):"},{"line_number":97,"context_line":"            mock_server \u003d Mock(status\u003d\"ACTIVE\")"},{"line_number":98,"context_line":"            config \u003d {"},{"line_number":99,"context_line":"                \"servers.rebuild.return_value\": Mock(status\u003d\"ACTIVE\"),"},{"line_number":100,"context_line":"                \"servers.get.return_value\": mock_server"},{"line_number":101,"context_line":"            }"},{"line_number":102,"context_line":"            OpenStackCloud.nova_client \u003d Mock(**config)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a6ced46_bb03240e","line":99,"updated":"2015-03-23 23:55:47.000000000","message":"See above.","commit_id":"59aadc86af486a5eee55fd81018ec9f15257bba3"}],"test-requirements.txt":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"de1e98056550697a99071ca0b8952c4d5ccba6eb","unresolved":false,"context_lines":[{"line_number":3,"context_line":"coverage\u003e\u003d3.6"},{"line_number":4,"context_line":"discover"},{"line_number":5,"context_line":"fixtures\u003e\u003d0.3.14"},{"line_number":6,"context_line":"mock\u003d\u003d1.0.1"},{"line_number":7,"context_line":"python-subunit"},{"line_number":8,"context_line":"sphinx\u003e\u003d1.1.2"},{"line_number":9,"context_line":"oslo.sphinx"}],"source_content_type":"text/plain","patch_set":4,"id":"9a80dd14_e36224ac","line":6,"updated":"2015-03-06 01:51:15.000000000","message":"Note that SpamapS\u0027 test change also requires mock and git will likely happily merge both of these mock requirements in if we aren\u0027t careful.","commit_id":"d0fb035cc280e2c9683271a6fbf08fc9affab949"},{"author":{"_account_id":1726,"name":"Ghe Rivero","email":"ghe.rivero@gmail.com","username":"ghe.rivero"},"change_message_id":"d307dc7e11d467a454e8b26f238653976cfc33ea","unresolved":false,"context_lines":[{"line_number":3,"context_line":"coverage\u003e\u003d3.6"},{"line_number":4,"context_line":"discover"},{"line_number":5,"context_line":"fixtures\u003e\u003d0.3.14"},{"line_number":6,"context_line":"mock\u003d\u003d1.0.1"},{"line_number":7,"context_line":"python-subunit"},{"line_number":8,"context_line":"sphinx\u003e\u003d1.1.2"},{"line_number":9,"context_line":"oslo.sphinx"}],"source_content_type":"text/plain","patch_set":11,"id":"9a80dd14_e9ba4370","line":6,"updated":"2015-03-17 15:24:46.000000000","message":"any reason to diverge from global requeriments? mock\u003e\u003d1.0","commit_id":"bf0174b93455c92d96b8d51aff176e8ec19d52ac"}]}
