)]}'
{"nova/tests/unit/api/openstack/compute/plugins/v3/test_servers.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"30d74cb948894859938c5f93bcf9a2e16dd6c761","unresolved":false,"context_lines":[{"line_number":732,"context_line":"                                     \u0027?all_tenants\u003d1\u0026tenant_id\u003dnewfake\u0027,"},{"line_number":733,"context_line":"                                      use_admin_context\u003dTrue)"},{"line_number":734,"context_line":"        servers \u003d self.controller.index(req)[\u0027servers\u0027]"},{"line_number":735,"context_line":"        self.assertEqual(len(servers), 1)"},{"line_number":736,"context_line":""},{"line_number":737,"context_line":"    def test_tenant_id_filter_no_admin_context(self):"},{"line_number":738,"context_line":"        def fake_get_all(context, filters\u003dNone, limit\u003dNone, marker\u003dNone,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_d80c3cee","side":"PARENT","line":735,"updated":"2015-07-22 20:31:26.000000000","message":"Similar comment as v2 comment.","commit_id":"2a97143faa512671fe5fca608d1a7fa95302f25d"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"30d74cb948894859938c5f93bcf9a2e16dd6c761","unresolved":false,"context_lines":[{"line_number":917,"context_line":"        req \u003d fakes.HTTPRequestV3.blank(\u0027/servers?flavor\u003dabcde\u0027)"},{"line_number":918,"context_line":"        servers \u003d self.controller.detail(req)[\u0027servers\u0027]"},{"line_number":919,"context_line":""},{"line_number":920,"context_line":"        self.assertThat(servers, testtools.matchers.HasLength(0))"},{"line_number":921,"context_line":""},{"line_number":922,"context_line":"    def test_get_servers_allows_status(self):"},{"line_number":923,"context_line":"        server_uuid \u003d str(uuid.uuid4())"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_b8f850c4","side":"PARENT","line":920,"updated":"2015-07-22 20:31:26.000000000","message":"Comments in v2","commit_id":"2a97143faa512671fe5fca608d1a7fa95302f25d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"61ddb7b296860a8bd6fbb3ce4d2fdcf7ae59c219","unresolved":false,"context_lines":[{"line_number":1353,"context_line":""},{"line_number":1354,"context_line":"        self.server_delete_called \u003d False"},{"line_number":1355,"context_line":""},{"line_number":1356,"context_line":"        self.stubs.Set(db, \u0027instance_get_by_uuid\u0027,"},{"line_number":1357,"context_line":"            fakes.fake_instance_get(launched_at\u003dNone))"},{"line_number":1358,"context_line":""},{"line_number":1359,"context_line":"        def instance_destroy_mock(*args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_fd37aa4a","line":1356,"updated":"2015-07-22 20:21:56.000000000","message":"how about this one?","commit_id":"806e18283d8a0169bc796f41577ddf0f527e61ba"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"61ddb7b296860a8bd6fbb3ce4d2fdcf7ae59c219","unresolved":false,"context_lines":[{"line_number":1765,"context_line":"        ext_info \u003d plugins.LoadedExtensionInfo()"},{"line_number":1766,"context_line":"        self.controller \u003d servers.ServersController(extension_info\u003dext_info)"},{"line_number":1767,"context_line":""},{"line_number":1768,"context_line":"    def _get_with_state(self, vm_state, task_state\u003dNone):"},{"line_number":1769,"context_line":"        self.stubs.Set(db, \u0027instance_get_by_uuid\u0027,"},{"line_number":1770,"context_line":"                fakes.fake_instance_get(vm_state\u003dvm_state,"},{"line_number":1771,"context_line":"                                        task_state\u003dtask_state))"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_dd574e58","line":1768,"updated":"2015-07-22 20:21:56.000000000","message":"how about this?","commit_id":"806e18283d8a0169bc796f41577ddf0f527e61ba"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"61ddb7b296860a8bd6fbb3ce4d2fdcf7ae59c219","unresolved":false,"context_lines":[{"line_number":1878,"context_line":""},{"line_number":1879,"context_line":"        ext_info \u003d plugins.LoadedExtensionInfo()"},{"line_number":1880,"context_line":"        self.controller \u003d servers.ServersController(extension_info\u003dext_info)"},{"line_number":1881,"context_line":""},{"line_number":1882,"context_line":"        def instance_create(context, inst):"},{"line_number":1883,"context_line":"            inst_type \u003d flavors.get_flavor_by_flavor_id(3)"},{"line_number":1884,"context_line":"            image_uuid \u003d \u002776fa36fc-c930-4bf3-8c8a-ea2a2420deb6\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_ddce6e2c","line":1881,"updated":"2015-07-22 20:21:56.000000000","message":"Seems like we should clean this all up at some point.","commit_id":"806e18283d8a0169bc796f41577ddf0f527e61ba"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2e00672af4dc901c505356c98ce85f17966f87b5","unresolved":false,"context_lines":[{"line_number":1659,"context_line":"        self.assertRaises(webob.exc.HTTPConflict,"},{"line_number":1660,"context_line":"            self.controller._stop_server, req, FAKE_UUID, body)"},{"line_number":1661,"context_line":""},{"line_number":1662,"context_line":"    def test_start_with_bogus_id(self):"},{"line_number":1663,"context_line":"        self.stubs.Set(db, \u0027instance_get_by_uuid\u0027,"},{"line_number":1664,"context_line":"                       fake_instance_get_by_uuid_not_found)"},{"line_number":1665,"context_line":"        req \u003d fakes.HTTPRequestV3.blank(\u0027/servers/test_inst/action\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_681e8571","line":1662,"updated":"2015-07-28 16:20:03.000000000","message":"This and the one below it don\u0027t need to be converted in this change since the call raises a 404 and therefore no flavor info would be accessed from the instance (there is no instance actually).  We should mock the compute API for this instead of the DB API at some point but doesn\u0027t need to happen here.","commit_id":"5adc05f1b683d240d3bdb8972896867ce6354275"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2e00672af4dc901c505356c98ce85f17966f87b5","unresolved":false,"context_lines":[{"line_number":1784,"context_line":"        ext_info \u003d plugins.LoadedExtensionInfo()"},{"line_number":1785,"context_line":"        self.controller \u003d servers.ServersController(extension_info\u003dext_info)"},{"line_number":1786,"context_line":""},{"line_number":1787,"context_line":"    def _get_with_state(self, vm_state, task_state\u003dNone):"},{"line_number":1788,"context_line":"        self.stubs.Set(db, \u0027instance_get_by_uuid\u0027,"},{"line_number":1789,"context_line":"                fakes.fake_instance_get(vm_state\u003dvm_state,"},{"line_number":1790,"context_line":"                                        task_state\u003dtask_state))"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a50d1a3_a8524d33","line":1787,"updated":"2015-07-28 16:20:03.000000000","message":"This doesn\u0027t need to be converted because the tests using it don\u0027t pull anything flavor-related off the instance.  We should clean this up at some point anyway so it\u0027s not going to the db api, but doesn\u0027t need to happen here.","commit_id":"5adc05f1b683d240d3bdb8972896867ce6354275"}],"nova/tests/unit/api/openstack/compute/test_servers.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"30d74cb948894859938c5f93bcf9a2e16dd6c761","unresolved":false,"context_lines":[{"line_number":624,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/fake/servers?limit\u003dasdf\u0027)"},{"line_number":625,"context_line":"        self.assertRaises(webob.exc.HTTPBadRequest,"},{"line_number":626,"context_line":"                          self.controller.index, req)"},{"line_number":627,"context_line":""},{"line_number":628,"context_line":"    def test_get_servers_with_marker(self):"},{"line_number":629,"context_line":"        url \u003d \u0027/v2/fake/servers?marker\u003d%s\u0027 % fakes.get_fake_uuid(2)"},{"line_number":630,"context_line":"        req \u003d fakes.HTTPRequest.blank(url)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_1d97f6ec","side":"PARENT","line":627,"updated":"2015-07-22 20:31:26.000000000","message":"Shouldn\u0027t we keep this test? It\u0027s testing that the right http exception is raised for a bad limit","commit_id":"2a97143faa512671fe5fca608d1a7fa95302f25d"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"30d74cb948894859938c5f93bcf9a2e16dd6c761","unresolved":false,"context_lines":[{"line_number":640,"context_line":"    def test_get_servers_with_bad_marker(self):"},{"line_number":641,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/fake/servers?limit\u003d2\u0026marker\u003dasdf\u0027)"},{"line_number":642,"context_line":"        self.assertRaises(webob.exc.HTTPBadRequest,"},{"line_number":643,"context_line":"                          self.controller.index, req)"},{"line_number":644,"context_line":""},{"line_number":645,"context_line":"    @mock.patch(\u0027nova.compute.api.API.get_all\u0027)"},{"line_number":646,"context_line":"    def test_get_servers_with_sorting_enabled(self, mock_compute_get_all):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_fdea4a73","side":"PARENT","line":643,"updated":"2015-07-22 20:31:26.000000000","message":"Shouldn\u0027t we keep this test? It\u0027s testing that the right http exception is raised for a bad marker","commit_id":"2a97143faa512671fe5fca608d1a7fa95302f25d"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"30d74cb948894859938c5f93bcf9a2e16dd6c761","unresolved":false,"context_lines":[{"line_number":723,"context_line":"                                      \u0027?all_tenants\u003d1\u0026tenant_id\u003dnewfake\u0027,"},{"line_number":724,"context_line":"                                      use_admin_context\u003dTrue)"},{"line_number":725,"context_line":"        servers \u003d self.controller.index(req)[\u0027servers\u0027]"},{"line_number":726,"context_line":"        self.assertEqual(len(servers), 1)"},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"    def test_all_tenants_param_normal(self):"},{"line_number":729,"context_line":"        def fake_get_all(context, filters\u003dNone, sort_key\u003dNone,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_98747468","side":"PARENT","line":726,"updated":"2015-07-22 20:31:26.000000000","message":"This one, isn\u0027t it testing that the api controller layer correctly passes the query parameters from the url down to the compute api and returns the right thing?","commit_id":"2a97143faa512671fe5fca608d1a7fa95302f25d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"03f3a9a64adcc2f1bf8c4f9307ceecb973964170","unresolved":false,"context_lines":[{"line_number":723,"context_line":"                                      \u0027?all_tenants\u003d1\u0026tenant_id\u003dnewfake\u0027,"},{"line_number":724,"context_line":"                                      use_admin_context\u003dTrue)"},{"line_number":725,"context_line":"        servers \u003d self.controller.index(req)[\u0027servers\u0027]"},{"line_number":726,"context_line":"        self.assertEqual(len(servers), 1)"},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"    def test_all_tenants_param_normal(self):"},{"line_number":729,"context_line":"        def fake_get_all(context, filters\u003dNone, sort_key\u003dNone,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_bbe08a97","side":"PARENT","line":726,"in_reply_to":"3a50d1a3_98747468","updated":"2015-07-27 18:54:27.000000000","message":"This is specifically testing that the compute/api.py changes tenant_id into project_id in the DB query that is made. It really has little to do with the servers code and everything to do with the compute/api code.\n\nSo, I\u0027m still going to remove this, but will add a proper compute_api unit test to make sure this continues to work.","commit_id":"2a97143faa512671fe5fca608d1a7fa95302f25d"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"30d74cb948894859938c5f93bcf9a2e16dd6c761","unresolved":false,"context_lines":[{"line_number":895,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/fake/servers/detail?flavor\u003dabcde\u0027)"},{"line_number":896,"context_line":"        servers \u003d self.controller.detail(req)[\u0027servers\u0027]"},{"line_number":897,"context_line":""},{"line_number":898,"context_line":"        self.assertThat(servers, testtools.matchers.HasLength(0))"},{"line_number":899,"context_line":""},{"line_number":900,"context_line":"    def test_get_servers_allows_status(self):"},{"line_number":901,"context_line":"        server_uuid \u003d str(uuid.uuid4())"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_bdafe228","side":"PARENT","line":898,"updated":"2015-07-22 20:31:26.000000000","message":"These two, I\u0027m not as sure, but similar question. They\u0027re testing that empty list should be returned in the cases of these bad inputs (and not raise exception or other). Being that these are api tests, is not still valid to test that the controller returns the right thing?","commit_id":"2a97143faa512671fe5fca608d1a7fa95302f25d"}],"nova/tests/unit/api/openstack/fakes.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"61ddb7b296860a8bd6fbb3ce4d2fdcf7ae59c219","unresolved":false,"context_lines":[{"line_number":436,"context_line":"    return _return_servers"},{"line_number":437,"context_line":""},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"def fake_compute_get_all(num_servers\u003d5, **kwargs):"},{"line_number":440,"context_line":"    def _return_servers_objs(context, search_opts\u003dNone, limit\u003dNone,"},{"line_number":441,"context_line":"                             marker\u003dNone, want_objects\u003dFalse,"},{"line_number":442,"context_line":"                             expected_attrs\u003dNone, sort_keys\u003dNone,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_1da376b3","line":439,"updated":"2015-07-22 20:21:56.000000000","message":"Your num_servers and kwargs here aren\u0027t used, is that intentional?","commit_id":"806e18283d8a0169bc796f41577ddf0f527e61ba"}]}
