def setUp(self): self.settings = {'jobfactory.root_dir': '/somedir', 'restricted': False, 'ncpus': 1} self.config = testing.setUp(settings=self.settings) self.config.add_route('status.json', '/status/{jobid}.json') self.jobid = '3ad25048-26f6-11e1-851e-00012e260790' self.post = {'key': 'value'} self.jq = Mock(JobQuery) self.jobquery = Mock(JobQuery) jobmeta = JobMeta(uuid.UUID(self.jobid), owner='bob') self.job = Job(jobmeta, '/mydir', Mock(JobDb)) self.job.jobquery = Mock(return_value=self.jobquery) self.job.db.maxMSLevel.return_value = 1 self.job.db.moleculesTotalCount.return_value = 1 self.jobid2 = 'fe144547-cf16-44bb-8e97-e2ffe5675154' jobmeta2 = JobMeta(uuid.UUID(self.jobid2), owner='bob') self.job2 = Job(jobmeta2, '/mydir', Mock(JobDb)) self.job2.jobquery = Mock(return_value=self.jobquery) self.job2.db.maxMSLevel.return_value = 1 self.job2.db.moleculesTotalCount.return_value = 1 self.rpc = RpcViews(self.job, testing.DummyRequest(post=self.post)) self.rpc.new_job = Mock(return_value=self.job2) self.rpc.job_factory.submitQuery = Mock()
def testChangeJobOwner(self): user1 = User(u"someone", u"somename", u"someemail", "secret") User.add(user1) user2 = User(u"someone2", u"somename2", u"someemail2", "secret2") User.add(user2) job = FakeJob() self.command.job_factory.fromId = MagicMock(name="fromId", return_value=job) JobMeta.add(job.meta) commit() args = Namespace(job=u"37dc6b15-2013-429c-98b7-f058bcf0c274", user=u"someone2") self.command.owner(args) self.assertEqual(DBSession().query(JobMeta.owner).all(), [(u"someone2",)])
def update(self, args): "Update user data" user = User.by_id(args.userid) if 'user' in args: user.userid = args.user for job in user.jobs: job.owner = args.user JobMeta.add(job) if 'name' in args: user.displayname = args.name if 'email' in args: user.email = args.email if 'password' in args: user.password = args.password User.add(user) commit()
def update(self, args): "Update user data" user = User.by_id(args.userid) if 'user' in args: user.userid = args.user for job in user.jobs: job.owner = args.user JobMeta.add(job) if 'name' in args: user.displayname = args.name if 'email' in args: user.email = args.email if 'password' in args: user.password = args.password User.add(user) commit()
def testChangeJobOwner(self): user1 = User(u'someone', u'somename', u'someemail', 'secret') User.add(user1) user2 = User(u'someone2', u'somename2', u'someemail2', 'secret2') User.add(user2) job = FakeJob() self.command.job_factory.fromId = MagicMock(name='fromId', return_value=job) JobMeta.add(job.meta) commit() args = Namespace(job=u'37dc6b15-2013-429c-98b7-f058bcf0c274', user=u'someone2') self.command.owner(args) self.assertEqual(DBSession().query(JobMeta.owner).all(), [(u'someone2', )])
def test_workspace(self): import uuid self.config.add_route('results', '/results/{jobid}') request = testing.DummyRequest() request.user = User('bob', 'Bob Example', '*****@*****.**') created_at = datetime.datetime(2012, 11, 14, 10, 48, 26, 504478) jobs = [ JobMeta( uuid.UUID('11111111-1111-1111-1111-111111111111'), 'bob', description='My job', created_at=created_at, ms_filename='F1234.mzxml', state='STOPPED', is_public=False, ) ] request.user.jobs = jobs views = Views(request) views.job_factory.dbSize = Mock(return_value=1234) response = views.workspace() id1 = '11111111-1111-1111-1111-111111111111' url1 = 'http://example.com/results/' + id1 expected_jobs = [{ 'id': '11111111-1111-1111-1111-111111111111', 'url': url1, 'description': 'My job', 'is_public': False, 'ms_filename': 'F1234.mzxml', 'state': 'STOPPED', 'created_at': '2012-11-14T10:48:26', 'size': 1234, }] self.assertEqual(response, {'jobs': expected_jobs})
class FakeJob(object): id = '37dc6b15-2013-429c-98b7-f058bcf0c274' meta = JobMeta(UUID('37dc6b15-2013-429c-98b7-f058bcf0c274'), u'someone')
def owner(self, args): """Alter owner of job""" job = self.job_factory.fromId(args.job) job.meta.owner = args.user JobMeta.add(job.meta) commit()
def owner(self, args): """Alter owner of job""" job = self.job_factory.fromId(args.job) job.meta.owner = args.user JobMeta.add(job.meta) commit()