def test_stop_service(self): with mock.patch.object(openeogeotrellis.service_registry, 'KazooClient') as KazooClient: reg = ZooKeeperServiceRegistry() server = mock.Mock() reg.register( SecondaryService(service_metadata=dummy_service_metadata, host='oeo.net', port=5678, server=server) ) reg.stop_service(dummy_service_metadata.id) client = KazooClient.return_value # print(client.mock_calls) client.delete.assert_called_with('/openeo/services/s1234') server.stop.assert_called_once()
def test_stop_service(self): with mock.patch.object(openeogeotrellis.service_registry, 'KazooClient') as KazooClient: reg = ZooKeeperServiceRegistry() server = mock.Mock() reg.register(dummy_service_metadata.id, SecondaryService(host='oeo.net', port=5678, server=server)) reg.persist(user_id='u9876', metadata=dummy_service_metadata, api_version="0.4.0") reg.stop_service('u9876', dummy_service_metadata.id) client = KazooClient.return_value # print(client.mock_calls) client.delete.assert_any_call('/openeo/services/u9876/s1234') server.stop.assert_called_once()
def test_get_metadata(self): with mock.patch.object(openeogeotrellis.service_registry, 'KazooClient') as KazooClient: reg = ZooKeeperServiceRegistry() reg.register( SecondaryService(service_metadata=dummy_service_metadata, host='oeo.net', port=5678, server=mock.Mock) ) # Extract "created" data client = KazooClient.return_value assert client.create.call_count == 1 path, raw = client.create.call_args_list[0][0] # Set up return value for zookeeper "get" assert isinstance(raw, bytes) storage = {path: raw} client.get.side_effect = lambda p: (storage[p], "dummy") metadata = reg.get_metadata('s1234') assert metadata == dummy_service_metadata
def test_register(self): with mock.patch.object(openeogeotrellis.service_registry, 'KazooClient') as KazooClient: reg = ZooKeeperServiceRegistry() reg.register( SecondaryService(service_metadata=dummy_service_metadata, host='oeo.net', port=5678, server=mock.Mock()) ) client = KazooClient.return_value # print(client.mock_calls) client.ensure_path.assert_any_call('/openeo/services') assert client.create.call_count == 1 path, raw = client.create.call_args_list[0][0] assert path == '/openeo/services/s1234' data = json.loads(raw.decode('utf-8')) metadata = data["metadata"] assert metadata["id"] == "s1234" assert metadata["process"] == {"process_graph": dummy_process_graph} assert metadata["url"] == dummy_service_metadata.url