@Override public void apply(Map<String, Object> storage) { WorkspaceInfo wi = (WorkspaceInfo) storage.get(KEY); LocalWorkspace.set(wi); }
@Before public void beforeTest() { // delete create workspaces CREATED_WORKSPACES_PREFIXES.forEach(this::removeWorkspace); // make sure that no local workspace is set LocalWorkspace.set(null); }
LocalWorkspace.set(ws);
LocalPublished.set(layer); final WorkspaceInfo ws = new WorkspaceInfoImpl(); LocalWorkspace.set(ws); final Object myState = new Object(); AdminRequest.start(myState);
private void assertPrefixInclusion( boolean includePrefix, boolean setLocalWorkspace, boolean createGeoServer) { if (createGeoServer) { SettingsInfo settings = createNiceMock(SettingsInfo.class); expect(settings.isLocalWorkspaceIncludesPrefix()).andReturn(includePrefix).anyTimes(); replay(settings); GeoServer geoServer = createNiceMock(GeoServer.class); expect(geoServer.getSettings()).andReturn(settings).anyTimes(); replay(geoServer); catalog.setGeoServer(geoServer); } if (setLocalWorkspace) { WorkspaceInfo workspaceByName = catalog.getWorkspaceByName("ws1"); LocalWorkspace.set(workspaceByName); } checkLayerNamePrefixInclusion(includePrefix, catalog.getLayers().iterator()); checkLayerNamePrefixInclusion(includePrefix, catalog.list(LayerInfo.class, Filter.INCLUDE)); }
@Test public void testRequest() throws InterruptedException, ExecutionException { // setup the state final WorkspaceInfo ws = new WorkspaceInfoImpl(); LocalWorkspace.set(ws); // test it's transferred properly using the base class machinery testThreadLocalTransfer( new ThreadLocalTransferCallable(new LocalWorkspaceThreadLocalTransfer()) { @Override void assertThreadLocalCleaned() { assertNull(LocalWorkspace.get()); } @Override void assertThreadLocalApplied() { assertSame(ws, LocalWorkspace.get()); } }); } }
@Test public void retrievingNamespacesFromCatalogInVirtualService() { Catalog catalog = getCatalog(); // create isolated workspace createWorkspace("test_c1", "https://www.test_c.com", true); createWorkspace("test_c2", "https://www.test_c.com", false); // get namespace by URI checkNamespace( catalog.getNamespaceByURI("https://www.test_c.com"), "test_c2", "https://www.test_c.com", false); // set isolated workspace as the local workspace WorkspaceInfo workspace = catalog.getWorkspaceByName("test_c1"); assertThat(workspace, notNullValue()); LocalWorkspace.set(workspace); // get the namespace by URI, we should get the isolated workspace one checkNamespace( catalog.getNamespaceByURI("https://www.test_c.com"), "test_c1", "https://www.test_c.com", true); }
@Test public void testGetLayerByName() throws Exception { assertNull(catalog.getLayerByName("l1")); assertNull(catalog.getLayerByName("l2")); WorkspaceInfo ws1 = catalog.getWorkspaceByName("ws1"); WorkspaceInfo ws2 = catalog.getWorkspaceByName("ws2"); LocalWorkspace.set(ws1); assertNotNull(catalog.getLayerByName("l1")); assertNull(catalog.getLayerByName("l2")); LocalWorkspace.remove(); LocalWorkspace.set(ws2); assertNull(catalog.getLayerByName("l1")); assertNotNull(catalog.getLayerByName("l2")); LocalWorkspace.remove(); assertNull(catalog.getLayerByName("l1")); assertNull(catalog.getLayerByName("l2")); }
@Test public void testGetStyleByName() throws Exception { assertNull(catalog.getStyleByName("s1")); assertNull(catalog.getStyleByName("s2")); WorkspaceInfo ws1 = catalog.getWorkspaceByName("ws1"); WorkspaceInfo ws2 = catalog.getWorkspaceByName("ws2"); LocalWorkspace.set(ws1); assertNotNull(catalog.getStyleByName("s1")); assertNull(catalog.getStyleByName("s2")); LocalWorkspace.remove(); assertNull(catalog.getStyleByName("s1")); assertNull(catalog.getStyleByName("s2")); LocalWorkspace.set(ws2); assertNull(catalog.getStyleByName("s1")); assertNotNull(catalog.getStyleByName("s2")); LocalWorkspace.remove(); assertNull(catalog.getStyleByName("s1")); assertNull(catalog.getStyleByName("s2")); }
@Test public void testGetLayerGroupByName() throws Exception { assertNull(catalog.getLayerGroupByName("lg1")); assertNull(catalog.getLayerGroupByName("lg2")); WorkspaceInfo ws1 = catalog.getWorkspaceByName("ws1"); WorkspaceInfo ws2 = catalog.getWorkspaceByName("ws2"); LocalWorkspace.set(ws1); assertNotNull(catalog.getLayerGroupByName("lg1")); assertNotNull(catalog.getLayerGroupByName("ws1:lg1")); assertNull(catalog.getLayerGroupByName("lg2")); LocalWorkspace.remove(); assertNull(catalog.getLayerGroupByName("lg1")); assertNull(catalog.getLayerGroupByName("lg2")); LocalWorkspace.set(ws2); assertNull(catalog.getLayerGroupByName("lg1")); assertNotNull(catalog.getLayerGroupByName("ws2:lg2")); assertNotNull(catalog.getLayerGroupByName("lg2")); LocalWorkspace.remove(); assertNull(catalog.getLayerGroupByName("lg1")); assertNull(catalog.getLayerGroupByName("lg2")); }
catalog.add(globalGroup); LocalWorkspace.set(citeWs); LocalPublished.set(catalog.getLayerGroupByName(LOCAL_GROUP));
@Test public void testGetSettings() throws Exception { GeoServerInfo global = geoServer.getFactory().createGlobal(); geoServer.setGlobal(global); SettingsInfo s = geoServer.getSettings(); assertNotNull(s); assertEquals(4, s.getNumDecimals()); WorkspaceInfo ws = geoServer.getCatalog().getFactory().createWorkspace(); ws.setName("acme"); geoServer.getCatalog().add(ws); SettingsInfo t = geoServer.getFactory().createSettings(); t.setNumDecimals(7); t.setWorkspace(ws); geoServer.add(t); assertNotNull(geoServer.getSettings(ws)); assertEquals(7, geoServer.getSettings(ws).getNumDecimals()); assertEquals(4, geoServer.getSettings().getNumDecimals()); LocalWorkspace.set(ws); try { assertNotNull(geoServer.getSettings()); assertEquals(7, geoServer.getSettings().getNumDecimals()); } finally { LocalWorkspace.remove(); } }
assertNotNull(catalog.getLayerByName("sfLayer")); LocalWorkspace.set(sf); assertNull(catalog.getLayerByName("citeLayer")); assertNotNull(catalog.getLayerByName("sfLayer")); LocalWorkspace.remove(); LocalWorkspace.set(cite); assertNull(catalog.getLayerByName("sfLayer")); assertNotNull(catalog.getLayerByName("citeLayer"));
@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()); }
@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(); }
@Override protected void onSetUp(SystemTestData testData) throws Exception { super.onSetUp(testData); GeoServer geoServer = getGeoServer(); WorkspaceInfo ws = geoServer.getCatalog().getWorkspaceByName("sf"); LocalWorkspace.set(ws); WCSInfo wcsInfo = geoServer.getService(WCSInfo.class); wcsInfo.setWorkspace(ws); geoServer.save(wcsInfo); }
@Override protected void onSetUp(SystemTestData testData) throws Exception { super.onSetUp(testData); GeoServer geoServer = getGeoServer(); WorkspaceInfo ws = geoServer.getCatalog().getWorkspaceByName("sf"); LocalWorkspace.set(ws); WFSInfo wfsInfo = geoServer.getService(WFSInfo.class); wfsInfo.setWorkspace(ws); geoServer.save(wfsInfo); }
@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")); }