Skip to content

Commit 6ec5e44

Browse files
authored
Watcher: Ensure secrets integration tests also run triggered watch (#30478)
When the encrpytion of sensitive date is enabled, test that a scheduled watch is executed as expected and produces the correct value from a secret in the basic auth header.
1 parent 3161386 commit 6ec5e44

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/watcher/support/xcontent/WatcherXContentParser.java

-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
*/
66
package org.elasticsearch.xpack.core.watcher.support.xcontent;
77

8-
import org.apache.lucene.util.BytesRef;
9-
import org.elasticsearch.ElasticsearchException;
108
import org.elasticsearch.ElasticsearchParseException;
119
import org.elasticsearch.common.Nullable;
1210
import org.elasticsearch.common.xcontent.DeprecationHandler;

x-pack/plugin/watcher/src/test/java/org/elasticsearch/xpack/watcher/test/integration/HttpSecretsIntegrationTests.java

+9-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public class HttpSecretsIntegrationTests extends AbstractWatcherIntegrationTestC
5757

5858
private MockWebServer webServer = new MockWebServer();
5959
private static Boolean encryptSensitiveData = null;
60-
private static byte[] encryptionKey = CryptoServiceTests.generateKey();
60+
private static final byte[] encryptionKey = CryptoServiceTests.generateKey();
6161

6262
@Before
6363
public void init() throws Exception {
@@ -155,6 +155,14 @@ public void testHttpInput() throws Exception {
155155
assertThat(webServer.requests(), hasSize(1));
156156
assertThat(webServer.requests().get(0).getHeader("Authorization"),
157157
is(ApplicableBasicAuth.headerValue(USERNAME, PASSWORD.toCharArray())));
158+
159+
// now trigger the by the scheduler and make sure that the password is also correctly transmitted
160+
webServer.enqueue(new MockResponse().setResponseCode(200).setBody(
161+
BytesReference.bytes(jsonBuilder().startObject().field("key", "value").endObject()).utf8ToString()));
162+
timeWarp().trigger("_id");
163+
assertThat(webServer.requests(), hasSize(2));
164+
assertThat(webServer.requests().get(1).getHeader("Authorization"),
165+
is(ApplicableBasicAuth.headerValue(USERNAME, PASSWORD.toCharArray())));
158166
}
159167

160168
public void testWebhookAction() throws Exception {

x-pack/plugin/watcher/src/test/java/org/elasticsearch/xpack/watcher/trigger/ScheduleTriggerEngineMock.java

+1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public ScheduleTriggerEvent parseTriggerEvent(TriggerService service, String wat
5353

5454
@Override
5555
public void start(Collection<Watch> jobs) {
56+
jobs.forEach(this::add);
5657
}
5758

5859
@Override

0 commit comments

Comments
 (0)