)]}'
{"ironic/tests/unit/common/test_nova.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"b8c259f54de125272a0e718dfc2a2006af4d5a3c","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                  \u0027tag\u0027: \u0027POWER_OFF\u0027}]"},{"line_number":123,"context_line":"        nova_result \u003d requests.Response()"},{"line_number":124,"context_line":"        with mock.patch.object(nova_adapter, \u0027post\u0027) as mock_post_event:"},{"line_number":125,"context_line":"            for stat_code in (500, 404, 207):"},{"line_number":126,"context_line":"                mock_log.reset_mock()"},{"line_number":127,"context_line":"                nova_result.status_code \u003d stat_code"},{"line_number":128,"context_line":"                type(nova_result).text \u003d mock.PropertyMock(return_value\u003d\"blah\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_e53bf497","side":"PARENT","line":125,"range":{"start_line":125,"start_character":40,"end_line":125,"end_character":43},"updated":"2019-12-10 15:39:44.000000000","message":"Note to reviewers: Removed this from here because it\u0027s now covered in test_power_update above.","commit_id":"8a0b1a39f2723363287f989ed0df70523c3e1c20"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"022b80abd166068398c07aca38aad6f28ae1ec94","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                  \u0027tag\u0027: \u0027POWER_OFF\u0027}]"},{"line_number":123,"context_line":"        nova_result \u003d requests.Response()"},{"line_number":124,"context_line":"        with mock.patch.object(nova_adapter, \u0027post\u0027) as mock_post_event:"},{"line_number":125,"context_line":"            for stat_code in (500, 404, 207):"},{"line_number":126,"context_line":"                mock_log.reset_mock()"},{"line_number":127,"context_line":"                nova_result.status_code \u003d stat_code"},{"line_number":128,"context_line":"                type(nova_result).text \u003d mock.PropertyMock(return_value\u003d\"blah\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_25d26c35","side":"PARENT","line":125,"range":{"start_line":125,"start_character":40,"end_line":125,"end_character":43},"updated":"2019-12-10 15:45:08.000000000","message":"so you removed 207 because we don\u0027t consider that to be a failure because we always returned true in that case and treated it as a success.","commit_id":"8a0b1a39f2723363287f989ed0df70523c3e1c20"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ad12232a076121f0e311538f195ba561aa81b26f","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                  \u0027tag\u0027: \u0027POWER_OFF\u0027}]"},{"line_number":123,"context_line":"        nova_result \u003d requests.Response()"},{"line_number":124,"context_line":"        with mock.patch.object(nova_adapter, \u0027post\u0027) as mock_post_event:"},{"line_number":125,"context_line":"            for stat_code in (500, 404, 207):"},{"line_number":126,"context_line":"                mock_log.reset_mock()"},{"line_number":127,"context_line":"                nova_result.status_code \u003d stat_code"},{"line_number":128,"context_line":"                type(nova_result).text \u003d mock.PropertyMock(return_value\u003d\"blah\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_6572a44c","side":"PARENT","line":125,"range":{"start_line":125,"start_character":40,"end_line":125,"end_character":43},"in_reply_to":"3fa7e38b_25d26c35","updated":"2019-12-10 15:46:06.000000000","message":"oh right yes it is tested there.","commit_id":"8a0b1a39f2723363287f989ed0df70523c3e1c20"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"022b80abd166068398c07aca38aad6f28ae1ec94","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        self.api \u003d nova"},{"line_number":54,"context_line":"        self.ctx \u003d context.get_admin_context()"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @ddt.unpack"},{"line_number":57,"context_line":"    # one @ddt.data element comprises:"},{"line_number":58,"context_line":"    # - nova_result: POST response JSON dict"},{"line_number":59,"context_line":"    # - resp_status: POST response status_code"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_e5c6949c","line":56,"range":{"start_line":56,"start_character":3,"end_line":56,"end_character":15},"updated":"2019-12-10 15:45:08.000000000","message":"so unpack thaks the iterable \n\n[{\u0027events\u0027: [{\u0027status\u0027: \u0027completed\u0027,\n                            \u0027tag\u0027: \u0027POWER_OFF\u0027,\n                            \u0027name\u0027: \u0027power-update\u0027,\n                            \u0027server_uuid\u0027: \u00271234\u0027,\n                            \u0027code\u0027: 200}]},\n               200, True]\n\nand basically applies * to it to expand it to postional args so that the function is invoke with the 3 sub elements of the list instead of being passed the list correct.","commit_id":"950acaaf17cf91f037b1c6b6289d125c6b8650f5"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"eb969bac6d8279cf88221d3862420385e765425c","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        self.api \u003d nova"},{"line_number":54,"context_line":"        self.ctx \u003d context.get_admin_context()"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @ddt.unpack"},{"line_number":57,"context_line":"    # one @ddt.data element comprises:"},{"line_number":58,"context_line":"    # - nova_result: POST response JSON dict"},{"line_number":59,"context_line":"    # - resp_status: POST response status_code"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_63861968","line":56,"range":{"start_line":56,"start_character":3,"end_line":56,"end_character":15},"in_reply_to":"3fa7e38b_e5c6949c","updated":"2019-12-10 19:57:42.000000000","message":"Yup","commit_id":"950acaaf17cf91f037b1c6b6289d125c6b8650f5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"022b80abd166068398c07aca38aad6f28ae1ec94","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        self.ctx \u003d context.get_admin_context()"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    @ddt.unpack"},{"line_number":57,"context_line":"    # one @ddt.data element comprises:"},{"line_number":58,"context_line":"    # - nova_result: POST response JSON dict"},{"line_number":59,"context_line":"    # - resp_status: POST response status_code"},{"line_number":60,"context_line":"    # - exp_ret: Expected bool return value from power_update()"},{"line_number":61,"context_line":"    @ddt.data([{\u0027events\u0027: [{\u0027status\u0027: \u0027completed\u0027,"},{"line_number":62,"context_line":"                            \u0027tag\u0027: \u0027POWER_OFF\u0027,"},{"line_number":63,"context_line":"                            \u0027name\u0027: \u0027power-update\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_05cad09e","line":60,"range":{"start_line":57,"start_character":4,"end_line":60,"end_character":63},"updated":"2019-12-10 15:45:08.000000000","message":"thanks this helps","commit_id":"950acaaf17cf91f037b1c6b6289d125c6b8650f5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"022b80abd166068398c07aca38aad6f28ae1ec94","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    # - nova_result: POST response JSON dict"},{"line_number":59,"context_line":"    # - resp_status: POST response status_code"},{"line_number":60,"context_line":"    # - exp_ret: Expected bool return value from power_update()"},{"line_number":61,"context_line":"    @ddt.data([{\u0027events\u0027: [{\u0027status\u0027: \u0027completed\u0027,"},{"line_number":62,"context_line":"                            \u0027tag\u0027: \u0027POWER_OFF\u0027,"},{"line_number":63,"context_line":"                            \u0027name\u0027: \u0027power-update\u0027,"},{"line_number":64,"context_line":"                            \u0027server_uuid\u0027: \u00271234\u0027,"},{"line_number":65,"context_line":"                            \u0027code\u0027: 200}]},"},{"line_number":66,"context_line":"               200, True],"},{"line_number":67,"context_line":"              [{\u0027events\u0027: [{\u0027code\u0027: 422}]}, 207, False],"},{"line_number":68,"context_line":"              [{\u0027events\u0027: [{\u0027code\u0027: 404}]}, 207, False],"},{"line_number":69,"context_line":"              [{\u0027events\u0027: [{\u0027code\u0027: 400}]}, 207, False],"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_25e82c14","line":66,"range":{"start_line":61,"start_character":14,"end_line":66,"end_character":25},"updated":"2019-12-10 15:45:08.000000000","message":"nit: we proably shoudl use tuples () here instead of lists []","commit_id":"950acaaf17cf91f037b1c6b6289d125c6b8650f5"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"eb969bac6d8279cf88221d3862420385e765425c","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    # - nova_result: POST response JSON dict"},{"line_number":59,"context_line":"    # - resp_status: POST response status_code"},{"line_number":60,"context_line":"    # - exp_ret: Expected bool return value from power_update()"},{"line_number":61,"context_line":"    @ddt.data([{\u0027events\u0027: [{\u0027status\u0027: \u0027completed\u0027,"},{"line_number":62,"context_line":"                            \u0027tag\u0027: \u0027POWER_OFF\u0027,"},{"line_number":63,"context_line":"                            \u0027name\u0027: \u0027power-update\u0027,"},{"line_number":64,"context_line":"                            \u0027server_uuid\u0027: \u00271234\u0027,"},{"line_number":65,"context_line":"                            \u0027code\u0027: 200}]},"},{"line_number":66,"context_line":"               200, True],"},{"line_number":67,"context_line":"              [{\u0027events\u0027: [{\u0027code\u0027: 422}]}, 207, False],"},{"line_number":68,"context_line":"              [{\u0027events\u0027: [{\u0027code\u0027: 404}]}, 207, False],"},{"line_number":69,"context_line":"              [{\u0027events\u0027: [{\u0027code\u0027: 400}]}, 207, False],"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_237ca16f","line":66,"range":{"start_line":61,"start_character":14,"end_line":66,"end_character":25},"in_reply_to":"3fa7e38b_25e82c14","updated":"2019-12-10 19:57:42.000000000","message":"In this context I can\u0027t see where it could possibly make a difference.","commit_id":"950acaaf17cf91f037b1c6b6289d125c6b8650f5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"022b80abd166068398c07aca38aad6f28ae1ec94","unresolved":false,"context_lines":[{"line_number":67,"context_line":"              [{\u0027events\u0027: [{\u0027code\u0027: 422}]}, 207, False],"},{"line_number":68,"context_line":"              [{\u0027events\u0027: [{\u0027code\u0027: 404}]}, 207, False],"},{"line_number":69,"context_line":"              [{\u0027events\u0027: [{\u0027code\u0027: 400}]}, 207, False],"},{"line_number":70,"context_line":"              # This (response 207, event code 200) will never happen IRL"},{"line_number":71,"context_line":"              [{\u0027events\u0027: [{\u0027code\u0027: 200}]}, 207, True])"},{"line_number":72,"context_line":"    @mock.patch.object(nova, \u0027_get_nova_adapter\u0027)"},{"line_number":73,"context_line":"    def test_power_update(self, nova_result, resp_status, exp_ret,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_c5bfd8f9","line":70,"range":{"start_line":70,"start_character":14,"end_line":70,"end_character":73},"updated":"2019-12-10 15:45:08.000000000","message":"this is it completed succesfully but we returned a 207 for some reason instead.","commit_id":"950acaaf17cf91f037b1c6b6289d125c6b8650f5"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"eb969bac6d8279cf88221d3862420385e765425c","unresolved":false,"context_lines":[{"line_number":67,"context_line":"              [{\u0027events\u0027: [{\u0027code\u0027: 422}]}, 207, False],"},{"line_number":68,"context_line":"              [{\u0027events\u0027: [{\u0027code\u0027: 404}]}, 207, False],"},{"line_number":69,"context_line":"              [{\u0027events\u0027: [{\u0027code\u0027: 400}]}, 207, False],"},{"line_number":70,"context_line":"              # This (response 207, event code 200) will never happen IRL"},{"line_number":71,"context_line":"              [{\u0027events\u0027: [{\u0027code\u0027: 200}]}, 207, True])"},{"line_number":72,"context_line":"    @mock.patch.object(nova, \u0027_get_nova_adapter\u0027)"},{"line_number":73,"context_line":"    def test_power_update(self, nova_result, resp_status, exp_ret,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_a3ae51e1","line":70,"range":{"start_line":70,"start_character":14,"end_line":70,"end_character":73},"in_reply_to":"3fa7e38b_c5bfd8f9","updated":"2019-12-10 19:57:42.000000000","message":"Right, that would be a) impossible with the current code, and b) against the stated contract. That said, it\u0027s not out of the question that the contract would change such that we *always* return 207 no matter what. If that were to happen, this test proves we would still do the right thing.","commit_id":"950acaaf17cf91f037b1c6b6289d125c6b8650f5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"022b80abd166068398c07aca38aad6f28ae1ec94","unresolved":false,"context_lines":[{"line_number":132,"context_line":"                  \u0027tag\u0027: \u0027POWER_OFF\u0027}]"},{"line_number":133,"context_line":"        nova_result \u003d requests.Response()"},{"line_number":134,"context_line":"        with mock.patch.object(nova_adapter, \u0027post\u0027) as mock_post_event:"},{"line_number":135,"context_line":"            for stat_code in (500, 404, 400):"},{"line_number":136,"context_line":"                mock_log.reset_mock()"},{"line_number":137,"context_line":"                nova_result.status_code \u003d stat_code"},{"line_number":138,"context_line":"                type(nova_result).text \u003d mock.PropertyMock(return_value\u003d\"blah\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_45be88d4","line":135,"range":{"start_line":135,"start_character":40,"end_line":135,"end_character":43},"updated":"2019-12-10 15:45:08.000000000","message":"and you added 400 because that was previously not covered.","commit_id":"950acaaf17cf91f037b1c6b6289d125c6b8650f5"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"eb969bac6d8279cf88221d3862420385e765425c","unresolved":false,"context_lines":[{"line_number":132,"context_line":"                  \u0027tag\u0027: \u0027POWER_OFF\u0027}]"},{"line_number":133,"context_line":"        nova_result \u003d requests.Response()"},{"line_number":134,"context_line":"        with mock.patch.object(nova_adapter, \u0027post\u0027) as mock_post_event:"},{"line_number":135,"context_line":"            for stat_code in (500, 404, 400):"},{"line_number":136,"context_line":"                mock_log.reset_mock()"},{"line_number":137,"context_line":"                nova_result.status_code \u003d stat_code"},{"line_number":138,"context_line":"                type(nova_result).text \u003d mock.PropertyMock(return_value\u003d\"blah\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_838c7580","line":135,"range":{"start_line":135,"start_character":40,"end_line":135,"end_character":43},"in_reply_to":"3fa7e38b_45be88d4","updated":"2019-12-10 19:57:42.000000000","message":"Yeah, really not necessary, but it hits the boundary of the \u003e\u003d","commit_id":"950acaaf17cf91f037b1c6b6289d125c6b8650f5"}]}
