Skip to content

Commit c194cd3

Browse files
committed
More coverage
1 parent 2e4f374 commit c194cd3

File tree

1 file changed

+30
-13
lines changed

1 file changed

+30
-13
lines changed

x-pack/plugin/security/qa/security-trial/src/javaRestTest/java/org/elasticsearch/xpack/security/FailureStoreSecurityRestIT.java

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,17 @@ public void testFailureStoreAccess() throws IOException {
6969

7070
expectThrows404(() -> performRequest(FAILURE_STORE_ACCESS_USER, new Request("GET", "/test12::failures/_search")));
7171
expectThrows404(() -> performRequest(FAILURE_STORE_ACCESS_USER, new Request("GET", "/test2::failures/_search")));
72+
expectThrows404(() -> performRequest(FAILURE_STORE_ACCESS_USER, new Request("GET", "/test12::*/_search")));
73+
74+
expectThrows403(() -> performRequest(FAILURE_STORE_ACCESS_USER, new Request("GET", "/test1::data/_search")));
75+
expectThrows403(() -> performRequest(FAILURE_STORE_ACCESS_USER, new Request("GET", "/test1/_search")));
76+
expectThrows403(() -> performRequest(FAILURE_STORE_ACCESS_USER, new Request("GET", "/test2::data/_search")));
77+
expectThrows403(() -> performRequest(FAILURE_STORE_ACCESS_USER, new Request("GET", "/test2/_search")));
78+
79+
// empty result
80+
assertEmpty(performRequest(FAILURE_STORE_ACCESS_USER, new Request("GET", "/*1::data/_search")));
81+
assertEmpty(performRequest(FAILURE_STORE_ACCESS_USER, new Request("GET", "/*1/_search")));
82+
assertEmpty(performRequest(FAILURE_STORE_ACCESS_USER, new Request("GET", "/.ds*/_search")));
7283

7384
// user with access to everything
7485
assertContainsDocIds(adminClient().performRequest(new Request("GET", "/test1::failures/_search")), failedDocId);
@@ -86,6 +97,11 @@ private static void expectThrows404(ThrowingRunnable get) {
8697
assertThat(ex.getResponse().getStatusLine().getStatusCode(), equalTo(404));
8798
}
8899

100+
private static void expectThrows403(ThrowingRunnable get) {
101+
var ex = expectThrows(ResponseException.class, get);
102+
assertThat(ex.getResponse().getStatusLine().getStatusCode(), equalTo(403));
103+
}
104+
89105
@SuppressWarnings("unchecked")
90106
private static void assertContainsDocIds(Response response, String... docIds) throws IOException {
91107
assertOK(response);
@@ -100,12 +116,15 @@ private static void assertContainsDocIds(Response response, String... docIds) th
100116
}
101117
}
102118

103-
private static void assert404(Response response) {
104-
assertThat(response.getStatusLine().getStatusCode(), equalTo(404));
105-
}
106-
107-
private static void assert403(Response response) {
108-
assertThat(response.getStatusLine().getStatusCode(), equalTo(403));
119+
private static void assertEmpty(Response response) throws IOException {
120+
assertOK(response);
121+
final SearchResponse searchResponse = SearchResponseUtils.parseSearchResponse(responseAsParser(response));
122+
try {
123+
SearchHit[] hits = searchResponse.getHits().getHits();
124+
assertThat(hits.length, equalTo(0));
125+
} finally {
126+
searchResponse.decRef();
127+
}
109128
}
110129

111130
private void createTemplates() throws IOException {
@@ -130,10 +149,10 @@ private void createTemplates() throws IOException {
130149
}
131150
},
132151
"data_stream_options": {
133-
"failure_store": {
134-
"enabled": true
135-
}
136-
}
152+
"failure_store": {
153+
"enabled": true
154+
}
155+
}
137156
}
138157
}
139158
""");
@@ -177,8 +196,6 @@ private List<String> populateDataStreamWithBulkRequest() throws IOException {
177196

178197
private Response performRequest(String user, Request request) throws IOException {
179198
request.setOptions(RequestOptions.DEFAULT.toBuilder().addHeader("Authorization", basicAuthHeaderValue(user, PASSWORD)).build());
180-
var response = client().performRequest(request);
181-
return response;
199+
return client().performRequest(request);
182200
}
183-
184201
}

0 commit comments

Comments
 (0)