Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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))