def test(self): # check that if risk models are provided, then the ``points to # compute`` and the imls are got from there username = helpers.default_user() job = engine.prepare_job(username) cfg = helpers.get_data_path("classical_job-sd-imt.ini") params = vars(readini.parse_config(open(cfg))) del params["hazard_calculation_id"] del params["hazard_output_id"] haz_calc = engine.create_calculation(models.HazardCalculation, params) haz_calc = models.HazardCalculation.objects.get(id=haz_calc.id) job.hazard_calculation = haz_calc job.is_running = True job.save() calc = get_calculator_class("hazard", job.hazard_calculation.calculation_mode)(job) calc.parse_risk_models() self.assertEqual( [(1.0, -1.0), (0.0, 0.0)], [(point.latitude, point.longitude) for point in haz_calc.points_to_compute()] ) self.assertEqual(["PGA"], haz_calc.get_imts()) self.assertEqual(3, haz_calc.oqjob.exposuremodel.exposuredata_set.count()) return job
def test(self): # check that if risk models are provided, then the sites # and the imls are got from there cfg = helpers.get_data_path('classical_job-sd-imt.ini') job = engine.job_from_file(cfg, helpers.default_user()) job.is_running = True job.save() calc = calculators(job) calc.parse_risk_model() self.assertEqual(['PGA'], list(calc.oqparam.imtls)) self.assertEqual(3, calc.job.exposuremodel.exposuredata_set.count()) return job
def test(self): # check that if risk models are provided, then the sites # and the imls are got from there cfg = helpers.get_data_path('classical_job-sd-imt.ini') job = engine.job_from_file(cfg, helpers.default_user()) job.is_running = True job.save() haz_calc = job.get_oqparam() calc = get_calculator_class('hazard', haz_calc.calculation_mode)(job) calc.parse_risk_models() self.assertEqual(['PGA'], list(calc.hc.intensity_measure_types_and_levels)) self.assertEqual(3, calc.job.exposuremodel.exposuredata_set.count()) return job
def test(self): # check that if risk models are provided, then the ``points to # compute`` and the imls are got from there username = helpers.default_user() job = engine.prepare_job(username) cfg = helpers.get_data_path('classical_job-sd-imt.ini') params = engine.parse_config(open(cfg, 'r')) haz_calc = engine.create_calculation(models.HazardCalculation, params) haz_calc = models.HazardCalculation.objects.get(id=haz_calc.id) job.hazard_calculation = haz_calc job.is_running = True job.save() base_path = ('openquake.engine.calculators.hazard.classical.core' '.ClassicalHazardCalculator') init_src_patch = helpers.patch( '%s.%s' % (base_path, 'initialize_sources')) init_rlz_patch = helpers.patch( '%s.%s' % (base_path, 'initialize_realizations')) patches = (init_src_patch, init_rlz_patch) mocks = [p.start() for p in patches] get_calculator_class( 'hazard', job.hazard_calculation.calculation_mode)(job).pre_execute() self.assertEqual([(1.0, -1.0), (0.0, 0.0)], [(point.latitude, point.longitude) for point in haz_calc.points_to_compute()]) self.assertEqual(['PGA'], haz_calc.get_imts()) self.assertEqual( 3, haz_calc.oqjob.exposuremodel.exposuredata_set.count()) for i, m in enumerate(mocks): m.stop() patches[i].stop() return job