Exemple #1
0
    def test_moleculessdf_somecols(self):
        job = self.fake_job()
        job.db.molecules2sdf.return_value = 'bla'
        request = testing.DummyRequest(params={
            'start': 0,
            'limit': 10,
            'cols': '["name","score"]'
        })
        views = JobViews(job, request)
        views.moleculesjson = Mock(return_value={'rows': []})
        views.moleculessdf()

        job.db.molecules2sdf.assert_called_with([], cols=['name', 'score'])
Exemple #2
0
    def test_moleculescsv(self):
        csv = StringIO()
        csv.write('bla')
        job = self.fake_job()
        job.db.molecules2csv.return_value = csv
        request = testing.DummyRequest(params={'start': 0, 'limit': 10})
        views = JobViews(job, request)
        views.moleculesjson = Mock(return_value={'rows': []})

        response = views.moleculescsv()

        self.assertEqual(response.content_type, 'text/csv')
        self.assertEqual(response.body, b'bla')
Exemple #3
0
    def test_moleculesjson_notfilledreturn(self):
        request = testing.DummyRequest(params={'start': 0, 'limit': 10})
        job = self.fake_job()
        job.db.moleculesTotalCount.return_value = 0
        views = JobViews(job, request)

        response = views.moleculesjson()

        self.assertEqual(response, {
            'totalUnfiltered': 0,
            'total': 3,
            'rows': [1, 2, 3],
            'scans': [4, 5]
        })
Exemple #4
0
    def test_fragments_badmolecule_notfound(self):
        from magmaweb.job import FragmentNotFound
        request = testing.DummyRequest(matchdict={
            'molid': 72,
            'scanid': 641
        },
                                       params={'node': ''})

        job = self.fake_job()
        job.db.fragments.side_effect = FragmentNotFound
        views = JobViews(job, request)

        from pyramid.httpexceptions import HTTPNotFound
        with self.assertRaises(HTTPNotFound):
            views.fragments()
Exemple #5
0
    def test_incompletejob(self):
        request = testing.DummyRequest(params={'start': 0, 'limit': 10})
        job = self.fake_job()
        job.is_complete = Mock()

        JobViews(job, request)

        job.is_complete.assert_called_with()
Exemple #6
0
    def test_moleculescsv_somecols(self):
        csv = StringIO()
        csv.write('bla')
        job = self.fake_job()
        job.db.molecules2csv.return_value = csv
        request = testing.DummyRequest(params={
            'start': 0,
            'limit': 10,
            'cols': '["name","score"]'
        })

        views = JobViews(job, request)
        rows = [{'name': 'foo', 'score': 'bar', 'id': 123}]
        views.moleculesjson = Mock(return_value={'rows': rows})

        views.moleculescsv()

        job.db.molecules2csv.assert_called_with(rows, cols=['name', 'score'])
Exemple #7
0
    def test_runinfojson(self):
        request = testing.DummyRequest()
        job = self.fake_job()
        from magmaweb.models import Run
        job.db.runInfo.return_value = Run(
            ionisation_mode=-1,
            skip_fragmentation=True,
            ms_intensity_cutoff=200000.0,
            msms_intensity_cutoff=50,
            mz_precision=4.0,
            mz_precision_abs=0.002,
            use_all_peaks=True,
            ms_filename='F123456.mzxml',
            abs_peak_cutoff=1000,
            max_ms_level=3,
            precursor_mz_precision=0.01,
            max_broken_bonds=4,
            description='My first description',
            max_water_losses=1,
        )
        views = JobViews(job, request)

        response = views.runinfojson()

        self.assertEqual(
            response, {
                'success':
                True,
                'data':
                dict(
                    ms_data_area='',
                    ms_data_format='mzxml',
                    ionisation_mode=-1,
                    ms_intensity_cutoff=200000.0,
                    msms_intensity_cutoff=50,
                    mz_precision=4.0,
                    mz_precision_abs=0.002,
                    abs_peak_cutoff=1000,
                    max_ms_level=3,
                    precursor_mz_precision=0.01,
                    max_broken_bonds=4,
                    max_water_losses=1,
                )
            })
Exemple #8
0
    def test_moleculesjson_scanidfilter(self):
        request = testing.DummyRequest(params={
            'start': 0,
            'limit': 10,
            'scanid': 641
        })
        job = self.fake_job()
        views = JobViews(job, request)

        views.moleculesjson()

        job.db.molecules.assert_called_with(
            start=0,
            limit=10,
            sorts=[],
            scanid=641,
            filters=[],
            molid=None,
            mz=None,
        )
Exemple #9
0
    def test_moleculesjson_scansfilteredonmol(self):
        request = testing.DummyRequest(params={
            'start': 0,
            'limit': 10,
            'molid': 1,
        })
        job = self.fake_job()
        views = JobViews(job, request)
        job.db.molecules.return_value = {
            'total': 3,
            'rows': [1, 2, 3],
            'page': 1,
            'molid': 1
        }

        views.moleculesjson()

        job.db.scansWithMolecules.assert_called_once_with(filters=[],
                                                          molid=1,
                                                          mz=None,
                                                          scanid=None)