def test_drop_with_missing_patch_table(self): """ L{Schema.drop} works fine even if the user's supplied statements end up dropping the patch table that we created. """ import patch_package schema = Schema([], ["DROP TABLE patch"], [], patch_package) schema.create(self.store) schema.drop(self.store) self.assertRaises(StormError, self.store.execute, "SELECT * FROM patch")
def setUp(self): super(SchemaTest, self).setUp() self.database = create_database("sqlite:///%s" % self.makeFile()) self.store = Store(self.database) self._package_dirs = set() self._package_names = set() self.package = self.create_package(self.makeDir(), "patch_package") import patch_package creates = ["CREATE TABLE person (id INTEGER, name TEXT)"] drops = ["DROP TABLE person"] deletes = ["DELETE FROM person"] self.schema = Schema(creates, drops, deletes, patch_package)
""", """ CREATE VIEW open_nodes AS SELECT DISTINCT node FROM node_config WHERE "key"='accessModel' AND "value"='open'; """, ] DROP = [] DELETE = [ """ DELETE FROM affiliations """, """ DELETE FROM subscriptions """, """ DELETE FROM items """, """ DELETE FROM node_config """, """ DELETE FROM nodes """, ] schema = Schema(CREATE, DROP, DELETE, patches)