@Test public void testGetCurrentLogin() { SecurityContext securityContext = SecurityContextHolder.createEmptyContext(); securityContext.setAuthentication(new UsernamePasswordAuthenticationToken("admin", "admin")); SecurityContextHolder.setContext(securityContext); String login = SecurityUtils.getCurrentLogin(); assertThat(login).isEqualTo("admin"); }
@Test public void should_return_a_login_from_user_details() throws Exception { // Given final UserDetails userDetails = new CustomUserDetails(Sets.<GrantedAuthority>newHashSet(), "emc2", "a.einstein"); final Authentication authentication = new Authentication() { @Override public Collection<? extends GrantedAuthority> getAuthorities() { return null; } @Override public Object getCredentials() { return null; } @Override public Object getDetails() { return null; } @Override public Object getPrincipal() { return userDetails; } @Override public boolean isAuthenticated() { return true; } @Override public void setAuthenticated(boolean isAuthenticated) throws IllegalArgumentException {} @Override public String getName() { return "emc2"; } }; SecurityContextHolder.getContext().setAuthentication(authentication); // When final String currentLogin = SecurityUtils.getCurrentLogin(); // Then assertThat(currentLogin).isEqualTo("emc2"); }
@Test(expected = UserNotFoundException.class) public void should_throw_exception_when_no_principal() throws Exception { // Given final Authentication authentication = new Authentication() { @Override public Collection<? extends GrantedAuthority> getAuthorities() { return null; } @Override public Object getCredentials() { return null; } @Override public Object getDetails() { return null; } @Override public Object getPrincipal() { return null; } @Override public boolean isAuthenticated() { return true; } @Override public void setAuthenticated(boolean isAuthenticated) throws IllegalArgumentException {} @Override public String getName() { return "emc2"; } }; SecurityContextHolder.getContext().setAuthentication(authentication); // When SecurityUtils.getCurrentLogin(); }
@Test(expected = UserNotFoundException.class) public void should_throw_exception_when_no_security_context() throws Exception { SecurityUtils.getCurrentLogin(); }
public String getCurrentAuditor() { String userName = SecurityUtils.getCurrentLogin(); return (userName != null ? userName : Constants.SYSTEM_ACCOUNT); }