def test_iter_indexes(self): """Testing DatabaseState.iter_indexes""" database_state = DatabaseState(db_name='default', scan=False) database_state.add_table('my_test_table') database_state.add_index(table_name='my_test_table', index_name='my_index1', columns=['col1', 'col2'], unique=True) database_state.add_index(table_name='my_test_table', index_name='my_index2', columns=['col3']) indexes = list(database_state.iter_indexes('my_test_table')) self.assertEqual(indexes, [ IndexState(name='my_index1', columns=['col1', 'col2'], unique=True), IndexState(name='my_index2', columns=['col3'], unique=False), ])
def test_find_index(self): """Testing DatabaseState.find_index""" database_state = DatabaseState(db_name='default', scan=False) database_state.add_table('my_test_table') database_state.add_index(table_name='my_test_table', index_name='my_index', columns=['col1', 'col2']) index = database_state.find_index(table_name='my_test_table', columns=['col1', 'col2']) self.assertEqual(index, IndexState(name='my_index', columns=['col1', 'col2']))
def test_get_index(self): """Testing DatabaseState.get_index""" database_state = DatabaseState(db_name='default', scan=False) database_state.add_table('my_test_table') database_state.add_index(table_name='my_test_table', index_name='my_index', columns=['col1', 'col2'], unique=True) self.assertEqual( database_state.get_index(table_name='my_test_table', index_name='my_index'), IndexState(name='my_index', columns=['col1', 'col2'], unique=True))
def test_find_index_with_unique_true(self): """Testing DatabaseState.find_index with unique=True""" database_state = DatabaseState(db_name='default', scan=False) database_state.add_table('my_test_table') database_state.add_index(table_name='my_test_table', index_name='my_index', columns=['col1', 'col2'], unique=True) index = database_state.find_index(table_name='my_test_table', columns=['col1', 'col2'], unique=True) self.assertEqual( index, IndexState(name='my_index', columns=['col1', 'col2'], unique=True))
def test_add_index(self): """Testing DatabaseState.add_index""" database_state = DatabaseState(db_name='default', scan=False) database_state.add_table('my_test_table') database_state.add_index(table_name='my_test_table', index_name='my_index', columns=['col1', 'col2']) self.assertEqual( database_state._tables['my_test_table'], { 'indexes': { 'my_index': IndexState(name='my_index', columns=['col1', 'col2']), }, 'unique_indexes': {}, })