Esempio n. 1
0
    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'))
Esempio n. 2
0
    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()
Esempio n. 3
0
    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()
Esempio n. 4
0
    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()
Esempio n. 5
0
    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()
Esempio n. 6
0
    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()
Esempio n. 7
0
 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)
Esempio n. 8
0
    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')
Esempio n. 9
0
 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'*****@*****.**'))