def build_harness(self, basedir): self.harness_basedir = basedir m = FakeMaster() m.setServiceParent(self.parent) if not os.path.isdir(basedir): os.makedirs(basedir) spec = db.DBSpec("sqlite3", os.path.join(basedir, "state.sqlite")) db.create_db(spec) m.db = db.open_db(spec) m.change_svc = cm = ChangeManager() cm.setServiceParent(m) sm = SchedulerManager(m, m.db, cm) sm.setServiceParent(m) return m, cm, sm
def test_migrate(self): fn = self.create_pickle() spec = db.DBSpec("sqlite3", "db/migrate/state.sqlite") db.create_db(spec) the_db = db.open_db(spec) self.dbs.add(the_db) runner.migrate_changes_pickle_to_db(fn, the_db, silent=True) m = ChangeManager() m.parent = FakeMaster() m.parent.db = the_db c1 = m.getChangeNumberedNow(1) self.failUnlessEqual(c1.who, "brian") self.failUnlessEqual(c1.files, sorted(["foo.c", "subdir/bar.c"])) self.failUnlessEqual(c1.comments, "first change") self.failUnlessEqual(c1.revision, "1234") # more.. c3 = Change("alice", ["baz.c"], "third change", revision="abcd") m.addChange(c3)
def test_create(self): basedir = "db/create" if not os.path.isdir(basedir): os.makedirs(basedir) spec = db.DBSpec("sqlite3", os.path.join(basedir, "db1.sqlite")) db.create_db(spec) db1 = db.open_db(spec) self.dbs.add(db1) version = db1.runQueryNow("SELECT version FROM version")[0][0] self.failUnlessEqual(version, 1) d = db1.runQuery("SELECT version FROM version") d.addCallback(lambda r: self.failUnlessEqual(r[0][0], 1, r)) def _then(ign): db2 = db.DBConnector(spec) self.dbs.add(db2) version = db2.runQueryNow("SELECT version FROM version")[0][0] self.failUnlessEqual(version, 1) return db2.runQuery("SELECT version FROM version") d.addCallback(_then) d.addCallback(lambda r: self.failUnlessEqual(r[0][0], 1, r)) return d
def test_open_db_existingOK(self): self.makeFakeDB() conn = self.trackConn(db.open_db(self.dbspec)) self.assertEqual(conn.get_version(), 1) conn.stop()