-
Eike Cochu authored
moved esclient to utils, added elasticsearch to utils pom
Eike Cochu authoredmoved esclient to utils, added elasticsearch to utils pom
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
TestCommand.java 1.19 KiB
package de.vipra.cmd.option;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.bson.types.ObjectId;
import org.elasticsearch.client.transport.NoNodeAvailableException;
import org.elasticsearch.client.transport.TransportClient;
import de.vipra.util.Config;
import de.vipra.util.ESClient;
import de.vipra.util.model.Article;
import de.vipra.util.service.DatabaseService;
public class TestCommand implements Command {
public static final Logger out = LogManager.getLogger("shellout");
@Override
public void run() throws Exception {
// test if configuration readable
out.info("reading configuration...");
Config config = Config.getConfig();
// test if database is accessible
out.info("testing mongodb connection...");
DatabaseService<Article, ObjectId> dbArticles = DatabaseService.getDatabaseService(config, Article.class);
dbArticles.count();
// test if elasticsearch is accessible
out.info("testing elasticsearch connection...");
TransportClient esclient = ESClient.getClient(config);
if (esclient.connectedNodes().isEmpty()) {
throw new NoNodeAvailableException("no elasticsearch nodes available");
}
out.info("all tests passed");
}
}