def test_do_version_check_main(mock_log, old: str, new: str, should_call_back: bool, is_main_label: bool): older = _parse_version(old) newer = _parse_version(new) callback_mock = mock.Mock() def callback(msg): callback_mock(msg) _do_version_check(older, newer, callback, is_main_label) # True when local is older if should_call_back: callback_mock.assert_called_once() # when local is older the LOG sends more info messages assert mock_log.info.call_count == 2 # last call has the install command # just check that certain things are in it logged_update_message = mock_log.info.mock_calls[-1].args[0] assert "source /opt/miniconda/bin/activate /opt/miniconda" in logged_update_message assert "https://raw.githubusercontent.com/mantidproject/mantidimaging/master/install.sh" \ in logged_update_message if is_main_label: # when main this should NOT be in the string assert "ENVIRONMENT_NAME=mantidimaging_unstable REPO_LABEL=unstable" not in logged_update_message else: assert "ENVIRONMENT_NAME=mantidimaging_unstable REPO_LABEL=unstable" in logged_update_message else: callback_mock.assert_not_called() assert mock_log.info.call_count == 1 logged_update_message = mock_log.info.mock_calls[-1].args[0] assert "Running the latest Mantid Imaging" in logged_update_message
def test_make_version_str(): input_version_str = "9.9.9_1234" parsed = _parse_version(input_version_str) version_string = _make_version_str(parsed) assert version_string == input_version_str
def test_version_is_uptodate(self): for local, remote, is_uptodate in [ ["8.9.9_1234", "9.9.9_1234", False], ["9.9.9_1234", "19.9.9_1234", False], ["9.9.9_1234", "19.9.9_0", False], ["9.9.9_1", "9.9.9_2", False], ["8.9.9_1234", "8.9.9_1234", True], ["9.9.9_1234", "8.9.9_1234", True], ["8.9.9_2000", "8.9.9_1234", True], ["8.10.9_1234", "8.9.9_1234", True], ]: local_parsed = _parse_version(local) remote_parsed = _parse_version(remote) self.assertEqual(_version_is_uptodate(local_parsed, remote_parsed), is_uptodate)
def test_parse_version_release_candidate_with_commits(self): parsed = _parse_version("9.9.9rc_2") assert parsed.version == (9, 9, 9) assert parsed.commits == 2
def test_parse_version_no_commits(self): parsed = _parse_version("9.9.9") assert parsed.version == (9, 9, 9) assert parsed.commits == 0
def test_parse_version(self): parsed = _parse_version("9.9.9_1234") assert parsed.version == (9, 9, 9) assert parsed.commits == 1234
def test_version_is_uptodate(self, local, remote, is_uptodate): local_parsed = _parse_version(local) remote_parsed = _parse_version(remote) self.assertEqual(_version_is_uptodate(local_parsed, remote_parsed), is_uptodate)
def test_parse_version_release_candidate_with_commits(self): parsed = _parse_version("9.9.9rc_2") self.assertEqual(parsed.release, (9, 9, 9)) self.assertEqual(parsed.pre, ("rc", 2))
def test_parse_version_release_candidate(self): parsed = _parse_version("9.9.9rc") self.assertEqual(parsed.release, (9, 9, 9)) self.assertEqual(parsed.pre, ("rc", 0))
def test_parse_version_no_commits(self): parsed = _parse_version("9.9.9") self.assertEqual(parsed.release, (9, 9, 9))
def test_parse_version(self): parsed = _parse_version("9.9.9_1234") self.assertEqual(parsed.release, (9, 9, 9, 1234))