This is an automated email from the ASF dual-hosted git repository.
lprimak pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/shiro.git
The following commit(s) were added to refs/heads/main by this push:
new 99df3dd35 bugfix(test): flaky test core/.../DefaultSecurityManagerTest
fixed (#2951)
99df3dd35 is described below
commit 99df3dd35a6e08c4a9a5283b18d07ff2c838c123
Author: Lenny Primak <[email protected]>
AuthorDate: Sat Nov 7 17:40:08 2026 -0600
bugfix(test): flaky test core/.../DefaultSecurityManagerTest fixed (#2951)
---
.../org/apache/shiro/mgt/DefaultSecurityManagerTest.java | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git
a/core/src/test/java/org/apache/shiro/mgt/DefaultSecurityManagerTest.java
b/core/src/test/java/org/apache/shiro/mgt/DefaultSecurityManagerTest.java
index ba47492d2..73f1babce 100644
--- a/core/src/test/java/org/apache/shiro/mgt/DefaultSecurityManagerTest.java
+++ b/core/src/test/java/org/apache/shiro/mgt/DefaultSecurityManagerTest.java
@@ -60,20 +60,18 @@ public class DefaultSecurityManagerTest extends
AbstractSecurityManagerTest {
section.put("guest", "guest, guest");
section.put("lonestarr", "vespa, goodguy");
sm.setRealm(new IniRealm(ini));
- SecurityUtils.setSecurityManager(sm);
}
@AfterEach
@Override
public void tearDown() {
- SecurityUtils.setSecurityManager(null);
sm.destroy();
super.tearDown();
}
@Test
void testDefaultConfig() {
- Subject subject = SecurityUtils.getSubject();
+ Subject subject = new Subject.Builder(sm).buildSubject();
AuthenticationToken token = new UsernamePasswordToken("guest",
"guest");
subject.login(token);
@@ -99,7 +97,7 @@ public class DefaultSecurityManagerTest extends
AbstractSecurityManagerTest {
@SuppressWarnings("checkstyle:MagicNumber")
@Test
void testAutoCreateSessionAfterInvalidation() {
- Subject subject = SecurityUtils.getSubject();
+ Subject subject = new Subject.Builder(sm).buildSubject();
Session session = subject.getSession();
String key = "foo";
@@ -128,7 +126,7 @@ public class DefaultSecurityManagerTest extends
AbstractSecurityManagerTest {
@Test
void testSubjectReuseAfterLogout() {
- Subject subject = SecurityUtils.getSubject();
+ Subject subject = new Subject.Builder(sm).buildSubject();
AuthenticationToken token = new UsernamePasswordToken("guest",
"guest");
subject.login(token);
@@ -195,19 +193,18 @@ public class DefaultSecurityManagerTest extends
AbstractSecurityManagerTest {
void testNewSubjectWithoutSessionCreationEnabled() {
PrincipalCollection principals =
ImmutablePrincipalCollection.ofSinglePrincipal("guest", "asd");
// this tests that calling `buildSubject` doesn't throw an exception
due to session-creation being disabled
- Subject subject = new
Subject.Builder().principals(principals).sessionCreationEnabled(false).buildSubject();
+ Subject subject = new
Subject.Builder(sm).principals(principals).sessionCreationEnabled(false).buildSubject();
assertThat(subject.getPrincipal()).isEqualTo("guest");
}
@Test
void testNewSubjectWithSubjectFactoryThatDisablesSessionCreation() {
- ((DefaultSecurityManager) SecurityUtils.getSecurityManager())
- .setSubjectFactory(new SessionCreationDisabledSubjectFactory());
+ sm.setSubjectFactory(new SessionCreationDisabledSubjectFactory());
PrincipalCollection principals =
ImmutablePrincipalCollection.ofSinglePrincipal("guest", "asd");
// this tests that calling `buildSubject` doesn't throw an exception
due to session-creation being disabled
- Subject subject = new
Subject.Builder().principals(principals).buildSubject();
+ Subject subject = new
Subject.Builder(sm).principals(principals).buildSubject();
assertThat(subject.getPrincipal()).isEqualTo("guest");
}