)]}'
{"nova/db/sqlalchemy/utils.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"754dc2fd3c6c532f939947e5a6bfe4102b03dd1c","unresolved":false,"context_lines":[{"line_number":580,"context_line":"        Index("},{"line_number":581,"context_line":"            index_name,"},{"line_number":582,"context_line":"            *[getattr(table.c, col) for col in old_columns]"},{"line_number":583,"context_line":"        ).drop(migrate_engine)"},{"line_number":584,"context_line":""},{"line_number":585,"context_line":"    Index("},{"line_number":586,"context_line":"        index_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FdFo%3D","line":583,"updated":"2013-11-05 19:38:30.000000000","message":"Probably for a cleanup patch, but we should just re-use _drop_index here.","commit_id":"fa8ebaa76d0e55693877643e094cf99f256f2b45"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"754dc2fd3c6c532f939947e5a6bfe4102b03dd1c","unresolved":false,"context_lines":[{"line_number":585,"context_line":"    Index("},{"line_number":586,"context_line":"        index_name,"},{"line_number":587,"context_line":"        *[getattr(table.c, col) for col in new_columns]"},{"line_number":588,"context_line":"    ).create()"},{"line_number":589,"context_line":""},{"line_number":590,"context_line":""},{"line_number":591,"context_line":"def modify_indexes(migrate_engine, data, upgrade\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FdFk%3D","line":588,"updated":"2013-11-05 19:38:30.000000000","message":"Probably for a cleanup patch, but we should just re-use _add_index here.","commit_id":"fa8ebaa76d0e55693877643e094cf99f256f2b45"}],"nova/tests/db/test_sqlalchemy_utils.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"754dc2fd3c6c532f939947e5a6bfe4102b03dd1c","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                index.return_value \u003d mock.Mock()"},{"line_number":36,"context_line":"                utils.modify_indexes(migrate_engine, data, False)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"                assert not index.called"},{"line_number":39,"context_line":"                assert not index.return_value.drop.called"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def test_modify_indexes_checks_index_exits_before_dropping_in_mysql(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FdFQ%3D","line":38,"updated":"2013-11-05 19:38:30.000000000","message":"I don\u0027t think it\u0027s normal to be using the assert keyword in the tests, why not use self.assertEquals(False, index.called)?","commit_id":"fa8ebaa76d0e55693877643e094cf99f256f2b45"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"754dc2fd3c6c532f939947e5a6bfe4102b03dd1c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"                assert not index.called"},{"line_number":39,"context_line":"                assert not index.return_value.drop.called"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def test_modify_indexes_checks_index_exits_before_dropping_in_mysql(self):"},{"line_number":42,"context_line":"        data \u003d {\"table_name\": ((\u0027index2\u0027, (\u0027old_column\u0027),"},{"line_number":43,"context_line":"                                (\u0027new_column\u0027)),)}"},{"line_number":44,"context_line":"        migrate_engine \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FdFA%3D","line":41,"updated":"2013-11-05 19:38:30.000000000","message":"s/exits/exists/","commit_id":"fa8ebaa76d0e55693877643e094cf99f256f2b45"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"754dc2fd3c6c532f939947e5a6bfe4102b03dd1c","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                    index.return_value \u003d mock.Mock()"},{"line_number":71,"context_line":"                    utils.modify_indexes(migrate_engine, data, False)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"                    assert index.return_value.drop.called"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FdEk%3D","line":73,"updated":"2013-11-05 19:38:30.000000000","message":"Shouldn\u0027t you assert that index.create was called too?","commit_id":"fa8ebaa76d0e55693877643e094cf99f256f2b45"}]}
