예제 #1
0
    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()
예제 #2
0
파일: test_script.py 프로젝트: NLeSC/MAGMa
    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",)])
예제 #3
0
파일: script.py 프로젝트: NLeSC/MAGMa
 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()
예제 #4
0
 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()
예제 #5
0
    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', )])
예제 #6
0
파일: test_views.py 프로젝트: wangjs/MAGMa
    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})
예제 #7
0
class FakeJob(object):
    id = '37dc6b15-2013-429c-98b7-f058bcf0c274'
    meta = JobMeta(UUID('37dc6b15-2013-429c-98b7-f058bcf0c274'), u'someone')
예제 #8
0
파일: script.py 프로젝트: NLeSC/MAGMa
 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()
예제 #9
0
 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()