def setUp(self): import tempfile self.root_dir = tempfile.mkdtemp() self.factory = JobFactory(root_dir=self.root_dir, submit_url='http://localhost:9998/job', ) # fill user db transaction.begin() engine = create_engine('sqlite:///:memory:') mu.DBSession.configure(bind=engine) mu.Base.metadata.create_all(engine) # @UndefinedVariable mu.DBSession().add(mu.User(u'bob', u'Bob', u'*****@*****.**')) jobid = uuid.UUID('3ad25048-26f6-11e1-851e-00012e260790') mu.DBSession().add(mu.JobMeta(jobid, owner=u'bob'))
def test_by_id(self): init_user_db() self.session = user.DBSession() u = user.User(u'bob', u'Bob Smith', u'*****@*****.**') self.session.add(u) u2 = user.User.by_id(u'bob') self.assertEqual(u, u2) destroy_user_db()
def test_add(self): init_user_db() u = user.User(u'bob', u'Bob Smith', u'*****@*****.**') user.User.add(u) session = user.DBSession() u2 = session.query(user.User).get('bob') self.assertEqual(u, u2) destroy_user_db()
def test_delete(self): init_user_db() u = user.User(u'bob', u'Bob Smith', u'*****@*****.**') user.User.add(u) user.User.delete(u) session = user.DBSession() u2 = session.query(user.User).get(u'bob') self.assertIsNone(u2) destroy_user_db()
def test_generate(self): init_user_db() u = user.User.generate() eu = user.User(u.userid, 'Temporary user', '*****@*****.**') self.assertEqual(u, eu) session = user.DBSession() u2 = session.query(user.User).get(u.userid) self.assertEqual(u, u2) destroy_user_db()
def test_jobs(self): init_user_db() session = user.DBSession() u = user.User(u'bob', u'Bob Smith', u'*****@*****.**') session.add(u) job_id = uuid.UUID('11111111-1111-1111-1111-111111111111') j = user.JobMeta(job_id, u'bob') session.add(j) u2 = user.User.by_id(u'bob') # force commit self.assertEqual(u2.jobs, [j]) destroy_user_db()
def setUp(self): self.config = testing.setUp() self.config.add_static_view('static', 'magmaweb:static') self.request = testing.DummyRequest() self.request.registry.settings = { 'extjsroot': 'extjsroot', 'jobfactory.root_dir': '/somedir', 'monitor_user': '******', } init_user_db() self.session = user.DBSession() u = user.User(u'me', u'My', u'myself') self.session.add(u) job_id = uuid.UUID('11111111-1111-1111-1111-111111111111') j = user.JobMeta(job_id, u'me', description=u'My job') self.session.add(j)
def test_fromdb(self): # mock/stub private methods which do external calls self.factory._makeJobDir = Mock(return_value='/mydir') self.factory._copyFile = Mock() self.factory._makeJobSession = Mock(return_value=initTestingDB()) dbfile = os.tmpfile() job = self.factory.fromDb(dbfile, u'bob') self.assertIsInstance(job.id, uuid.UUID) self.assertEqual(job.dir, u'/mydir') self.assertEqual(job.meta.owner, u'bob') self.assertEqual(job.meta.description, u'My first description') self.assertEqual(job.meta.ms_filename, u'F123456.mzxml') self.assertEqual(job.meta.state, u'STOPPED') self.factory._makeJobDir.assert_called_with(job.id) self.factory._copyFile.assert_called_with(dbfile, job.id) o = mu.DBSession().query(mu.JobMeta.owner ).filter(mu.JobMeta.jobid == job.id).scalar() self.assertEqual(o, u'bob', 'job meta has been inserted')
def setUp(self): init_user_db() self.session = user.DBSession() # job must be owned by a user self.session.add(user.User(u'bob', u'Bob Smith', u'*****@*****.**'))