Skip to content

Commit 93cf507

Browse files
Enable windows platform for integration tests cases (opensearch-project#3706)
Signed-off-by: Maciej Mierzwa <dev.maciej.mierzwa@gmail.com>
1 parent 0783329 commit 93cf507

4 files changed

Lines changed: 29 additions & 53 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ jobs:
111111
fail-fast: false
112112
matrix:
113113
jdk: [11, 17, 21]
114-
platform: [ubuntu-latest] # Removed windows https://github.com/opensearch-project/security/issues/3423
114+
platform: [ubuntu-latest, windows-latest]
115115
runs-on: ${{ matrix.platform }}
116116

117117
steps:

src/integrationTest/java/org/opensearch/security/DlsIntegrationTests.java

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import static org.opensearch.test.framework.TestSecurityConfig.AuthcDomain.AUTHC_HTTPBASIC_INTERNAL;
5353
import static org.opensearch.test.framework.TestSecurityConfig.Role.ALL_ACCESS;
5454
import static org.opensearch.test.framework.cluster.SearchRequestFactory.averageAggregationRequest;
55+
import static org.opensearch.test.framework.cluster.SearchRequestFactory.searchRequestWithSort;
5556
import static org.opensearch.test.framework.matcher.SearchResponseMatchers.containAggregationWithNameAndType;
5657
import static org.opensearch.test.framework.matcher.SearchResponseMatchers.isSuccessfulSearchResponse;
5758
import static org.opensearch.test.framework.matcher.SearchResponseMatchers.numberOfTotalHitsIsEqualTo;
@@ -281,7 +282,7 @@ public static void createTestData() {
281282
public void testShouldSearchAll() throws IOException {
282283

283284
try (RestHighLevelClient restHighLevelClient = cluster.getRestHighLevelClient(READ_ALL_USER)) {
284-
SearchRequest searchRequest = new SearchRequest(FIRST_INDEX_NAME);
285+
SearchRequest searchRequest = searchRequestWithSort(FIRST_INDEX_NAME);
285286
SearchResponse searchResponse = restHighLevelClient.search(searchRequest, DEFAULT);
286287

287288
assertThat(searchResponse, isSuccessfulSearchResponse());
@@ -293,15 +294,15 @@ public void testShouldSearchAll() throws IOException {
293294
assertThat(searchResponse, searchHitContainsFieldWithValue(4, FIELD_ARTIST, ARTIST_YES));
294295
assertThat(searchResponse, searchHitContainsFieldWithValue(5, FIELD_ARTIST, ARTIST_UNKNOWN));
295296

296-
searchRequest = new SearchRequest(SECOND_INDEX_NAME);
297+
searchRequest = searchRequestWithSort(SECOND_INDEX_NAME);
297298
searchResponse = restHighLevelClient.search(searchRequest, DEFAULT);
298299

299300
assertThat(searchResponse, isSuccessfulSearchResponse());
300301
assertThat(searchResponse, numberOfTotalHitsIsEqualTo(4));
301302
assertThat(searchResponse, searchHitContainsFieldWithValue(0, FIELD_ARTIST, ARTIST_NO));
302303
}
303304
try (RestHighLevelClient restHighLevelClient = cluster.getRestHighLevelClient(READ_FIRST_AND_SECOND_USER)) {
304-
SearchRequest searchRequest = new SearchRequest(FIRST_INDEX_NAME);
305+
SearchRequest searchRequest = searchRequestWithSort(FIRST_INDEX_NAME);
305306
SearchResponse searchResponse = restHighLevelClient.search(searchRequest, DEFAULT);
306307

307308
assertThat(searchResponse, isSuccessfulSearchResponse());
@@ -313,7 +314,7 @@ public void testShouldSearchAll() throws IOException {
313314
assertThat(searchResponse, searchHitContainsFieldWithValue(4, FIELD_ARTIST, ARTIST_YES));
314315
assertThat(searchResponse, searchHitContainsFieldWithValue(5, FIELD_ARTIST, ARTIST_UNKNOWN));
315316

316-
searchRequest = new SearchRequest(SECOND_INDEX_NAME);
317+
searchRequest = searchRequestWithSort(SECOND_INDEX_NAME);
317318
searchResponse = restHighLevelClient.search(searchRequest, DEFAULT);
318319

319320
assertThat(searchResponse, isSuccessfulSearchResponse());
@@ -326,14 +327,14 @@ public void testShouldSearchAll() throws IOException {
326327
public void testShouldSearchI1_S2I2_S3() throws IOException {
327328

328329
try (RestHighLevelClient restHighLevelClient = cluster.getRestHighLevelClient(READ_WHERE_FIELD_ARTIST_MATCHES_ARTIST_STRING)) {
329-
SearchRequest searchRequest = new SearchRequest(FIRST_INDEX_NAME);
330+
SearchRequest searchRequest = searchRequestWithSort(FIRST_INDEX_NAME);
330331
SearchResponse searchResponse = restHighLevelClient.search(searchRequest, DEFAULT);
331332

332333
assertThat(searchResponse, isSuccessfulSearchResponse());
333334
assertThat(searchResponse, numberOfTotalHitsIsEqualTo(1));
334335
assertThat(searchResponse, searchHitContainsFieldWithValue(0, FIELD_ARTIST, ARTIST_STRING));
335336

336-
searchRequest = new SearchRequest(SECOND_INDEX_NAME);
337+
searchRequest = searchRequestWithSort(SECOND_INDEX_NAME);
337338
searchResponse = restHighLevelClient.search(searchRequest, DEFAULT);
338339

339340
assertThat(searchResponse, isSuccessfulSearchResponse());
@@ -349,15 +350,15 @@ public void testShouldSearchI1_S3I1_S6I2_S2() throws IOException {
349350
READ_WHERE_FIELD_ARTIST_MATCHES_ARTIST_TWINS_OR_FIELD_STARS_GREATER_THAN_FIVE
350351
)
351352
) {
352-
SearchRequest searchRequest = new SearchRequest(FIRST_INDEX_NAME);
353+
SearchRequest searchRequest = searchRequestWithSort(FIRST_INDEX_NAME);
353354
SearchResponse searchResponse = restHighLevelClient.search(searchRequest, DEFAULT);
354355

355356
assertThat(searchResponse, isSuccessfulSearchResponse());
356357
assertThat(searchResponse, numberOfTotalHitsIsEqualTo(2));
357358
assertThat(searchResponse, searchHitContainsFieldWithValue(0, FIELD_ARTIST, ARTIST_TWINS));
358359
assertThat(searchResponse, searchHitContainsFieldWithValue(1, FIELD_ARTIST, ARTIST_UNKNOWN));
359360

360-
searchRequest = new SearchRequest(SECOND_INDEX_NAME);
361+
searchRequest = searchRequestWithSort(SECOND_INDEX_NAME);
361362
searchResponse = restHighLevelClient.search(searchRequest, DEFAULT);
362363

363364
assertThat(searchResponse, isSuccessfulSearchResponse());
@@ -373,15 +374,15 @@ public void testShouldSearchI1_S1I1_S3I2_S2I2_S4() throws IOException {
373374
READ_WHERE_FIELD_ARTIST_MATCHES_ARTIST_TWINS_OR_MATCHES_ARTIST_FIRST
374375
)
375376
) {
376-
SearchRequest searchRequest = new SearchRequest(FIRST_INDEX_NAME);
377+
SearchRequest searchRequest = searchRequestWithSort(FIRST_INDEX_NAME);
377378
SearchResponse searchResponse = restHighLevelClient.search(searchRequest, DEFAULT);
378379

379380
assertThat(searchResponse, isSuccessfulSearchResponse());
380381
assertThat(searchResponse, numberOfTotalHitsIsEqualTo(2));
381382
assertThat(searchResponse, searchHitContainsFieldWithValue(0, FIELD_ARTIST, ARTIST_TWINS));
382383
assertThat(searchResponse, searchHitContainsFieldWithValue(1, FIELD_ARTIST, ARTIST_FIRST));
383384

384-
searchRequest = new SearchRequest(SECOND_INDEX_NAME);
385+
searchRequest = searchRequestWithSort(SECOND_INDEX_NAME);
385386
searchResponse = restHighLevelClient.search(searchRequest, DEFAULT);
386387

387388
assertThat(searchResponse, isSuccessfulSearchResponse());
@@ -394,15 +395,15 @@ public void testShouldSearchI1_S1I1_S3I2_S2I2_S4() throws IOException {
394395
public void testShouldSearchStarsLessThanThree() throws IOException {
395396

396397
try (RestHighLevelClient restHighLevelClient = cluster.getRestHighLevelClient(READ_WHERE_STARS_LESS_THAN_THREE)) {
397-
SearchRequest searchRequest = new SearchRequest(FIRST_INDEX_NAME);
398+
SearchRequest searchRequest = searchRequestWithSort(FIRST_INDEX_NAME);
398399
SearchResponse searchResponse = restHighLevelClient.search(searchRequest, DEFAULT);
399400

400401
assertThat(searchResponse, isSuccessfulSearchResponse());
401402
assertThat(searchResponse, numberOfTotalHitsIsEqualTo(2));
402403
assertThat(searchResponse, searchHitContainsFieldWithValue(0, FIELD_ARTIST, ARTIST_FIRST));
403404
assertThat(searchResponse, searchHitContainsFieldWithValue(1, FIELD_ARTIST, ARTIST_STRING));
404405

405-
searchRequest = new SearchRequest(SECOND_INDEX_NAME);
406+
searchRequest = searchRequestWithSort(SECOND_INDEX_NAME);
406407
searchResponse = restHighLevelClient.search(searchRequest, DEFAULT);
407408

408409
assertThat(searchResponse, isSuccessfulSearchResponse());
@@ -417,7 +418,7 @@ public void testSearchForAllDocumentsWithIndexPattern() throws IOException {
417418

418419
// DLS
419420
try (RestHighLevelClient restHighLevelClient = cluster.getRestHighLevelClient(READ_ALL_USER)) {
420-
SearchRequest searchRequest = new SearchRequest("*".concat(FIRST_INDEX_NAME));
421+
SearchRequest searchRequest = searchRequestWithSort("*".concat(FIRST_INDEX_NAME));
421422
SearchResponse searchResponse = restHighLevelClient.search(searchRequest, DEFAULT);
422423

423424
assertThat(searchResponse, isSuccessfulSearchResponse());
@@ -429,7 +430,7 @@ public void testSearchForAllDocumentsWithIndexPattern() throws IOException {
429430
assertThat(searchResponse, searchHitContainsFieldWithValue(4, FIELD_ARTIST, ARTIST_YES));
430431
assertThat(searchResponse, searchHitContainsFieldWithValue(5, FIELD_ARTIST, ARTIST_UNKNOWN));
431432

432-
searchRequest = new SearchRequest("*".concat(SECOND_INDEX_NAME));
433+
searchRequest = searchRequestWithSort("*".concat(SECOND_INDEX_NAME));
433434
searchResponse = restHighLevelClient.search(searchRequest, DEFAULT);
434435

435436
assertThat(searchResponse, isSuccessfulSearchResponse());
@@ -442,7 +443,7 @@ public void testSearchForAllDocumentsWithIndexPattern() throws IOException {
442443
public void testSearchForAllDocumentsWithAlias() throws IOException {
443444

444445
try (RestHighLevelClient restHighLevelClient = cluster.getRestHighLevelClient(READ_ALL_USER)) {
445-
SearchRequest searchRequest = new SearchRequest(FIRST_INDEX_ALIAS);
446+
SearchRequest searchRequest = searchRequestWithSort(FIRST_INDEX_ALIAS);
446447
SearchResponse searchResponse = restHighLevelClient.search(searchRequest, DEFAULT);
447448

448449
assertThat(searchResponse, isSuccessfulSearchResponse());
@@ -454,12 +455,15 @@ public void testSearchForAllDocumentsWithAlias() throws IOException {
454455
assertThat(searchResponse, searchHitContainsFieldWithValue(4, FIELD_ARTIST, ARTIST_YES));
455456
assertThat(searchResponse, searchHitContainsFieldWithValue(5, FIELD_ARTIST, ARTIST_UNKNOWN));
456457

457-
searchRequest = new SearchRequest("*".concat(SECOND_INDEX_NAME));
458+
searchRequest = searchRequestWithSort("*".concat(SECOND_INDEX_NAME));
458459
searchResponse = restHighLevelClient.search(searchRequest, DEFAULT);
459460

460461
assertThat(searchResponse, isSuccessfulSearchResponse());
461462
assertThat(searchResponse, numberOfTotalHitsIsEqualTo(4));
462463
assertThat(searchResponse, searchHitContainsFieldWithValue(0, FIELD_ARTIST, ARTIST_NO));
464+
assertThat(searchResponse, searchHitContainsFieldWithValue(1, FIELD_ARTIST, ARTIST_TWINS));
465+
assertThat(searchResponse, searchHitContainsFieldWithValue(2, FIELD_ARTIST, ARTIST_STRING));
466+
assertThat(searchResponse, searchHitContainsFieldWithValue(3, FIELD_ARTIST, ARTIST_FIRST));
463467
}
464468
}
465469

src/integrationTest/java/org/opensearch/test/framework/cluster/SearchRequestFactory.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,14 @@ public static SearchRequest searchRequestWithScroll(String indexName, int pageSi
7070
return searchRequest;
7171
}
7272

73+
public static SearchRequest searchRequestWithSort(String indexName) {
74+
SearchRequest searchRequest = new SearchRequest(indexName);
75+
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
76+
searchSourceBuilder.sort(new FieldSortBuilder("_id").order(SortOrder.ASC));
77+
searchRequest.source(searchSourceBuilder);
78+
return searchRequest;
79+
}
80+
7381
public static SearchRequest searchAll(String... indexNames) {
7482
SearchRequest searchRequest = new SearchRequest(indexNames);
7583
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();

src/test/java/org/opensearch/security/SlowIntegrationTests.java

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,14 @@
2626

2727
package org.opensearch.security;
2828

29-
import java.io.IOException;
30-
3129
import com.google.common.collect.Lists;
32-
import org.apache.http.HttpStatus;
3330
import org.junit.Assert;
3431
import org.junit.Test;
3532

3633
import org.opensearch.action.admin.cluster.health.ClusterHealthRequest;
3734
import org.opensearch.action.admin.cluster.node.info.NodesInfoRequest;
38-
import org.opensearch.action.admin.cluster.settings.ClusterUpdateSettingsRequest;
3935
import org.opensearch.cluster.health.ClusterHealthStatus;
4036
import org.opensearch.common.settings.Settings;
41-
import org.opensearch.common.unit.TimeValue;
4237
import org.opensearch.node.Node;
4338
import org.opensearch.node.PluginAwareNode;
4439
import org.opensearch.security.ssl.util.SSLConfigConstants;
@@ -47,7 +42,6 @@
4742
import org.opensearch.security.test.SingleClusterTest;
4843
import org.opensearch.security.test.helper.cluster.ClusterConfiguration;
4944
import org.opensearch.security.test.helper.file.FileHelper;
50-
import org.opensearch.security.test.helper.rest.RestHelper;
5145
import org.opensearch.transport.Netty4ModulePlugin;
5246

5347
public class SlowIntegrationTests extends SingleClusterTest {
@@ -216,34 +210,4 @@ public void testNodeClientDisallowedWithNonServerCertificate2() throws Exception
216210
Assert.fail(e.toString());
217211
}
218212
}
219-
220-
@Test
221-
public void testDelayInSecurityIndexInitialization() throws Exception {
222-
final Settings settings = Settings.builder()
223-
.put(ConfigConstants.SECURITY_ALLOW_DEFAULT_INIT_SECURITYINDEX, true)
224-
.put("cluster.routing.allocation.exclude._ip", "127.0.0.1")
225-
.build();
226-
try {
227-
setup(Settings.EMPTY, null, settings, false);
228-
Assert.fail("Expected IOException here due to red cluster state");
229-
} catch (IOException e) {
230-
// Index request has a default timeout of 1 minute, adding buffer between nodes initialization and cluster health check
231-
Thread.sleep(1000 * 80);
232-
// Ideally, we would want to remove this cluster setting, but default settings cannot be removed. So overriding with a reserved
233-
// IP address
234-
clusterHelper.nodeClient()
235-
.admin()
236-
.cluster()
237-
.updateSettings(
238-
new ClusterUpdateSettingsRequest().transientSettings(
239-
Settings.builder().put("cluster.routing.allocation.exclude._ip", "192.0.2.0").build()
240-
)
241-
);
242-
this.clusterInfo = clusterHelper.waitForCluster(ClusterHealthStatus.GREEN, TimeValue.timeValueSeconds(10), 3);
243-
}
244-
RestHelper rh = nonSslRestHelper();
245-
Thread.sleep(10000);
246-
Assert.assertEquals(HttpStatus.SC_OK, rh.executeGetRequest("", encodeBasicHeader("admin", "admin")).getStatusCode());
247-
}
248-
249213
}

0 commit comments

Comments
 (0)