Skip to content

Commit

Permalink
tests: update tests mocking of OCSClient to support get_api
Browse files Browse the repository at this point in the history
  • Loading branch information
mhasself committed Nov 16, 2021
1 parent ad0633b commit e362689
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 11 deletions.
6 changes: 3 additions & 3 deletions ocs/ocs_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,13 +102,13 @@ def __init__(self, instance_id, **kwargs):

self._client = site_config.get_control_client(instance_id, **kwargs)
self.instance_id = instance_id
api = self._client.get_api()
self._api = self._client.get_api()

for name, session, encoded in api['tasks']:
for name, session, encoded in self._api['tasks']:
setattr(self, _opname_to_attr(name),
_get_op('task', name, encoded, self._client))

for name, session, encoded in api['processes']:
for name, session, encoded in self._api['processes']:
setattr(self, _opname_to_attr(name),
_get_op('process', name, encoded, self._client))

Expand Down
24 changes: 16 additions & 8 deletions tests/util.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from unittest.mock import MagicMock

import os

def fake_get_control_client(instance_id, **kwargs):
"""Quick function to return a Client like you'd expect from
Expand All @@ -9,12 +9,20 @@ def fake_get_control_client(instance_id, **kwargs):
"""
encoded_op = {'blocking': True,
'docstring': 'Example docstring'}
client = MagicMock()
client.get_tasks = MagicMock(return_value=([('task_name',
None,
encoded_op)]))
client.get_processes = MagicMock(return_value=([('process_name',
None,
encoded_op)]))
client = MagicMock() # mocks client_http.ControlClient

# The api structure is defined by OCSAgent._management_handler
api = {
'tasks': [('task_name', None, encoded_op)],
'processes': [('process_name', None, encoded_op)],
'feeds': [],
'agent_class': 'Mock',
'instance_hostname': 'testhost',
'instance_pid': os.getpid(),
}

client.get_tasks = MagicMock(return_value=api['tasks'])
client.get_processes = MagicMock(return_value=api['processes'])
client.get_api = MagicMock(return_value=api)

return client

0 comments on commit e362689

Please sign in to comment.