org.elasticsearch.test.client.NoOpNodeClient Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of framework Show documentation
Show all versions of framework Show documentation
Elasticsearch subproject :test:framework
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
package org.elasticsearch.test.client;
import org.elasticsearch.action.ActionListener;
import org.elasticsearch.action.ActionRequest;
import org.elasticsearch.action.ActionResponse;
import org.elasticsearch.action.ActionType;
import org.elasticsearch.action.support.TransportAction;
import org.elasticsearch.client.internal.RemoteClusterClient;
import org.elasticsearch.client.internal.node.NodeClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.tasks.Task;
import org.elasticsearch.tasks.TaskManager;
import org.elasticsearch.threadpool.ThreadPool;
import org.elasticsearch.transport.RemoteClusterService;
import org.elasticsearch.transport.Transport;
import java.util.Map;
import java.util.concurrent.Executor;
import java.util.concurrent.atomic.AtomicLong;
import java.util.function.Supplier;
/**
* Client that always response with {@code null} to every request. Override {@link #doExecute(ActionType, ActionRequest, ActionListener)} or
* {@link #executeLocally(ActionType, ActionRequest, ActionListener)} for testing.
*
* See also {@link NoOpClient} if you do not specifically need a {@link NodeClient}.
*/
public class NoOpNodeClient extends NodeClient {
private final AtomicLong executionCount = new AtomicLong(0);
public NoOpNodeClient(ThreadPool threadPool) {
super(Settings.EMPTY, threadPool);
}
@Override
public void doExecute(
ActionType action,
Request request,
ActionListener listener
) {
executionCount.incrementAndGet();
listener.onResponse(null);
}
@Override
public void initialize(
Map, TransportAction extends ActionRequest, ? extends ActionResponse>> actions,
TaskManager taskManager,
Supplier localNodeId,
Transport.Connection localConnection,
RemoteClusterService remoteClusterService
) {
throw new UnsupportedOperationException("cannot initialize " + this.getClass().getSimpleName());
}
@Override
public Task executeLocally(
ActionType action,
Request request,
ActionListener listener
) {
executionCount.incrementAndGet();
listener.onResponse(null);
return null;
}
@Override
public String getLocalNodeId() {
return null;
}
@Override
public RemoteClusterClient getRemoteClusterClient(
String clusterAlias,
Executor responseExecutor,
RemoteClusterService.DisconnectedStrategy disconnectedStrategy
) {
return null;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy