from cherrypy._cptools import HandlerWrapperTool
from cherrypy.test import helper
from mgr_module import HandleCommandResult
-from orchestrator import HostSpec, InventoryHost
+from orchestrator import DaemonDescription, HostSpec, InventoryHost
from pyfakefs import fake_filesystem
from .. import mgr
'id': 'daemon1',
'realm_name': 'realm1',
'zonegroup_name': 'zonegroup1',
- 'zone_name': 'zone1'
+ 'zone_name': 'zone1',
+ 'hostname': 'daemon1.server.lan'
}
},
'5398': {
'id': 'daemon2',
'realm_name': 'realm2',
'zonegroup_name': 'zonegroup2',
- 'zone_name': 'zone2'
+ 'zone_name': 'zone2',
+ 'hostname': 'daemon2.server.lan'
}
}
}}}})
@contextlib.contextmanager
def patch_orch(available: bool, missing_features: Optional[List[str]] = None,
hosts: Optional[List[HostSpec]] = None,
- inventory: Optional[List[dict]] = None):
+ inventory: Optional[List[dict]] = None,
+ daemons: Optional[List[DaemonDescription]] = None):
with mock.patch('dashboard.controllers.orchestrator.OrchClient.instance') as instance:
fake_client = mock.Mock()
fake_client.available.return_value = available
fake_client.get_missing_features.return_value = missing_features
+ if not daemons:
+ daemons = [
+ DaemonDescription(
+ daemon_type='mon',
+ daemon_id='a',
+ hostname='node0'
+ )
+ ]
+ fake_client.services.list_daemons.return_value = daemons
if hosts is not None:
fake_client.hosts.list.return_value = hosts