@Test @LocalData public void testIsAuthenticateionRequiredAsUser() { ACL.impersonate(User.get("test1").impersonate()); assertFalse(Jenkins.getInstance().hasPermission(Jenkins.ADMINISTER)); // after: not configured // before: test2, require re-auth // result: false assertFalse( SpecificUsersAuthorizationStrategy.isAuthenticateionRequired( null, new SpecificUsersAuthorizationStrategy("test2", false))); // after: test1, require re-auth // before: test2, require re-auth // result: false assertFalse( SpecificUsersAuthorizationStrategy.isAuthenticateionRequired( new SpecificUsersAuthorizationStrategy("test1", false), new SpecificUsersAuthorizationStrategy("test2", false))); // after: test1, require re-auth // before: not configured // result: false assertFalse( SpecificUsersAuthorizationStrategy.isAuthenticateionRequired( new SpecificUsersAuthorizationStrategy("test1", false), null)); // after: test2, no require re-auth // before: not configured // result: true assertTrue( SpecificUsersAuthorizationStrategy.isAuthenticateionRequired( new SpecificUsersAuthorizationStrategy("test2", true), null)); // after: test2, require re-auth // before: test2, no require re-auth // result: false assertFalse( SpecificUsersAuthorizationStrategy.isAuthenticateionRequired( new SpecificUsersAuthorizationStrategy("test2", false), new SpecificUsersAuthorizationStrategy("test2", true))); // after: admin, no require re-auth // before: test2, no require re-auth // result: true assertTrue( SpecificUsersAuthorizationStrategy.isAuthenticateionRequired( new SpecificUsersAuthorizationStrategy("admin", true), new SpecificUsersAuthorizationStrategy("test2", true))); // after: null, no require re-auth // before: null, no require re-auth // result: anything (not ABEND) SpecificUsersAuthorizationStrategy.isAuthenticateionRequired( new SpecificUsersAuthorizationStrategy(null, true), new SpecificUsersAuthorizationStrategy(null, true)); }