@Test public void testMixedMode() throws Exception { PreviewLayerProvider provider = new PreviewLayerProvider(); // full access login("cite", "cite"); assertTrue(previewHasBuildings(provider)); // no access, but no exception either, since this is not a direct access login("cite_mixed", "cite"); assertFalse(previewHasBuildings(provider)); }
/** Add the users */ @Override protected void onSetUp(SystemTestData testData) throws Exception { super.onSetUp(testData); addUser("cite", "cite", null, Collections.singletonList("ROLE_DUMMY")); addUser("cite_mixed", "cite", null, Collections.singletonList("ROLE_DUMMY")); // populate the access manager TestResourceAccessManager tam = (TestResourceAccessManager) applicationContext.getBean("testResourceAccessManager"); Catalog catalog = getCatalog(); FeatureTypeInfo buildings = catalog.getFeatureTypeByName(getLayerId(SystemTestData.BUILDINGS)); // user in mixed mode tam.putLimits( "cite_mixed", buildings, new VectorAccessLimits( CatalogMode.MIXED, null, Filter.EXCLUDE, null, Filter.EXCLUDE)); }
private boolean previewHasBuildings(PreviewLayerProvider provider) { Iterator<PreviewLayer> it = provider.iterator(0, provider.size()); String buildingsPrefixedName = getLayerId(SystemTestData.BUILDINGS); while (it.hasNext()) { PreviewLayer pl = it.next(); if (buildingsPrefixedName.equals(pl.getName())) { return true; } } return false; }