public WorkspaceInfo getWorkspaceByName(String name) { return catalog.getWorkspaceByName(name); }
@Test public void testAccessToLayerGroupNoInheritance() throws Exception { CatalogFilterAccessManager mgr = setupAccessManager(); inheritance.setValue("false"); SecureCatalogImpl sc = new SecureCatalogImpl(catalog, mgr) {}; assertThat(sc.getLayerGroups(), hasItem(equalTo(layerGroupGlobal))); assertThat(sc.getLayerGroups(), hasItem(equalTo(layerGroupTopp))); WorkspaceInfo ws = sc.getWorkspaceByName("topp"); LocalWorkspace.set(ws); assertThat(sc.getLayerGroups(), not(hasItem(equalTo(layerGroupGlobal)))); assertThat(sc.getLayerGroups(), hasItem(equalTo(layerGroupTopp))); LocalWorkspace.remove(); ws = sc.getWorkspaceByName("nurc"); LocalWorkspace.set(ws); assertThat(sc.getLayerGroups(), not(hasItem(equalTo(layerGroupGlobal)))); assertThat(sc.getLayerGroups(), not(hasItem(equalTo(layerGroupTopp)))); LocalWorkspace.remove(); }
@Test public void testAccessToStyle() throws Exception { CatalogFilterAccessManager mgr = setupAccessManager(); SecureCatalogImpl sc = new SecureCatalogImpl(catalog, mgr) {}; assertEquals(2, sc.getStyles().size()); WorkspaceInfo ws = sc.getWorkspaceByName("topp"); LocalWorkspace.set(ws); assertEquals(2, sc.getStyles().size()); LocalWorkspace.remove(); ws = sc.getWorkspaceByName("nurc"); LocalWorkspace.set(ws); assertEquals(1, sc.getStyles().size()); }
@Test public void testAccessToLayer() throws Exception { CatalogFilterAccessManager mgr = setupAccessManager(); SecureCatalogImpl sc = new SecureCatalogImpl(catalog, mgr) {}; assertNotNull(sc.getLayerByName("topp:states")); WorkspaceInfo ws = sc.getWorkspaceByName("nurc"); LocalWorkspace.set(ws); assertNull(sc.getWorkspaceByName("topp")); assertNull(sc.getResourceByName("topp:states", ResourceInfo.class)); assertNull(sc.getLayerByName("topp:states")); }
@SuppressWarnings({"unchecked"}) @Test public void testAccessToLayerGroup() throws Exception { CatalogFilterAccessManager mgr = setupAccessManager(); SecureCatalogImpl sc = new SecureCatalogImpl(catalog, mgr) {}; assertEquals(catalog.getLayerGroups().size(), sc.getLayerGroups().size()); // all groups in this one or global WorkspaceInfo ws = sc.getWorkspaceByName("topp"); LocalWorkspace.set(ws); assertEquals(getWorkspaceAccessibleGroupSize("topp"), sc.getLayerGroups().size()); LocalWorkspace.remove(); ws = sc.getWorkspaceByName("nurc"); LocalWorkspace.set(ws); assertEquals(getWorkspaceAccessibleGroupSize("nurc"), sc.getLayerGroups().size()); assertEquals("layerGroup", sc.getLayerGroups().get(0).getName()); LocalWorkspace.remove(); }
WorkspaceInfo ws = sc.getWorkspaceByName("topp"); LocalWorkspace.set(ws); ws = sc.getWorkspaceByName("nurc"); LocalWorkspace.set(ws); styles = sc.list(StyleInfo.class, Filter.INCLUDE);
@Test public void testWideOpen() throws Exception { buildManager("wideOpen.properties"); // use no user at all SecurityContextHolder.getContext().setAuthentication(anonymous); assertSame(states, sc.getFeatureTypeByName("topp:states")); assertSame(arcGrid, sc.getCoverageByName("nurc:arcgrid")); assertSame(states, sc.getResourceByName("topp:states", FeatureTypeInfo.class)); assertSame(arcGrid, sc.getResourceByName("nurc:arcgrid", CoverageInfo.class)); assertSame(cascaded, sc.getResourceByName("topp:cascaded", WMSLayerInfo.class)); assertSame(cascadedWmts, sc.getResourceByName("topp:cascadedWmts", WMTSLayerInfo.class)); assertEquals(toppWs, sc.getWorkspaceByName("topp")); assertSame(statesStore, sc.getDataStoreByName("states")); assertSame(roadsStore, sc.getDataStoreByName("roads")); assertSame(arcGridStore, sc.getCoverageStoreByName("arcGrid")); assertThatBoth( sc.getFeatureTypes(), sc.list(FeatureTypeInfo.class, Predicates.acceptAll()), equalTo(featureTypes)); assertThatBoth( sc.getCoverages(), sc.list(CoverageInfo.class, Predicates.acceptAll()), equalTo(coverages)); assertThatBoth( sc.getWorkspaces(), sc.list(WorkspaceInfo.class, Predicates.acceptAll()), equalTo(workspaces)); }
assertSame(arcGrid, sc.getCoverageByName("nurc:arcgrid")); assertSame(arcGrid, sc.getResourceByName("nurc:arcgrid", CoverageInfo.class)); assertEquals(toppWs, sc.getWorkspaceByName("topp")); assertSame(arcGridStore, sc.getCoverageStoreByName("arcGrid")); assertEquals(coverages, sc.getCoverages()); assertEquals(workspaces, sc.getWorkspaces()); assertEquals(toppWs, sc.getWorkspaceByName("topp")); assertSame(statesStore, sc.getDataStoreByName("states")); assertSame(roadsStore, sc.getDataStoreByName("roads"));
assertNull(sc.getResourceByName("topp:states", FeatureTypeInfo.class)); assertNull(sc.getResourceByName("nurc:arcgrid", CoverageInfo.class)); assertNull(sc.getWorkspaceByName("topp")); assertNull(sc.getDataStoreByName("states")); assertNull(sc.getDataStoreByName("roads")); assertSame(states, sc.getResourceByName("topp:states", FeatureTypeInfo.class)); assertSame(arcGrid, sc.getResourceByName("nurc:arcgrid", CoverageInfo.class)); assertEquals(toppWs, sc.getWorkspaceByName("topp")); assertSame(statesStore, sc.getDataStoreByName("states")); assertSame(roadsStore, sc.getDataStoreByName("roads"));
fail("Should have failed with a security exception"); sc.getWorkspaceByName("topp"); try { sc.getDataStoreByName("states").getDataStore(null); assertSame(states, sc.getResourceByName("topp:states", FeatureTypeInfo.class)); assertSame(arcGrid, sc.getResourceByName("nurc:arcgrid", CoverageInfo.class)); assertEquals(toppWs, sc.getWorkspaceByName("topp")); assertSame(statesStore, sc.getDataStoreByName("states")); assertSame(roadsStore, sc.getDataStoreByName("roads"));
sc.getWorkspaceByName("topp"); fail("Should have failed with a security exception"); } catch (Exception e) { assertSame(states, sc.getResourceByName("topp:states", FeatureTypeInfo.class)); assertSame(arcGrid, sc.getResourceByName("nurc:arcgrid", CoverageInfo.class)); assertEquals(toppWs, sc.getWorkspaceByName("topp")); assertSame(statesStore, sc.getDataStoreByName("states")); assertSame(roadsStore, sc.getDataStoreByName("roads"));