Beispiel #1
0
    def test_get_analyses_for_user(self):

        analysis_service = AnalysisService()
        analysis_list = analysis_service.get_analyses_for_user(self._user_id)

        self.assertNotEqual(analysis_list, None, "Expected a result to be populated")
        self.assertEqual(len(analysis_list), 2, "Expected 2 analyses back")
Beispiel #2
0
    def test_get_public_analyses(self):

        analysis_service = AnalysisService()
        analysis_list = analysis_service.get_public_analyses()

        self.assertNotEqual(analysis_list, None, "Expected a result to be populated")
        self.assertEqual(len(analysis_list), 1, "Expected 1 analysis back")
Beispiel #3
0
    def test_create_analysis(self):
        # Important - don't instantiate the mock class,
        # as the session creation function in the service
        # will do that for us

        self._mock_session.add = MagicMock()
        self._mock_session.commit = MagicMock()
        time_indicies = {}

        analysis_service = AnalysisService(self._mock_session)
        analysis_service.create(self.sample_analysis.name,
                                self.sample_analysis.point_data_dataset_id,
                                self.sample_analysis.coverage_dataset_ids,
                                self.sample_analysis.user_id,
                                self.sample_analysis.unit_of_time,
                                self.sample_analysis.random_group,
                                self.sample_analysis.model_variable,
                                self.sample_analysis.data_type,
                                self.sample_analysis.model_id,
                                self.sample_analysis.description,
                                self.sample_analysis.input_hash,
                                time_indicies)

        self._mock_session.add.assert_called_once_with(ANY)
        self._mock_session.commit.assert_called_once_with()
Beispiel #4
0
    def test_get_ncdf_file(self):

        url = 'http://localhost:8080/thredds/dodsC/testAll/LCM2007_GB_1K_DOM_TAR.nc'
        analysis_service = AnalysisService()
        results_file = analysis_service.get_netcdf_file(url)

        # Check HTTP status code of the object returned:
        #    200 indicates a successful request.
        self.assertEqual(results_file.getcode(), 200)
Beispiel #5
0
    def test_publish_analysis(self):

        analysis_service = AnalysisService()

        with analysis_service.readonly_scope() as session:

            analysis = session.query(Analysis).filter(Analysis.viewable_by == self._user_id).first()

        analysis_service.publish_analysis(analysis.id)

        with analysis_service.readonly_scope() as another_session:

            updated_analysis = another_session.query(Analysis).filter(Analysis.id == analysis.id).one()
            self.assertEqual(updated_analysis.viewable_by, None, "Expected viewable by field to be cleared out")
Beispiel #6
0
    def test_delete_private_analysis(self):

        mock_query_result = MagicMock()
        mock_query_result.one = MagicMock(return_value=self.sample_analysis)

        mock_query = MagicMock()
        mock_query.filter = MagicMock()
        mock_query.filter.return_value = mock_query_result

        self._mock_session.query = MagicMock()
        self._mock_session.query.return_value = mock_query

        analysis_service = AnalysisService(self._mock_session)
        analysis_service.delete_private_analysis(self.sample_analysis.id)

        self.assertEqual(self.sample_analysis.deleted, True)
Beispiel #7
0
    def test_publish_analysis(self):

        mock_query_result = MagicMock()
        mock_query_result.one = MagicMock(return_value=self.sample_analysis)

        mock_query = MagicMock()
        mock_query.filter = MagicMock()
        mock_query.filter.return_value = mock_query_result

        self._mock_session.query = MagicMock()
        self._mock_session.query.return_value = mock_query

        analysis_service = AnalysisService(self._mock_session)
        analysis_service.publish_analysis(self.sample_analysis.id)

        self.assertEqual(self.sample_analysis.viewable_by, None)
        self.assertEqual(self.sample_analysis.result_dataset.viewable_by_user_id, None)
Beispiel #8
0
    def test_get_analysis_by_id(self):

        analysis_service = AnalysisService()
        analysis = analysis_service.get_analysis_by_id(1, 1)
        g = 0