@Test public void testRemoveAllCredentials() { CredentialsDto firstCredentials = this.generateCredentials(CREDENTIALS_APPLICATION_ID, CREDENTIALS_ID, CREDENTIALS_BODY, AVAILABLE); CredentialsDto secondCredentials = this.generateCredentials(CREDENTIALS_APPLICATION_ID.concat("1"), CREDENTIALS_ID, CREDENTIALS_BODY, AVAILABLE); List<CassandraCredentials> credentials = credentialsDao.find(); Assert.assertEquals(credentials.size(), 2); credentialsDao.removeAll(); List<CassandraCredentials> removed = credentialsDao.find(); Assert.assertTrue(removed.isEmpty()); }
@Override public CredentialsDto provideCredentials(String applicationId, CredentialsDto credentials) throws CredentialsServiceException { Validate.notBlank(applicationId, "Invalid application ID provided!"); Validate.notNull(credentials, "Invalid credentials provided!"); try { byte[] credentialsBody = credentials.getCredentialsBody(); credentials.setId(Base64Utils.encodeToString(Sha1HashUtils.hashToBytes(credentialsBody))); return this.credentialsDao.save(applicationId, credentials).toDto(); } catch (Exception cause) { String message = MessageFormat.format("[{0}] An unexpected exception occured while saving " + "credentials!", applicationId); LOG.error(message, cause); throw new CredentialsServiceException(cause); } }
private void updateStatus(String applicationId, String credentialsId, CredentialsStatus status) throws CredentialsServiceException { Validate.notBlank(applicationId, "Invalid application ID provided!"); Validate.notBlank(credentialsId, "Invalid credentials ID provided!"); try { this.credentialsDao.updateStatus(applicationId, credentialsId, status); } catch (Exception cause) { String message = MessageFormat.format("[{0}] An unexpected exception occured while updating" + " credentials [{1}]", applicationId, credentialsId); LOG.error(message, cause); throw new CredentialsServiceException(cause); } } }
@Test public void testRemoveCredentials() { CredentialsDto credentials = this.generateCredentials(CREDENTIALS_APPLICATION_ID, CREDENTIALS_ID, CREDENTIALS_BODY, AVAILABLE); Assert.assertNotNull(credentials); Assert.assertNotNull(credentials.getId()); this.credentialsDao.remove(CREDENTIALS_APPLICATION_ID, credentials.getId()); Optional<CassandraCredentials> removed = this.credentialsDao.find(CREDENTIALS_APPLICATION_ID, CREDENTIALS_ID); Assert.assertFalse(removed.isPresent()); }
@Override public Optional<CredentialsDto> lookupCredentials(String applicationId, String credentialsId) throws CredentialsServiceException { Validate.notBlank(applicationId, "Invalid application ID provided!"); Validate.notBlank(credentialsId, "Invalid credentials ID provided!"); try { return this.credentialsDao.find(applicationId, credentialsId).map(Credentials::toDto); } catch (Exception cause) { String message = MessageFormat.format("[{0}] An unexpected exception occured while " + "searching for credentials [{1}]", applicationId, credentialsId); LOG.error(message, cause); throw new CredentialsServiceException(cause); } }
@Test public void testRemoveCredentials() throws Exception { CredentialsDto credentials = this.generateCredentials(APPLICATION_ID, CREDENTIALS_BODY, AVAILABLE); Assert.assertNotNull(credentials); Assert.assertNotNull(credentials.getId()); this.credentialsDao.remove(APPLICATION_ID, credentials.getId()); Optional<Credentials> removed = this.credentialsDao.find(APPLICATION_ID, credentials.getId()); Assert.assertFalse(removed.isPresent()); } }
@Test public void testFindCredentialsById() { CredentialsDto saved = this.generateCredentials(CREDENTIALS_APPLICATION_ID, CREDENTIALS_ID, CREDENTIALS_BODY, AVAILABLE); Assert.assertNotNull(saved); Assert.assertNotNull(saved.getId()); Optional<CassandraCredentials> found = this.credentialsDao.find(CREDENTIALS_APPLICATION_ID, CREDENTIALS_ID); Assert.assertTrue(found.isPresent()); Assert.assertEquals(saved, found.map(Credentials::toDto).get()); }
@Test public void testUpdateStatus() { CredentialsDto credentials = this.generateCredentials(CREDENTIALS_APPLICATION_ID, CREDENTIALS_ID, CREDENTIALS_BODY, AVAILABLE); Assert.assertNotNull(credentials); Assert.assertNotNull(credentials.getId()); Optional<CassandraCredentials> updated = this.credentialsDao.updateStatus(CREDENTIALS_APPLICATION_ID, CREDENTIALS_ID, REVOKED); Assert.assertTrue(updated.isPresent()); Assert.assertEquals(REVOKED, updated.get().getStatus()); }
/** * Constructs security credentials with the information provided and saves it * to the database. * * @param applicationId The application ID * @param credentialsBody The actual security credentials * @param status The security credentials status * @return The security credentials saved */ protected CredentialsDto generateCredentials(String applicationId, byte[] credentialsBody, CredentialsStatus status) { CredentialsDto credentials = new CredentialsDto(credentialsBody, status); return this.credentialsDao.save(applicationId, credentials).toDto(); }
@Test public void testFindCredentialsById() throws Exception { CredentialsDto saved = this.generateCredentials(APPLICATION_ID, CREDENTIALS_BODY, AVAILABLE); Assert.assertNotNull(saved); Assert.assertNotNull(saved.getId()); Optional<Credentials> found = this.credentialsDao.find(APPLICATION_ID, saved.getId()); Assert.assertTrue(found.isPresent()); Assert.assertEquals(saved, found.map(Credentials::toDto).get()); }
@Test public void testUpdateStatus() throws Exception { CredentialsDto credentials = this.generateCredentials(APPLICATION_ID, CREDENTIALS_BODY, AVAILABLE); Assert.assertNotNull(credentials); Assert.assertNotNull(credentials.getId()); Optional<Credentials> updated = this.credentialsDao.updateStatus(APPLICATION_ID, credentials.getId(), REVOKED); Assert.assertTrue(updated.isPresent()); Assert.assertEquals(REVOKED, updated.get().getStatus()); }
protected CredentialsDto generateCredentials(String applicationId, String credentialsId, byte[] credentialsBody, CredentialsStatus status) { CredentialsDto credentialsDto = new CredentialsDto(); credentialsDto.setId(credentialsId); credentialsDto.setCredentialsBody(credentialsBody); credentialsDto.setStatus(status); Credentials saved = this.credentialsDao.save(applicationId, credentialsDto); CredentialsDto generatedCredentials = saved.toDto(); return generatedCredentials; }