示例#1
0
 def test_init_validate_throws(self, _: Mock):
     """
     Test: Failing to parse a parameter will raise a ValueError
     When: called with a parameter that can't be validated
     """
     with self.assertRaises(ValueError):
         ReductionRunner(self.message)
示例#2
0
 def test_reduce_bad_datafile(self, _get_mantid_version: Mock,
                              mock_logger_info: Mock):
     self.message.description = "testdescription"
     runner = ReductionRunner(self.message)
     runner.reduce()
     mock_logger_info.assert_called_once()
     assert mock_logger_info.call_args[0][1] == "testdescription"
     _get_mantid_version.assert_called_once()
     assert runner.message.message == 'REDUCTION Error: Problem reading datafile: /isis/data.nxs'
示例#3
0
 def test_init(self):
     """
     Test: init parameters are as expected
     When: called with expected arguments
     """
     runner = ReductionRunner(self.message)
     self.assertEqual(runner.message, self.message)
     self.assertIsNotNone(runner.admin_log_stream)
     self.assertEqual(runner.data_file, '/isis/data.nxs')
     self.assertEqual(runner.facility, 'ISIS')
     self.assertEqual(runner.instrument, 'GEM')
     self.assertEqual(runner.proposal, '1234')
     self.assertEqual(runner.run_number, '4321')
     self.assertEqual(runner.reduction_arguments, 'None')
示例#4
0
    def test_reduce_ok(self, reduce: Mock, _get_mantid_version: Mock):
        with tempfile.NamedTemporaryFile() as tmpfile:
            self.message.data = tmpfile.name

            runner = ReductionRunner(self.message)
            runner.reduce()

        reduce.assert_called_once()
        _get_mantid_version.assert_called_once()
        assert str(reduce.call_args[0][2].path) == tmpfile.name
        assert runner.message.reduction_data is not None
        assert runner.message.reduction_log is not None
        assert runner.message.message is None
        assert runner.message.software == "5.1.0"
示例#5
0
    def test_reduce_throws_any_exception(self, reduce: Mock,
                                         _get_mantid_version: Mock):
        reduce.side_effect = Exception
        with tempfile.NamedTemporaryFile() as tmpfile:
            self.message.data = tmpfile.name

            runner = ReductionRunner(self.message)
            runner.reduce()

        reduce.assert_called_once()
        _get_mantid_version.assert_called_once()
        assert str(reduce.call_args[0][2].path) == tmpfile.name
        assert runner.message.reduction_data is None
        assert runner.message.software == "5.1.0"
        assert "REDUCTION Error:" in runner.message.message