use of io.gravitee.rest.api.model.NewTokenEntity in project gravitee-management-rest-api by gravitee-io.
the class TokenServiceImpl method create.
@Override
public TokenEntity create(NewTokenEntity newToken) {
try {
final String username = getAuthenticatedUsername();
// check if name already exists
final List<TokenEntity> tokens = findByUser(username);
final boolean nameAlreadyExists = tokens.stream().anyMatch(token -> newToken.getName().equalsIgnoreCase(token.getName()));
if (nameAlreadyExists) {
throw new TokenNameAlreadyExistsException(newToken.getName());
}
final String decodedToken = UUID.toString(UUID.random());
final Token token = convert(newToken, TokenReferenceType.USER, username, passwordEncoder.encode(decodedToken));
auditService.createEnvironmentAuditLog(Collections.singletonMap(TOKEN, token.getId()), TOKEN_CREATED, token.getCreatedAt(), null, token);
return convert(tokenRepository.create(token), decodedToken);
} catch (TechnicalException e) {
final String error = "An error occurs while trying to create a token " + newToken;
LOGGER.error(error, e);
throw new TechnicalManagementException(error, e);
}
}
use of io.gravitee.rest.api.model.NewTokenEntity in project gravitee-management-rest-api by gravitee-io.
the class TokenServiceTest method shouldNotCreateNameExists.
@Test(expected = TokenNameAlreadyExistsException.class)
public void shouldNotCreateNameExists() throws TechnicalException {
final NewTokenEntity newToken = new NewTokenEntity();
newToken.setName("name");
when(tokenRepository.findByReference(eq(USER.name()), eq(USER_ID))).thenReturn(singletonList(token));
tokenService.create(newToken);
}
use of io.gravitee.rest.api.model.NewTokenEntity in project gravitee-management-rest-api by gravitee-io.
the class TokenServiceTest method shouldCreate.
@Test
public void shouldCreate() throws TechnicalException {
final NewTokenEntity newToken = new NewTokenEntity();
newToken.setName("name");
when(tokenRepository.create(any())).thenReturn(token);
tokenService.create(newToken);
verify(auditService).createEnvironmentAuditLog(anyMap(), eq(TOKEN_CREATED), any(Date.class), isNull(), any());
verify(tokenRepository).create(any());
verify(tokenRepository).findByReference(eq(USER.name()), eq(USER_ID));
}
Aggregations