use of org.molgenis.data.security.auth.Token in project molgenis by molgenis.
the class DataServiceTokenServiceTest method findUserByToken.
@Test
public void findUserByToken() {
User user = mock(User.class);
when(user.getUsername()).thenReturn("admin");
Token token = mock(Token.class);
when(token.getToken()).thenReturn("token");
when(token.getUser()).thenReturn(user);
@SuppressWarnings("unchecked") Query<Token> q = mock(Query.class);
when(q.eq(TOKEN_ATTR, "token")).thenReturn(q);
when(q.findOne()).thenReturn(token);
when(dataService.query(TOKEN, Token.class)).thenReturn(q);
UserDetails userDetails = new org.springframework.security.core.userdetails.User("admin", "admin", singletonList(new SimpleGrantedAuthority("admin")));
when(userDetailsService.loadUserByUsername("admin")).thenReturn(userDetails);
assertEquals(tokenService.findUserByToken("token"), userDetails);
}
use of org.molgenis.data.security.auth.Token in project molgenis by molgenis.
the class DataServiceTokenServiceTest method findUserByTokenExpired.
@Test(expectedExceptions = UnknownTokenException.class)
public void findUserByTokenExpired() {
Token token = mock(Token.class);
when(token.getToken()).thenReturn("token");
when(token.isExpired()).thenReturn(true);
@SuppressWarnings("unchecked") Query<Token> q = mock(Query.class);
when(q.eq(TOKEN_ATTR, "token")).thenReturn(q);
when(q.findOne()).thenReturn(token);
when(dataService.query(TOKEN, Token.class)).thenReturn(q);
tokenService.findUserByToken("token");
}
use of org.molgenis.data.security.auth.Token in project molgenis by molgenis.
the class DataServiceTokenService method generateAndStoreToken.
/**
* Generates a token and associates it with a user.
* <p>
* Token expires in 2 hours
*
* @param username username
* @param description token description
* @return token
*/
@Override
@Transactional
@RunAsSystem
public String generateAndStoreToken(String username, String description) {
User user = dataService.query(USER, User.class).eq(USERNAME, username).findOne();
if (user == null) {
throw new IllegalArgumentException(format("Unknown username [%s]", username));
}
String token = tokenGenerator.generateToken();
Token molgenisToken = tokenFactory.create();
molgenisToken.setUser(user);
molgenisToken.setToken(token);
molgenisToken.setDescription(description);
molgenisToken.setExpirationDate(now().plus(2, HOURS));
dataService.add(TOKEN, molgenisToken);
return token;
}
use of org.molgenis.data.security.auth.Token in project molgenis by molgenis.
the class DataServiceTokenService method removeToken.
@Override
@Transactional
@RunAsSystem
public void removeToken(String token) {
Token molgenisToken = getMolgenisToken(token);
dataService.delete(TOKEN, molgenisToken);
}
use of org.molgenis.data.security.auth.Token in project molgenis by molgenis.
the class DataServiceTokenServiceTest method removeToken.
@Test
public void removeToken() {
Token token = mock(Token.class);
when(token.getToken()).thenReturn("token");
@SuppressWarnings("unchecked") Query<Token> q = mock(Query.class);
when(q.eq(TOKEN_ATTR, "token")).thenReturn(q);
when(q.findOne()).thenReturn(token);
when(dataService.query(TOKEN, Token.class)).thenReturn(q);
tokenService.removeToken("token");
verify(dataService).delete(TOKEN, token);
}
Aggregations