diff --git a/src/main/java/org/opensearch/security/filter/SecurityGrpcFilter.java b/src/main/java/org/opensearch/security/filter/SecurityGrpcFilter.java index 3bdebbae21..0618ff9ac1 100644 --- a/src/main/java/org/opensearch/security/filter/SecurityGrpcFilter.java +++ b/src/main/java/org/opensearch/security/filter/SecurityGrpcFilter.java @@ -69,7 +69,7 @@ public List getOrderedGrpcInterceptors(ThreadContext thr @Override public int order() { - return 0; + return Integer.MIN_VALUE; } @Override diff --git a/src/test/java/org/opensearch/security/filter/SecurityGrpcFilterTest.java b/src/test/java/org/opensearch/security/filter/SecurityGrpcFilterTest.java index 1ffb19ab84..809a9a7115 100644 --- a/src/test/java/org/opensearch/security/filter/SecurityGrpcFilterTest.java +++ b/src/test/java/org/opensearch/security/filter/SecurityGrpcFilterTest.java @@ -95,4 +95,20 @@ public void testNormalConfigurationReturnsInterceptor() { assertTrue(e.getMessage().contains("GuiceHolder") || e instanceof NullPointerException); } } + + @Test + public void testInterceptorOrderIsMinValue() { + Settings settings = Settings.builder().put(OpenSearchSecuritySSLPlugin.CLIENT_TYPE, "node").build(); + + securityGrpcFilter.initNodeSettings(settings); + + List interceptors = securityGrpcFilter.getOrderedGrpcInterceptors(threadContext); + + assertEquals("Should return exactly one interceptor", 1, interceptors.size()); + assertEquals( + "Security interceptor should have highest priority (Integer.MIN_VALUE)", + Integer.MIN_VALUE, + interceptors.get(0).order() + ); + } }