K8sService class (#307)

K8sService class

SUMMARY

This refactors the perform_action() logic from common.py into a separate K8sService class.
TODO:

 Unit tests.

ISSUE TYPE

New Module Pull Request

COMPONENT NAME

service.py

Reviewed-by: Abhijeet Kasurde <None>
Reviewed-by: Mike Graves <mgraves@redhat.com>
Reviewed-by: Alina Buzachis <None>
Reviewed-by: None <None>
This commit is contained in:
Alina Buzachis
2022-01-13 16:08:47 +01:00
committed by Mike Graves
parent f168a3f67f
commit e2f54d3431
6 changed files with 1029 additions and 8 deletions

View File

@@ -83,7 +83,10 @@ def test_waiter_waits_for_missing_resource():
client = Mock(**spec)
resource = Mock()
result, instance, elapsed = Waiter(client, resource, exists).wait(
RESOURCES[0], 3, 1
timeout=3,
sleep=1,
name=RESOURCES[0]["metadata"].get("name"),
namespace=RESOURCES[0]["metadata"].get("namespace"),
)
assert result is False
assert instance is None
@@ -95,7 +98,12 @@ def test_waiter_waits_for_resource_to_exist(resource, expected):
result = resource.to_dict()
spec = {"get.side_effect": [NotFoundError(Mock()), resource, resource, resource]}
client = Mock(**spec)
success, instance, elapsed = Waiter(client, Mock(), exists).wait(result, 3, 1)
success, instance, elapsed = Waiter(client, Mock(), exists).wait(
timeout=3,
sleep=1,
name=result["metadata"].get("name"),
namespace=result["metadata"].get("namespace"),
)
assert success is expected
assert instance == result
assert abs(elapsed - 2) <= 1