Skip to content

Commit 66c1d0a

Browse files
committed
adding a test case with multiple pipes in username
Signed-off-by: Shikhar Jain <[email protected]>
1 parent b06dfc5 commit 66c1d0a

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/test/java/org/opensearch/commons/authuser/UserTest.java

+19
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,25 @@ public void testParseUserStringWithPipeInUserName() {
220220
assertEquals("myTenant", user.getRequestedTenant());
221221
}
222222

223+
@Test
224+
public void testParseUserStringWithMultiplePipesInUserName() {
225+
ThreadContext tc = new ThreadContext(Settings.EMPTY);
226+
tc
227+
.putTransient(
228+
OPENSEARCH_SECURITY_USER_INFO_THREAD_CONTEXT,
229+
"myuser\\|test-pipe\\|test-pipe2|bckrole1,bckrol2|role1,role2|myTenant"
230+
);
231+
String str = tc.getTransient(OPENSEARCH_SECURITY_USER_INFO_THREAD_CONTEXT);
232+
User user = User.parse(str);
233+
234+
assertEquals("myuser|test-pipe|test-pipe2", user.getName());
235+
assertEquals(2, user.getBackendRoles().size());
236+
assertEquals(2, user.getRoles().size());
237+
assertTrue(user.getRoles().contains("role1"));
238+
assertTrue(user.getRoles().contains("role2"));
239+
assertEquals("myTenant", user.getRequestedTenant());
240+
}
241+
223242
@Test
224243
public void testParseUserStringWithPipeInBackedRoleName() {
225244
ThreadContext tc = new ThreadContext(Settings.EMPTY);

0 commit comments

Comments
 (0)