def test_create_index_fails(self, sql): with pytest.raises(AttributeError): create_index(sql, 'z', name='zidx') with pytest.raises(ValueError): create_index(sql, 'x') with pytest.raises(ValueError): create_index(sql, 'z')
def test_composite_index_fails_with_existing_columns(self, sql): with pytest.raises(AttributeError): create_index(sql, ['x', 'z', 'bizz'], name='idx_name')
def test_composite_index(self, sql): create_index(sql, ['x', 'y'], name='idx_xy') with pytest.raises(OperationalError): create_index(sql, ['x', 'y'], name='idx_xy')
def test_create_index_unique(self, sql): create_index(sql, 'y', name='y_idx', unique=True) assert len(sql.indexes) == 1 idx = first(sql.indexes) assert idx.unique assert idx.columns.y == sql.c.y
def test_create_index(self, sql): create_index(sql, 'x', name='idx') with pytest.raises(OperationalError): create_index(sql, 'x', name='idx')
def test_create_index_unique(self, sql): create_index(sql, 'y', name='y_idx', unique=True) assert len(sql.table.indexes) == 1 idx = first(sql.table.indexes) assert idx.unique assert idx.columns.y == sql.table.c.y