def setUp(self):
     dap_client_factory = DapClientFactory()
     dap_client_factory.get_land_cover_dap_client = self._mock_get_land_cover_dap_client
     dap_client_factory.get_soil_properties_dap_client = self._mock_get_soil_properties_dap_client
     self.land_cover_service = LandCoverService(dap_client_factory=dap_client_factory)
     self.model_run_service = ModelRunService()
     self.dataset_service = DatasetService()
     self.parameter_service = ParameterService()
     self.clean_database()
     self.user = self.login()
     self.create_model_run_ready_for_submit()
    def test_GIVEN_thredds_not_working_WHEN_get_default_cover_THEN_zeros_returned(self):
        self.clean_database()
        self.user = self.login()
        self.create_model_run_with_user_uploaded_driving_data()

        def _get_broken_dap_client(url, key):
            return MockLandCoverDapClient("broken_url", key)

        dap_client_factory = DapClientFactory()
        dap_client_factory.get_land_cover_dap_client = _get_broken_dap_client
        self.land_cover_service = LandCoverService(dap_client_factory=dap_client_factory)

        model_run = self.model_run_service.get_model_being_created_with_non_default_parameter_values(self.user)
        fractional_vals = self.land_cover_service.get_default_fractional_cover(model_run, self.user)
        assert_that(fractional_vals, is_([0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]))