@Test public void verifyDeletingSingleService() throws Exception { final RegisteredService rs = getRegexRegisteredService(); final RegisteredService rs2 = getRegexRegisteredService(); this.dao.save(rs2); this.dao.save(rs); this.dao.load(); this.dao.delete(rs2); final List<RegisteredService> services = this.dao.load(); assertEquals(1, services.size()); assertEquals(services.get(0).getId(), rs.getId()); assertEquals(services.get(0).getName(), rs.getName()); }
@Test public void verifyUpdatingServices() { this.dao.save(getRegexRegisteredService()); final List<RegisteredService> services = this.dao.load(); final AbstractRegisteredService rs = (AbstractRegisteredService) this.dao.findServiceById(services.get(0).getId()); assertNotNull(rs); rs.setEvaluationOrder(9999); rs.setUsernameAttributeProvider(new DefaultRegisteredServiceUsernameProvider()); rs.setName("Another Test Service"); rs.setDescription("The new description"); rs.setServiceId("https://hello.world"); rs.setProxyPolicy(new RegexMatchingRegisteredServiceProxyPolicy("https")); rs.setAttributeReleasePolicy(new ReturnAllowedAttributeReleasePolicy()); assertNotNull(this.dao.save(rs)); final RegisteredService rs3 = this.dao.findServiceById(rs.getId()); assertEquals(rs3.getName(), rs.getName()); assertEquals(rs3.getDescription(), rs.getDescription()); assertEquals(rs3.getEvaluationOrder(), rs.getEvaluationOrder()); assertEquals(rs3.getUsernameAttributeProvider(), rs.getUsernameAttributeProvider()); assertEquals(rs3.getProxyPolicy(), rs.getProxyPolicy()); assertEquals(rs3.getUsernameAttributeProvider(), rs.getUsernameAttributeProvider()); assertEquals(rs3.getServiceId(), rs.getServiceId()); }
/** * Gets authentication provider for service. * * @param service the service * @return the authentication provider for service */ protected Collection<MultifactorAuthenticationProvider> getAuthenticationProviderForService( final RegisteredService service) { final RegisteredServiceMultifactorPolicy policy = service.getMultifactorPolicy(); if (policy != null) { return policy .getMultifactorAuthenticationProviders() .stream() .map(this::getMultifactorAuthenticationProviderFromApplicationContext) .filter(Optional::isPresent) .map(Optional::get) .collect(Collectors.toSet()); } return null; }