Java tutorial
/* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License; * you may not use this file except in compliance with the Elastic License. */ package org.elasticsearch.upgrades; import org.apache.http.util.EntityUtils; import org.elasticsearch.client.Request; import org.elasticsearch.client.Response; import java.nio.charset.StandardCharsets; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.not; public class WatcherRestartIT extends AbstractUpgradeTestCase { public void testWatcherRestart() throws Exception { client().performRequest(new Request("POST", "/_xpack/watcher/_stop")); ensureWatcherStopped(); client().performRequest(new Request("POST", "/_xpack/watcher/_start")); ensureWatcherStarted(); } private void ensureWatcherStopped() throws Exception { assertBusy(() -> { Response stats = client().performRequest(new Request("GET", "_xpack/watcher/stats")); String responseBody = EntityUtils.toString(stats.getEntity(), StandardCharsets.UTF_8); assertThat(responseBody, containsString("\"watcher_state\":\"stopped\"")); assertThat(responseBody, not(containsString("\"watcher_state\":\"starting\""))); assertThat(responseBody, not(containsString("\"watcher_state\":\"started\""))); assertThat(responseBody, not(containsString("\"watcher_state\":\"stopping\""))); }); } private void ensureWatcherStarted() throws Exception { assertBusy(() -> { Response response = client().performRequest(new Request("GET", "_xpack/watcher/stats")); String responseBody = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8); assertThat(responseBody, containsString("\"watcher_state\":\"started\"")); assertThat(responseBody, not(containsString("\"watcher_state\":\"starting\""))); assertThat(responseBody, not(containsString("\"watcher_state\":\"stopping\""))); assertThat(responseBody, not(containsString("\"watcher_state\":\"stopped\""))); }); } }