)]}'
{"nova/test.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0a10d7b723ef35601c575a890ae42c6b67c5dfd8","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                            \u0027classes\u0027)"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"def _patch_mock_to_raise_for_invalid_assert_calls():"},{"line_number":158,"context_line":"    def raise_for_invalid_assert_calls(wrapped):"},{"line_number":159,"context_line":"        def wrapper(_self, name):"},{"line_number":160,"context_line":"            valid_asserts \u003d ["},{"line_number":161,"context_line":"                \u0027assert_called_with\u0027,"},{"line_number":162,"context_line":"                \u0027assert_called_once_with\u0027,"},{"line_number":163,"context_line":"                \u0027assert_has_calls\u0027,"},{"line_number":164,"context_line":"                \u0027assert_any_calls\u0027]"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"            if name.startswith(\u0027assert\u0027) and name not in valid_asserts:"},{"line_number":167,"context_line":"                raise AttributeError(\u0027%s is not a valid mock assert method\u0027"},{"line_number":168,"context_line":"                                     % name)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"            return wrapped(_self, name)"},{"line_number":171,"context_line":"        return wrapper"},{"line_number":172,"context_line":"    mock.Mock.__getattr__ \u003d raise_for_invalid_assert_calls("},{"line_number":173,"context_line":"        mock.Mock.__getattr__)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"# NOTE(gibi): needs to be called only once at import time"},{"line_number":177,"context_line":"# to patch the mock lib"},{"line_number":178,"context_line":"_patch_mock_to_raise_for_invalid_assert_calls()"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"def _poison_context_usage_from_periodic_tasks():"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_c293234e","line":178,"range":{"start_line":157,"start_character":0,"end_line":178,"end_character":47},"updated":"2019-08-06 09:46:17.000000000","message":"This seems unrelated. I guess there was as wrong rebase at some point...","commit_id":"c0b6c8c017aad81404e8619737854054aa61820e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c471fec65384663b88712e6d09349d4c295cd02d","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                            \u0027classes\u0027)"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"def _patch_mock_to_raise_for_invalid_assert_calls():"},{"line_number":158,"context_line":"    def raise_for_invalid_assert_calls(wrapped):"},{"line_number":159,"context_line":"        def wrapper(_self, name):"},{"line_number":160,"context_line":"            valid_asserts \u003d ["},{"line_number":161,"context_line":"                \u0027assert_called_with\u0027,"},{"line_number":162,"context_line":"                \u0027assert_called_once_with\u0027,"},{"line_number":163,"context_line":"                \u0027assert_has_calls\u0027,"},{"line_number":164,"context_line":"                \u0027assert_any_calls\u0027]"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"            if name.startswith(\u0027assert\u0027) and name not in valid_asserts:"},{"line_number":167,"context_line":"                raise AttributeError(\u0027%s is not a valid mock assert method\u0027"},{"line_number":168,"context_line":"                                     % name)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"            return wrapped(_self, name)"},{"line_number":171,"context_line":"        return wrapper"},{"line_number":172,"context_line":"    mock.Mock.__getattr__ \u003d raise_for_invalid_assert_calls("},{"line_number":173,"context_line":"        mock.Mock.__getattr__)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"# NOTE(gibi): needs to be called only once at import time"},{"line_number":177,"context_line":"# to patch the mock lib"},{"line_number":178,"context_line":"_patch_mock_to_raise_for_invalid_assert_calls()"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"def _poison_context_usage_from_periodic_tasks():"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_62e7cfad","line":178,"range":{"start_line":157,"start_character":0,"end_line":178,"end_character":47},"in_reply_to":"7faddb67_c293234e","updated":"2019-08-06 10:00:01.000000000","message":"Yepp. This was removed already in patch Iecf4dcf8e648c9191bf8846428683ec81812c026","commit_id":"c0b6c8c017aad81404e8619737854054aa61820e"}]}
