@Test public void verifyServiceRemovals() throws Exception { final List<RegisteredService> list = new ArrayList<>(5); IntStream.range(1, 5) .forEach( i -> { final RegexRegisteredService r = new RegexRegisteredService(); r.setServiceId("^https://.+"); r.setName("testServiceType"); r.setTheme("testtheme"); r.setEvaluationOrder(1000); r.setId(i * 100); list.add(this.dao.save(r)); }); list.stream() .forEach( r2 -> { try { Thread.sleep(500); this.dao.delete(r2); Thread.sleep(2000); } catch (final InterruptedException e) { throw Throwables.propagate(e); } assertNull(this.dao.findServiceById(r2.getId())); }); }
@Test public void verifySaveAttributeReleasePolicyAllowedAttrRulesAndFilter() { final RegexRegisteredService r = new RegexRegisteredService(); r.setName("testSaveAttributeReleasePolicyAllowedAttrRulesAndFilter"); r.setServiceId("testId"); r.setTheme("testtheme"); r.setEvaluationOrder(1000); r.setAccessStrategy(new DefaultRegisteredServiceAccessStrategy(true, false)); r.setProxyPolicy(new RegexMatchingRegisteredServiceProxyPolicy("https://.+")); r.setRequiredHandlers(new HashSet<>(Lists.newArrayList("h1", "h2"))); final ReturnAllowedAttributeReleasePolicy policy = new ReturnAllowedAttributeReleasePolicy(); policy.setAllowedAttributes(Lists.newArrayList("1", "2", "3")); r.setAttributeReleasePolicy(policy); r.getAttributeReleasePolicy() .setAttributeFilter(new RegisteredServiceRegexAttributeFilter("\\w+")); final RegisteredService r2 = this.dao.save(r); final RegisteredService r3 = this.dao.findServiceById(r2.getId()); assertEquals(r, r2); assertEquals(r2, r3); assertNotNull(r3.getAttributeReleasePolicy()); assertEquals(r2.getAttributeReleasePolicy(), r3.getAttributeReleasePolicy()); }
@Test(expected = RuntimeException.class) public void verifyServiceWithInvalidFileName() { final RegexRegisteredService r = new RegexRegisteredService(); r.setServiceId("^https://.+"); r.setName("hell/o@world:*"); r.setEvaluationOrder(1000); this.dao.save(r); }
@Test public void verifyServiceType() { final RegexRegisteredService r = new RegexRegisteredService(); r.setServiceId("^https://.+"); r.setName("testServiceType"); r.setTheme("testtheme"); r.setEvaluationOrder(1000); final RegisteredService r2 = this.dao.save(r); assertTrue(r2 instanceof RegexRegisteredService); }
@Test public void verifyRegexService() { final RegexRegisteredService r = new RegexRegisteredService(); r.setId(10000); r.setName("regex test"); r.setServiceId("^http://www.test.edu.+"); r.setEvaluationOrder(10000); this.defaultServicesManagerImpl.save(r); final SimpleService service = new SimpleService("HTTP://www.TEST.edu/param=hello"); assertEquals(r, this.defaultServicesManagerImpl.findServiceBy(service)); }