)]}'
{"cinder/tests/unit/api/contrib/test_snapshot_manage.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"b792a69d4b41fdd42dbcd084dc3913084e598b76","unresolved":false,"context_lines":[{"line_number":280,"context_line":""},{"line_number":281,"context_line":"    @mock.patch(\u0027cinder.utils.service_is_up\u0027, return_value\u003dTrue)"},{"line_number":282,"context_line":"    @mock.patch(\u0027cinder.db.service_get_by_args\u0027)"},{"line_number":283,"context_line":"    def test_get_manage_snapshots_disabled(self, mock_db, mock_is_up):"},{"line_number":284,"context_line":"        mock_db.return_value \u003d fake_service.fake_service_obj(self._admin_ctxt,"},{"line_number":285,"context_line":"                                                             disabled\u003dTrue)"},{"line_number":286,"context_line":"        res \u003d self._get_resp_get(\u0027host_ok\u0027, False, True)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_3d8259c9","line":283,"range":{"start_line":283,"start_character":8,"end_line":283,"end_character":42},"updated":"2016-07-22 12:45:52.000000000","message":"nit: test_get_manageable_snapshots_disabled","commit_id":"16e1f63bb1f0865ecbcd49866c140c570f13fbd8"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"66f979e58ef8f760e06e64cf4a8b5d3930275807","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        body \u003d {\u0027snapshot\u0027: {\u0027volume_id\u0027: fake.VOLUME_ID, \u0027ref\u0027: \u0027fake_ref\u0027}}"},{"line_number":157,"context_line":"        res \u003d self._get_resp_post(body)"},{"line_number":158,"context_line":"        self.assertEqual(400, res.status_int, res)"},{"line_number":159,"context_line":"        self.assertEqual(res.json[\u0027badRequest\u0027][\u0027message\u0027],"},{"line_number":160,"context_line":"                         exception.ServiceUnavailable.message)"},{"line_number":161,"context_line":"        mock_create_snapshot.assert_not_called()"},{"line_number":162,"context_line":"        mock_rpcapi.assert_not_called()"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_a426f713","line":159,"updated":"2016-07-25 07:29:26.000000000","message":"nit: Looks like you missed changing the order here and in other places.","commit_id":"94f45f009184bc65664ea42a857f1f85b2cadd9f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"7e51928e04e0e0b7d9274405eee74240c046bc94","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        body \u003d {\u0027snapshot\u0027: {\u0027volume_id\u0027: fake.VOLUME_ID, \u0027ref\u0027: \u0027fake_ref\u0027}}"},{"line_number":157,"context_line":"        res \u003d self._get_resp_post(body)"},{"line_number":158,"context_line":"        self.assertEqual(400, res.status_int, res)"},{"line_number":159,"context_line":"        self.assertEqual(res.json[\u0027badRequest\u0027][\u0027message\u0027],"},{"line_number":160,"context_line":"                         exception.ServiceUnavailable.message)"},{"line_number":161,"context_line":"        mock_create_snapshot.assert_not_called()"},{"line_number":162,"context_line":"        mock_rpcapi.assert_not_called()"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_2d571059","line":159,"in_reply_to":"dada55a8_a426f713","updated":"2016-07-27 08:29:03.000000000","message":"Thanks!  And you are too kind, this is clearly worthy of a -1   ;-)","commit_id":"94f45f009184bc65664ea42a857f1f85b2cadd9f"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"c709a009374e113c09eadcf347ddec69e853545a","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                                             disabled\u003dTrue)"},{"line_number":156,"context_line":"        body \u003d {\u0027snapshot\u0027: {\u0027volume_id\u0027: fake.VOLUME_ID, \u0027ref\u0027: \u0027fake_ref\u0027}}"},{"line_number":157,"context_line":"        res \u003d self._get_resp_post(body)"},{"line_number":158,"context_line":"        self.assertEqual(400, res.status_int, res)"},{"line_number":159,"context_line":"        self.assertEqual(exception.ServiceUnavailable.message,"},{"line_number":160,"context_line":"                         res.json[\u0027badRequest\u0027][\u0027message\u0027])"},{"line_number":161,"context_line":"        mock_create_snapshot.assert_not_called()"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_02e8947b","line":158,"range":{"start_line":158,"start_character":44,"end_line":158,"end_character":49},"updated":"2016-08-03 16:44:57.000000000","message":"Is this intentional?","commit_id":"96c02129efa359f2d8102871ba87a84767a65582"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"7c658584b8051806885c66eb9745c0e399ae29bb","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                                             disabled\u003dTrue)"},{"line_number":156,"context_line":"        body \u003d {\u0027snapshot\u0027: {\u0027volume_id\u0027: fake.VOLUME_ID, \u0027ref\u0027: \u0027fake_ref\u0027}}"},{"line_number":157,"context_line":"        res \u003d self._get_resp_post(body)"},{"line_number":158,"context_line":"        self.assertEqual(400, res.status_int, res)"},{"line_number":159,"context_line":"        self.assertEqual(exception.ServiceUnavailable.message,"},{"line_number":160,"context_line":"                         res.json[\u0027badRequest\u0027][\u0027message\u0027])"},{"line_number":161,"context_line":"        mock_create_snapshot.assert_not_called()"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_6de03ffb","line":158,"range":{"start_line":158,"start_character":44,"end_line":158,"end_character":49},"in_reply_to":"bacf61ea_02e8947b","updated":"2016-08-04 09:26:51.000000000","message":"Yes, because I want to display the result of the post if the status doesn\u0027t match 400.","commit_id":"96c02129efa359f2d8102871ba87a84767a65582"}],"cinder/tests/unit/api/contrib/test_volume_manage.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"b792a69d4b41fdd42dbcd084dc3913084e598b76","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        self.assertEqual(400, res.status_int)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    @mock.patch(\u0027cinder.utils.service_is_up\u0027, return_value\u003dTrue)"},{"line_number":213,"context_line":"    def test_manage_snapshot_disabled(self, mock_is_up):"},{"line_number":214,"context_line":"        \"\"\"Test manage volume failure due to disabled service.\"\"\""},{"line_number":215,"context_line":"        body \u003d {\u0027volume\u0027: {\u0027host\u0027: \u0027host_disabled\u0027, \u0027ref\u0027: \u0027fake_ref\u0027}}"},{"line_number":216,"context_line":"        res \u003d self._get_resp_post(body)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_9dff05aa","line":213,"range":{"start_line":213,"start_character":8,"end_line":213,"end_character":37},"updated":"2016-07-22 12:45:52.000000000","message":"test_manage_volume_disabled","commit_id":"16e1f63bb1f0865ecbcd49866c140c570f13fbd8"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d365d82deb7cac893340134fa303fe23d1ddb70c","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        self.assertEqual(400, res.status_int)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    @mock.patch(\u0027cinder.utils.service_is_up\u0027, return_value\u003dTrue)"},{"line_number":213,"context_line":"    def test_manage_snapshot_disabled(self, mock_is_up):"},{"line_number":214,"context_line":"        \"\"\"Test manage volume failure due to disabled service.\"\"\""},{"line_number":215,"context_line":"        body \u003d {\u0027volume\u0027: {\u0027host\u0027: \u0027host_disabled\u0027, \u0027ref\u0027: \u0027fake_ref\u0027}}"},{"line_number":216,"context_line":"        res \u003d self._get_resp_post(body)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_6b9d1959","line":213,"range":{"start_line":213,"start_character":8,"end_line":213,"end_character":37},"in_reply_to":"dada55a8_9dff05aa","updated":"2016-07-22 16:58:07.000000000","message":"Copy/paste much?  :-)","commit_id":"16e1f63bb1f0865ecbcd49866c140c570f13fbd8"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"b792a69d4b41fdd42dbcd084dc3913084e598b76","unresolved":false,"context_lines":[{"line_number":215,"context_line":"        body \u003d {\u0027volume\u0027: {\u0027host\u0027: \u0027host_disabled\u0027, \u0027ref\u0027: \u0027fake_ref\u0027}}"},{"line_number":216,"context_line":"        res \u003d self._get_resp_post(body)"},{"line_number":217,"context_line":"        self.assertEqual(400, res.status_int, res)"},{"line_number":218,"context_line":"        self.assertEqual(res.json[\u0027badRequest\u0027][\u0027message\u0027],"},{"line_number":219,"context_line":"                         exception.ServiceUnavailable.message)"},{"line_number":220,"context_line":"        mock_is_up.assert_not_called()"},{"line_number":221,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_fd4ba15d","line":218,"updated":"2016-07-22 12:45:52.000000000","message":"nit: self.assertEqual(exception.ServiceUnavailable.message, res.json[\u0027badRequest\u0027][\u0027message\u0027])","commit_id":"16e1f63bb1f0865ecbcd49866c140c570f13fbd8"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d365d82deb7cac893340134fa303fe23d1ddb70c","unresolved":false,"context_lines":[{"line_number":215,"context_line":"        body \u003d {\u0027volume\u0027: {\u0027host\u0027: \u0027host_disabled\u0027, \u0027ref\u0027: \u0027fake_ref\u0027}}"},{"line_number":216,"context_line":"        res \u003d self._get_resp_post(body)"},{"line_number":217,"context_line":"        self.assertEqual(400, res.status_int, res)"},{"line_number":218,"context_line":"        self.assertEqual(res.json[\u0027badRequest\u0027][\u0027message\u0027],"},{"line_number":219,"context_line":"                         exception.ServiceUnavailable.message)"},{"line_number":220,"context_line":"        mock_is_up.assert_not_called()"},{"line_number":221,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_eba9097d","line":218,"in_reply_to":"dada55a8_fd4ba15d","updated":"2016-07-22 16:58:07.000000000","message":"What was I thinking!! This is shameful!!","commit_id":"16e1f63bb1f0865ecbcd49866c140c570f13fbd8"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"b792a69d4b41fdd42dbcd084dc3913084e598b76","unresolved":false,"context_lines":[{"line_number":220,"context_line":"        mock_is_up.assert_not_called()"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    @mock.patch(\u0027cinder.utils.service_is_up\u0027, return_value\u003dFalse)"},{"line_number":223,"context_line":"    def test_manage_snapshot_is_down(self, mock_is_up):"},{"line_number":224,"context_line":"        \"\"\"Test manage volume failure due to down service.\"\"\""},{"line_number":225,"context_line":"        body \u003d {\u0027volume\u0027: {\u0027host\u0027: \u0027host_ok\u0027, \u0027ref\u0027: \u0027fake_ref\u0027}}"},{"line_number":226,"context_line":"        res \u003d self._get_resp_post(body)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_fdd1e130","line":223,"range":{"start_line":223,"start_character":8,"end_line":223,"end_character":36},"updated":"2016-07-22 12:45:52.000000000","message":"test_manage_volume_is_down","commit_id":"16e1f63bb1f0865ecbcd49866c140c570f13fbd8"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"d279493708ac96d1c59ec8189354673414f1d112","unresolved":false,"context_lines":[{"line_number":216,"context_line":"        res \u003d self._get_resp_post(body)"},{"line_number":217,"context_line":"        self.assertEqual(400, res.status_int, res)"},{"line_number":218,"context_line":"        self.assertEqual(exception.ServiceUnavailable.message,"},{"line_number":219,"context_line":"                         res.json[\u0027badRequest\u0027][\u0027message\u0027])"},{"line_number":220,"context_line":"        mock_is_up.assert_not_called()"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    @mock.patch(\u0027cinder.utils.service_is_up\u0027, return_value\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_fbdf6466","line":219,"range":{"start_line":219,"start_character":56,"end_line":219,"end_character":59},"updated":"2016-07-27 13:35:18.000000000","message":"What about order in self.assertEqual(expected, actual)?","commit_id":"f67d3804044c79258e47d7ea36fde89ce327bdc4"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"de951e39e239ac3ce84bb16b8ee9a8dfcdd9f41f","unresolved":false,"context_lines":[{"line_number":216,"context_line":"        res \u003d self._get_resp_post(body)"},{"line_number":217,"context_line":"        self.assertEqual(400, res.status_int, res)"},{"line_number":218,"context_line":"        self.assertEqual(exception.ServiceUnavailable.message,"},{"line_number":219,"context_line":"                         res.json[\u0027badRequest\u0027][\u0027message\u0027])"},{"line_number":220,"context_line":"        mock_is_up.assert_not_called()"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    @mock.patch(\u0027cinder.utils.service_is_up\u0027, return_value\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_7f82ec01","line":219,"range":{"start_line":219,"start_character":56,"end_line":219,"end_character":59},"in_reply_to":"dada55a8_1becf8b9","updated":"2016-07-28 08:56:20.000000000","message":"Well, apparently my brain is off these days...  Thanks for doing the thinking for me.  ;-)","commit_id":"f67d3804044c79258e47d7ea36fde89ce327bdc4"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"811fa6c92f33e9dfb9207d5b41ef8c8a93c860ab","unresolved":false,"context_lines":[{"line_number":216,"context_line":"        res \u003d self._get_resp_post(body)"},{"line_number":217,"context_line":"        self.assertEqual(400, res.status_int, res)"},{"line_number":218,"context_line":"        self.assertEqual(exception.ServiceUnavailable.message,"},{"line_number":219,"context_line":"                         res.json[\u0027badRequest\u0027][\u0027message\u0027])"},{"line_number":220,"context_line":"        mock_is_up.assert_not_called()"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"    @mock.patch(\u0027cinder.utils.service_is_up\u0027, return_value\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_1becf8b9","line":219,"range":{"start_line":219,"start_character":56,"end_line":219,"end_character":59},"in_reply_to":"dada55a8_fbdf6466","updated":"2016-07-27 13:42:49.000000000","message":"Sorry, I mean the lines 228-229","commit_id":"f67d3804044c79258e47d7ea36fde89ce327bdc4"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"823cf1560d13049f53c00037ee4b6216c856c714","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    return mapper"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"def service_get_by_host_and_topic(context, host, topic):"},{"line_number":44,"context_line":"    \"\"\"Replacement for Service.service_get_by_host_and_topic."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    We mock the Service.service_get_by_host_and_topic method to return"}],"source_content_type":"text/x-python","patch_set":4,"id":"bacf61ea_c059db36","side":"PARENT","line":43,"updated":"2016-08-01 14:05:58.000000000","message":"I don\u0027t know why we have this kind of dependency.\n\nUnfortunately tests/unit/api/v3/test_volume_manage uses this method and that\u0027s why the tests are failing.","commit_id":"c523afa0fdbc6c46270419fbdb71c8bc6103ed52"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"9b730c0c7ba670041ec740d4a82e38e9fa8c4004","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    return mapper"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"def service_get_by_host_and_topic(context, host, topic):"},{"line_number":44,"context_line":"    \"\"\"Replacement for Service.service_get_by_host_and_topic."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    We mock the Service.service_get_by_host_and_topic method to return"}],"source_content_type":"text/x-python","patch_set":4,"id":"bacf61ea_8e2b4d94","side":"PARENT","line":43,"in_reply_to":"bacf61ea_c059db36","updated":"2016-08-02 16:58:59.000000000","message":"I believe those tests will pass even without mocking this, but I\u0027ll just change the mock in there to match the renamed method.","commit_id":"c523afa0fdbc6c46270419fbdb71c8bc6103ed52"}]}
