)]}'
{"openstack_dashboard/test/helpers.py":[{"author":{"_account_id":7585,"name":"Ladislav Smola","email":"lsmola@redhat.com","username":"lsmola"},"change_message_id":"ce67173a3792bed34dfdacb1815b89a66916141f","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        self.request.session[\u0027token\u0027] \u003d self.token.id"},{"line_number":151,"context_line":"        middleware.HorizonMiddleware().process_request(self.request)"},{"line_number":152,"context_line":"        AuthenticationMiddleware().process_request(self.request)"},{"line_number":153,"context_line":"\tself.add_panel_mocks()"},{"line_number":154,"context_line":"        os.environ[\"HORIZON_TEST_RUN\"] \u003d \"True\""},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    def add_panel_mocks(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa7fdbe_f3ae6880","line":153,"updated":"2014-10-23 11:27:31.000000000","message":"just tab char","commit_id":"aea8573fd038d1dd1d4b5ccf8501682cc62dd8fc"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"d8ab9de90030e8acf5065257fba7ea3ffe8303ea","unresolved":false,"context_lines":[{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    def add_panel_mocks(self):"},{"line_number":157,"context_line":"        \"\"\"Global mocks on panels that get called on all views.\"\"\""},{"line_number":158,"context_line":"        self.patchers \u003d {}"},{"line_number":159,"context_line":"        self.patchers[\u0027aggregates\u0027] \u003d mock.patch("},{"line_number":160,"context_line":"            \u0027openstack_dashboard.dashboards.admin\u0027"},{"line_number":161,"context_line":"            \u0027.aggregates.panel.Aggregates.can_access\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_a67f2eaa","line":158,"updated":"2014-10-23 23:35:40.000000000","message":"should we move initialization back to setup()?  just in case we have more things we need to mock later.","commit_id":"7e9c207f7a6905a80b1859013fa04c2f5b79ddf8"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"787648b206a8ea5a8f8c2af0092bcd12ff3f7543","unresolved":false,"context_lines":[{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    def add_panel_mocks(self):"},{"line_number":157,"context_line":"        \"\"\"Global mocks on panels that get called on all views.\"\"\""},{"line_number":158,"context_line":"        self.patchers \u003d {}"},{"line_number":159,"context_line":"        self.patchers[\u0027aggregates\u0027] \u003d mock.patch("},{"line_number":160,"context_line":"            \u0027openstack_dashboard.dashboards.admin\u0027"},{"line_number":161,"context_line":"            \u0027.aggregates.panel.Aggregates.can_access\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_44083528","line":158,"in_reply_to":"9aa7fdbe_a67f2eaa","updated":"2014-10-24 08:09:39.000000000","message":"Done","commit_id":"7e9c207f7a6905a80b1859013fa04c2f5b79ddf8"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"d8ab9de90030e8acf5065257fba7ea3ffe8303ea","unresolved":false,"context_lines":[{"line_number":406,"context_line":"                           token\u003dself.token,"},{"line_number":407,"context_line":"                           username\u003dself.user.name,"},{"line_number":408,"context_line":"                           tenant_id\u003dself.tenant.id,"},{"line_number":409,"context_line":"                           service_catalog\u003dself.service_catalog,"},{"line_number":410,"context_line":"                           authorized_tenants\u003dself.tenants.list())"},{"line_number":411,"context_line":"        self.patchers \u003d {}"},{"line_number":412,"context_line":"        self.patchers[\u0027aggregates\u0027] \u003d mock.patch("}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_266c1e08","line":409,"updated":"2014-10-23 23:35:40.000000000","message":"move this code too","commit_id":"7e9c207f7a6905a80b1859013fa04c2f5b79ddf8"},{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"a936953e140c097ee1c5eff9fabfe03634419d5c","unresolved":false,"context_lines":[{"line_number":406,"context_line":"                           token\u003dself.token,"},{"line_number":407,"context_line":"                           username\u003dself.user.name,"},{"line_number":408,"context_line":"                           tenant_id\u003dself.tenant.id,"},{"line_number":409,"context_line":"                           service_catalog\u003dself.service_catalog,"},{"line_number":410,"context_line":"                           authorized_tenants\u003dself.tenants.list())"},{"line_number":411,"context_line":"        self.patchers \u003d {}"},{"line_number":412,"context_line":"        self.patchers[\u0027aggregates\u0027] \u003d mock.patch("}],"source_content_type":"text/x-python","patch_set":3,"id":"9aa7fdbe_84b13d49","line":409,"in_reply_to":"9aa7fdbe_266c1e08","updated":"2014-10-24 08:14:05.000000000","message":"This code does not break our gate, so it\u0027s not necessary to move it to fix this bug. It can be moved in a cleanup patch at leisure.","commit_id":"7e9c207f7a6905a80b1859013fa04c2f5b79ddf8"}]}
