Skip to content

Commit

Permalink
get_payara_version
Browse files Browse the repository at this point in the history
  • Loading branch information
janvanmansum committed Nov 28, 2023
1 parent 739e007 commit 86401b3
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 6 deletions.
12 changes: 7 additions & 5 deletions src/datastation/common/version_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ def rpm_qa():


evr_pattern = r'(?P<name>.*?)-(?P<version>\d+\.\d+\.\d+)-(?P<release>\d+)'
payara_version_pattern = r'Thank you for downloading Payara Server (.*).'


def get_rpm_versions(prefix):
Expand Down Expand Up @@ -38,8 +39,9 @@ def get_dataverse_build_number(dataverse_application_path):


def get_payara_version(payara_application_path):
with open(os.path.join(payara_application_path, 'glassfish', 'modules', 'org', 'glassfish', 'main',
'glassfish-api.jar'), 'r') as f:
for line in f:
if 'Implementation-Version' in line:
return line.split(' ')[1].strip()
with open(os.path.join(payara_application_path, 'README.txt'), 'r') as f:
# Find first line that matches pattern
line = next((line for line in f if match(payara_version_pattern, line)), None)
# get subgroup 1 of the match
payara_version = match(payara_version_pattern, line).group(1)
return payara_version
9 changes: 8 additions & 1 deletion src/tests/test_version_info.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from unittest.mock import patch

from datastation.common.version_info import get_rpm_versions, get_dataverse_version
from datastation.common.version_info import get_rpm_versions, get_dataverse_version, get_payara_version


def test_some_modules_with_matching_prefix_found():
Expand Down Expand Up @@ -30,3 +30,10 @@ def test_get_dataverse_version():
mock_open.return_value.__enter__.return_value = ['dataverse.version=5.0.1\n']
version = get_dataverse_version('/opt/dv/application')
assert version == '5.0.1'


def test_get_payara_version():
with patch('builtins.open') as mock_open:
mock_open.return_value.__enter__.return_value = ['Thank you for downloading Payara Server 5.2021.1!\n']
version = get_payara_version('/opt/payara')
assert version == '5.2021.1'

0 comments on commit 86401b3

Please sign in to comment.