AuthenticationServiceImpl implements AuthenticationService { @SuppressWarnings("unchecked") @Override public String[] getRoles() { Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); List<GrantedAuthority> col = (List<GrantedAuthority>) authentication.getAuthorities(); String[] roles = new String[col.size()]; int i = 0; for (GrantedAuthority role : col) { roles[i] = role.getAuthority(); i++; } return roles; }  void setUserDao(UserDao userDao); void setUserPendingDao(UserPendingDao userPendingDao); @Override User getAuthenticatedUser(); @Override boolean isAuthenticated(); @Override boolean isAuthenticatedWaspUser(); @SuppressWarnings("unchecked") @Override String[] getRoles(); @Override boolean isExternallyAuthenticated(); @Override boolean isAuthenticationSetExternal(); @Override boolean isAuthenticatedGuest(); @Override boolean hasRole(String theRole); @Override boolean hasRoleInRoleArray(String[] rolesToCompare, String[] rolesBaseline); @Override Integer getRoleValue(String role); @Override boolean hasRoleInRoleArray(String[] rolesToCompare); @Override boolean isSuperUser(); @Override boolean isFacilityMember(); @Override boolean isOnlyDepartmentAdministrator(); @Override boolean authenticate(String name, String password); @Override boolean authenticates(String name, String password); @Override boolean isLoginNameWellFormed(String login); @Override boolean isLoginAlreadyInUse(String login, String email); @Override String encodePassword(String s); @Override boolean validatePassword(String s); @Override boolean matchPassword(String s1, String s2); @Override String getRandomPassword(int length); @Override Set<Integer> idsOfDepartmentsManagedByCurrentUser(); @Override Set<Integer> idsOfLabsManagedByCurrentUser(); @Override boolean isThisExistingUserPIPending();  }
@Test public void getRoles() { User user = new User(); user.setLogin("userlogin"); List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>(); authorities.add(new GrantedAuthorityImpl("da")); authorities.add(new GrantedAuthorityImpl("lm")); SecurityContextHolder.getContext().setAuthentication( new UsernamePasswordAuthenticationToken(user,"", authorities)); String[] roles = new String[2]; roles[0] = "da"; roles[1] = "lm"; Assert.assertEquals(authServiceImpl.getRoles(), roles); }