Skip to content

Commit 3edf8bf

Browse files
committed
[minor] Add isClusterVersionInRange() function
1 parent 27eec46 commit 3edf8bf

2 files changed

Lines changed: 19 additions & 0 deletions

File tree

src/mas/devops/ocp.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,14 @@ def getClusterVersion(dynClient: DynamicClient) -> str:
7878
return None
7979

8080

81+
def isClusterVersionInRange(version: str, releases: list[str]) -> bool:
82+
if releases is not None:
83+
for release in releases:
84+
if version.startswith(f"{release}."):
85+
return True
86+
return False
87+
88+
8189
def getNamespace(dynClient: DynamicClient, namespace: str) -> dict:
8290
"""
8391
Get a namespace

test/src/test_ocp.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,17 @@
1515
from mas.devops import ocp
1616

1717

18+
def test_is_cluster_in_range():
19+
assert ocp.isClusterVersionInRange("4.1.6", None) is False
20+
assert ocp.isClusterVersionInRange("4.1.6", []) is False
21+
assert ocp.isClusterVersionInRange("4.1.6", ["4.16", "4.17", "4.18"]) is False
22+
assert ocp.isClusterVersionInRange("4.12.6", ["4.16", "4.17", "4.18"]) is False
23+
assert ocp.isClusterVersionInRange("4.15.6", ["4.16", "4.17", "4.18"]) is False
24+
assert ocp.isClusterVersionInRange("4.16.0", ["4.16", "4.17", "4.18"]) is True
25+
assert ocp.isClusterVersionInRange("4.18.1", ["4.16", "4.17", "4.18"]) is True
26+
assert ocp.isClusterVersionInRange("5.0.0", ["4.16", "4.17", "4.18"]) is False
27+
28+
1829
def test_execInPod_success(mocker):
1930

2031
mock_CoreV1Api = mocker.patch('kubernetes.client.CoreV1Api')

0 commit comments

Comments
 (0)