From 3b477b13cb1bb420a5c86701751767a4566f3d71 Mon Sep 17 00:00:00 2001 From: Alexander Reelsen Date: Wed, 2 May 2018 13:43:57 +0200 Subject: [PATCH] Tests: Ensure each test uses different watch ids Each test now has its own watch id that is being used. This ensures there are no old history entries, which can potentially lead to broken test assertions. --- .../SmokeTestWatcherWithSecurityIT.java | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/x-pack/qa/smoke-test-watcher-with-security/src/test/java/org/elasticsearch/smoketest/SmokeTestWatcherWithSecurityIT.java b/x-pack/qa/smoke-test-watcher-with-security/src/test/java/org/elasticsearch/smoketest/SmokeTestWatcherWithSecurityIT.java index 529a1aaec2725..1c8204aa1ec62 100644 --- a/x-pack/qa/smoke-test-watcher-with-security/src/test/java/org/elasticsearch/smoketest/SmokeTestWatcherWithSecurityIT.java +++ b/x-pack/qa/smoke-test-watcher-with-security/src/test/java/org/elasticsearch/smoketest/SmokeTestWatcherWithSecurityIT.java @@ -37,6 +37,8 @@ public class SmokeTestWatcherWithSecurityIT extends ESRestTestCase { private static final String TEST_ADMIN_USERNAME = "test_admin"; private static final String TEST_ADMIN_PASSWORD = "x-pack-test-password"; + private String watchId = randomAlphaOfLength(20); + @Before public void startWatcher() throws Exception { StringEntity entity = new StringEntity("{ \"value\" : \"15\" }", ContentType.APPLICATION_JSON); @@ -87,7 +89,6 @@ public void startWatcher() throws Exception { @After public void stopWatcher() throws Exception { - adminClient().performRequest("DELETE", "_xpack/watcher/watch/my_watch"); assertOK(adminClient().performRequest("DELETE", "my_test_index")); assertBusy(() -> { @@ -147,14 +148,14 @@ public void testSearchInputHasPermissions() throws Exception { builder.startObject("condition").startObject("compare").startObject("ctx.payload.hits.total").field("gte", 1) .endObject().endObject().endObject(); builder.startObject("actions").startObject("logging").startObject("logging") - .field("text", "successfully ran my_watch to test for search inpput").endObject().endObject().endObject(); + .field("text", "successfully ran " + watchId + "to test for search inpput").endObject().endObject().endObject(); builder.endObject(); - indexWatch("my_watch", builder); + indexWatch(watchId, builder); } // check history, after watch has fired - ObjectPath objectPath = getWatchHistoryEntry("my_watch", "executed"); + ObjectPath objectPath = getWatchHistoryEntry(watchId, "executed"); boolean conditionMet = objectPath.evaluate("hits.hits.0._source.result.condition.met"); assertThat(conditionMet, is(true)); } @@ -174,11 +175,11 @@ public void testSearchInputWithInsufficientPrivileges() throws Exception { .field("text", "this should never be logged").endObject().endObject().endObject(); builder.endObject(); - indexWatch("my_watch", builder); + indexWatch(watchId, builder); } // check history, after watch has fired - ObjectPath objectPath = getWatchHistoryEntry("my_watch"); + ObjectPath objectPath = getWatchHistoryEntry(watchId); String state = objectPath.evaluate("hits.hits.0._source.state"); assertThat(state, is("execution_not_needed")); boolean conditionMet = objectPath.evaluate("hits.hits.0._source.result.condition.met"); @@ -201,11 +202,11 @@ public void testSearchTransformHasPermissions() throws Exception { .endObject().endObject().endObject(); builder.endObject(); - indexWatch("my_watch", builder); + indexWatch(watchId, builder); } // check history, after watch has fired - ObjectPath objectPath = getWatchHistoryEntry("my_watch", "executed"); + ObjectPath objectPath = getWatchHistoryEntry(watchId, "executed"); boolean conditionMet = objectPath.evaluate("hits.hits.0._source.result.condition.met"); assertThat(conditionMet, is(true)); @@ -232,10 +233,10 @@ public void testSearchTransformInsufficientPermissions() throws Exception { .endObject().endObject().endObject(); builder.endObject(); - indexWatch("my_watch", builder); + indexWatch(watchId, builder); } - getWatchHistoryEntry("my_watch"); + getWatchHistoryEntry(watchId); Response response = adminClient().performRequest("GET", "my_test_index/doc/some-id", Collections.singletonMap("ignore", "404")); @@ -254,10 +255,10 @@ public void testIndexActionHasPermissions() throws Exception { .endObject().endObject().endObject(); builder.endObject(); - indexWatch("my_watch", builder); + indexWatch(watchId, builder); } - ObjectPath objectPath = getWatchHistoryEntry("my_watch", "executed"); + ObjectPath objectPath = getWatchHistoryEntry(watchId, "executed"); boolean conditionMet = objectPath.evaluate("hits.hits.0._source.result.condition.met"); assertThat(conditionMet, is(true)); @@ -278,10 +279,10 @@ public void testIndexActionInsufficientPrivileges() throws Exception { .endObject().endObject().endObject(); builder.endObject(); - indexWatch("my_watch", builder); + indexWatch(watchId, builder); } - ObjectPath objectPath = getWatchHistoryEntry("my_watch", "executed"); + ObjectPath objectPath = getWatchHistoryEntry(watchId, "executed"); boolean conditionMet = objectPath.evaluate("hits.hits.0._source.result.condition.met"); assertThat(conditionMet, is(true)); @@ -293,7 +294,7 @@ public void testIndexActionInsufficientPrivileges() throws Exception { private void indexWatch(String watchId, XContentBuilder builder) throws Exception { StringEntity entity = new StringEntity(Strings.toString(builder), ContentType.APPLICATION_JSON); - Response response = client().performRequest("PUT", "_xpack/watcher/watch/my_watch", Collections.emptyMap(), entity); + Response response = client().performRequest("PUT", "_xpack/watcher/watch/" + watchId, Collections.emptyMap(), entity); assertOK(response); Map responseMap = entityAsMap(response); assertThat(responseMap, hasEntry("_id", watchId));