Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions installation_and_upgrade/ibex_install_utils/install_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,6 @@ def run_instrument_install(self) -> None:

self._system_tasks.check_resources()
self._system_tasks.install_or_upgrade_git()
self._system_tasks.check_java_installation()

self._system_tasks.restrict_ie()

Expand Down Expand Up @@ -231,7 +230,6 @@ def run_instrument_deploy_main(self) -> None:
Current the server can not be started or stopped in this python script.
"""
self._system_tasks.install_or_upgrade_git()
self._system_tasks.check_java_installation()
self._git_tasks.show_git_status()
self._backup_tasks.backup_old_directories()
self._backup_tasks.backup_checker()
Expand Down Expand Up @@ -295,7 +293,6 @@ def run_update_journal_parser(self) -> None:
def run_developer_update(self) -> None:
"""Update all the developer tools to latest version"""
self._mysql_tasks.install_mysql(force=False)
self._system_tasks.check_java_installation()
self._system_tasks.install_or_upgrade_git()
self._system_tasks.update_kafka_topics()
self._system_tasks.create_virtual_envs()
Expand Down

This file was deleted.

32 changes: 0 additions & 32 deletions installation_and_upgrade/ibex_install_utils/tasks/system_tasks.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import glob
import os
import shutil
import subprocess
import tempfile
import time
from pathlib import Path
Expand All @@ -14,7 +13,6 @@
from ibex_install_utils.kafka_utils import add_required_topics
from ibex_install_utils.run_process import RunProcess
from ibex_install_utils.software_dependency.git import Git
from ibex_install_utils.software_dependency.java import Java
from ibex_install_utils.task import task
from ibex_install_utils.tasks import BaseTasks
from ibex_install_utils.tasks.common_paths import APPS_BASE_DIR, EPICS_PATH, UV, VAR_DIR
Expand Down Expand Up @@ -82,36 +80,6 @@ def clean_up_desktop_ibex_training_folder(self) -> None:
"""
self._file_utils.remove_tree(DESKTOP_TRAINING_FOLDER_PATH, self.prompt)

@version_check(Java())
@task("Install java")
def check_java_installation(self) -> None:
"""
Checks Java installation
"""
installer, _ = Java().find_latest()

if os.path.exists(installer):
print(f"running installer at {installer}")
subprocess.call(
f"msiexec /i {installer} "
"ADDLOCAL=FeatureMain,FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome "
'INSTALLDIR="c:\\Program Files\\Eclipse Adoptium\\" /quiet'
)
self.prompt.prompt_and_raise_if_not_yes(
"Make sure java installed correctly.\r\n"
"After following the installer, ensure you close and then re-open"
" your remote desktop session (This "
"is a workaround for windows not immediately picking up new environment variables)"
)
else:
self.prompt.prompt_and_raise_if_not_yes(
"Upgrade openJDK installation by following:\r\n"
"https://github.com/ISISComputingGroup/ibex_developers_manual/wiki/Upgrade-Java\r\n\r\n"
"After following the installer, ensure you close and then re-open"
" your remote desktop session (This "
"is a workaround for windows not immediately picking up new environment variables)"
)

@task("Configure COM ports")
def configure_com_ports(self) -> None:
"""
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import os
import re
from unittest.mock import Mock

import pytest
from ibex_install_utils.software_dependency import is_higher
from ibex_install_utils.software_dependency.git import Git
from ibex_install_utils.software_dependency.java import Java
from ibex_install_utils.version_check import *
from ibex_install_utils.version_check import get_major_minor_patch, version_check


def get_version_from_name(name):
Expand All @@ -17,13 +17,6 @@ def get_version_from_name(name):
return version


MOCK_JAVA_INSTALLERS = [
"OpenJDK_17.0.4.3_1.msi", # latest
"OpenJDK_17.0.1_1.msi",
"OpenJDK_17.0.4_1.msi",
"OpenJDK_16.0.4.6_1.msi",
]

MOCK_GIT_INSTALLERS = [
"Git-2.3.0-1.exe",
"Git-2.3.2-1-bit.exe", # latest
Expand All @@ -33,8 +26,8 @@ def get_version_from_name(name):

class TestVersionCheck:
def test_is_higher(self):
assert is_higher("17.0", "17.0.1") == True
assert is_higher("17.0.6", "17.0.1") == False
assert is_higher("17.0", "17.0.1")
assert not is_higher("17.0.6", "17.0.1")

def test_get_major_minor_patch(self):
# good version patterns
Expand All @@ -54,66 +47,34 @@ def test_get_major_minor_patch(self):
with pytest.raises(AttributeError):
get_major_minor_patch("java 17.2.4")

def test_GIVEN_java_latest_WHEN_version_checked_THEN_decorated_function_not_called(self):
javaMock = Java()

javaMock.get_installed_version = Mock(return_value="17.0.4")
javaMock.get_version_of = Mock(side_effect=get_version_from_name)
javaMock.find_available = Mock(return_value=MOCK_JAVA_INSTALLERS)

inner_function = Mock()

@version_check(javaMock)
def function(_):
inner_function()

function(self)
inner_function.assert_not_called()

def test_GIVEN_java_old_WHEN_version_checked_THEN_decorated_function_called(self):
javaMock = Java()

javaMock.get_installed_version = Mock(return_value="17.0.0")
javaMock.get_version_of = Mock(side_effect=get_version_from_name)
javaMock.find_available = Mock(return_value=MOCK_JAVA_INSTALLERS)

functionMock = Mock()

@version_check(javaMock)
def function(_):
functionMock()

function(self)
functionMock.assert_called_once()

def test_GIVEN_git_latest_WHEN_version_checked_THEN_decorated_function_not_called(self):
gitMock = Git()
git_mock = Git()

gitMock.get_installed_version = Mock(return_value="2.3.2")
gitMock.get_version_of = Mock(side_effect=get_version_from_name)
gitMock.find_available = Mock(return_value=MOCK_GIT_INSTALLERS)
git_mock.get_installed_version = Mock(return_value="2.3.2")
git_mock.get_version_of = Mock(side_effect=get_version_from_name)
git_mock.find_available = Mock(return_value=MOCK_GIT_INSTALLERS)

functionMock = Mock()
func_mock = Mock()

@version_check(gitMock)
@version_check(git_mock)
def function(_):
functionMock()
func_mock()

function(self)
functionMock.assert_not_called()
func_mock.assert_not_called()

def test_GIVEN_git_old_WHEN_version_checked_THEN_decorated_function_called(self):
gitMock = Git()
git_mock = Git()

gitMock.get_installed_version = Mock(return_value="2.3.0")
gitMock.get_version_of = Mock(side_effect=get_version_from_name)
gitMock.find_available = Mock(return_value=MOCK_GIT_INSTALLERS)
git_mock.get_installed_version = Mock(return_value="2.3.0")
git_mock.get_version_of = Mock(side_effect=get_version_from_name)
git_mock.find_available = Mock(return_value=MOCK_GIT_INSTALLERS)

functionMock = Mock()
func_mock = Mock()

@version_check(gitMock)
@version_check(git_mock)
def function(_):
functionMock()
func_mock()

function(self)
functionMock.assert_called_once()
func_mock.assert_called_once()
Loading