This is an automated email from the ASF dual-hosted git repository. rombert pushed a commit to annotated tag org.apache.sling.testing.sling-mock-1.1.0 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-sling-mock.git
commit 3d36daf5afdd7b7a1a687ce4a8efec1617888bcf Author: Stefan Seifert <[email protected]> AuthorDate: Thu Oct 16 17:53:47 2014 +0000 SLING-4042 make sure JCR mock supports accessing data using multiple sessions git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1632397 13f79535-47bb-0310-9956-ffa450edef68 --- .../resource/MultipleResourceResolverTest.java} | 15 ++--- .../AbstractMultipleResourceResolverTest.java | 66 ++++++++++++++++++++++ ...Test.java => MultipleResourceResolverTest.java} | 11 +--- .../resource/SlingCrudResourceResolverTest.java | 7 --- 4 files changed, 72 insertions(+), 27 deletions(-) diff --git a/src/test/java/org/apache/sling/testing/mock/sling/rrmock/resource/SlingCrudResourceResolverTest.java b/src/test/java/org/apache/sling/testing/mock/sling/jcrmock/resource/MultipleResourceResolverTest.java similarity index 63% copy from src/test/java/org/apache/sling/testing/mock/sling/rrmock/resource/SlingCrudResourceResolverTest.java copy to src/test/java/org/apache/sling/testing/mock/sling/jcrmock/resource/MultipleResourceResolverTest.java index 5bca11e..cc02db4 100644 --- a/src/test/java/org/apache/sling/testing/mock/sling/rrmock/resource/SlingCrudResourceResolverTest.java +++ b/src/test/java/org/apache/sling/testing/mock/sling/jcrmock/resource/MultipleResourceResolverTest.java @@ -16,23 +16,16 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.sling.testing.mock.sling.rrmock.resource; +package org.apache.sling.testing.mock.sling.jcrmock.resource; -import org.apache.sling.api.resource.ResourceResolver; -import org.apache.sling.testing.mock.sling.MockSling; import org.apache.sling.testing.mock.sling.ResourceResolverType; -import org.apache.sling.testing.mock.sling.resource.AbstractSlingCrudResourceResolverTest; +import org.apache.sling.testing.mock.sling.resource.AbstractMultipleResourceResolverTest; -public class SlingCrudResourceResolverTest extends AbstractSlingCrudResourceResolverTest { +public class MultipleResourceResolverTest extends AbstractMultipleResourceResolverTest { @Override protected ResourceResolverType getResourceResolverType() { - return ResourceResolverType.RESOURCERESOLVER_MOCK; - } - - @Override - protected ResourceResolver newResourceResolver() { - return MockSling.newResourceResolver(getResourceResolverType()); + return ResourceResolverType.JCR_MOCK; } } diff --git a/src/test/java/org/apache/sling/testing/mock/sling/resource/AbstractMultipleResourceResolverTest.java b/src/test/java/org/apache/sling/testing/mock/sling/resource/AbstractMultipleResourceResolverTest.java new file mode 100644 index 0000000..1ce615e --- /dev/null +++ b/src/test/java/org/apache/sling/testing/mock/sling/resource/AbstractMultipleResourceResolverTest.java @@ -0,0 +1,66 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.sling.testing.mock.sling.resource; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + +import org.apache.sling.api.resource.Resource; +import org.apache.sling.api.resource.ResourceResolver; +import org.apache.sling.api.resource.ResourceResolverFactory; +import org.apache.sling.testing.mock.sling.MockSling; +import org.apache.sling.testing.mock.sling.ResourceResolverType; +import org.junit.Test; + +import com.google.common.collect.ImmutableMap; + +/** + * Tests content access accross multiple resource resolvers. + */ +public abstract class AbstractMultipleResourceResolverTest { + + protected abstract ResourceResolverType getResourceResolverType(); + + protected ResourceResolverFactory newResourceResolerFactory() { + return MockSling.newResourceResolverFactory(getResourceResolverType()); + } + + @Test + public void testMultipleResourceResolver() throws Exception { + ResourceResolverFactory factory = newResourceResolerFactory(); + ResourceResolver resolver1 = factory.getResourceResolver(null); + ResourceResolver resolver2 = factory.getResourceResolver(null); + + // add a resource in resolver 1 + Resource root = resolver1.getResource("/"); + resolver1.create(root, "test", ImmutableMap.<String, Object>of()); + resolver1.commit(); + + // try to get resource in resolver 2 + Resource testResource2 = resolver2.getResource("/test"); + assertNotNull(testResource2); + + // delete resource and make sure it is removed in resolver 1 as well + resolver2.delete(testResource2); + resolver2.commit(); + + assertNull(resolver1.getResource("/test")); + } + +} diff --git a/src/test/java/org/apache/sling/testing/mock/sling/rrmock/resource/SlingCrudResourceResolverTest.java b/src/test/java/org/apache/sling/testing/mock/sling/rrmock/resource/MultipleResourceResolverTest.java similarity index 71% copy from src/test/java/org/apache/sling/testing/mock/sling/rrmock/resource/SlingCrudResourceResolverTest.java copy to src/test/java/org/apache/sling/testing/mock/sling/rrmock/resource/MultipleResourceResolverTest.java index 5bca11e..64aab30 100644 --- a/src/test/java/org/apache/sling/testing/mock/sling/rrmock/resource/SlingCrudResourceResolverTest.java +++ b/src/test/java/org/apache/sling/testing/mock/sling/rrmock/resource/MultipleResourceResolverTest.java @@ -18,21 +18,14 @@ */ package org.apache.sling.testing.mock.sling.rrmock.resource; -import org.apache.sling.api.resource.ResourceResolver; -import org.apache.sling.testing.mock.sling.MockSling; import org.apache.sling.testing.mock.sling.ResourceResolverType; -import org.apache.sling.testing.mock.sling.resource.AbstractSlingCrudResourceResolverTest; +import org.apache.sling.testing.mock.sling.resource.AbstractMultipleResourceResolverTest; -public class SlingCrudResourceResolverTest extends AbstractSlingCrudResourceResolverTest { +public class MultipleResourceResolverTest extends AbstractMultipleResourceResolverTest { @Override protected ResourceResolverType getResourceResolverType() { return ResourceResolverType.RESOURCERESOLVER_MOCK; } - @Override - protected ResourceResolver newResourceResolver() { - return MockSling.newResourceResolver(getResourceResolverType()); - } - } diff --git a/src/test/java/org/apache/sling/testing/mock/sling/rrmock/resource/SlingCrudResourceResolverTest.java b/src/test/java/org/apache/sling/testing/mock/sling/rrmock/resource/SlingCrudResourceResolverTest.java index 5bca11e..20ab589 100644 --- a/src/test/java/org/apache/sling/testing/mock/sling/rrmock/resource/SlingCrudResourceResolverTest.java +++ b/src/test/java/org/apache/sling/testing/mock/sling/rrmock/resource/SlingCrudResourceResolverTest.java @@ -18,8 +18,6 @@ */ package org.apache.sling.testing.mock.sling.rrmock.resource; -import org.apache.sling.api.resource.ResourceResolver; -import org.apache.sling.testing.mock.sling.MockSling; import org.apache.sling.testing.mock.sling.ResourceResolverType; import org.apache.sling.testing.mock.sling.resource.AbstractSlingCrudResourceResolverTest; @@ -30,9 +28,4 @@ public class SlingCrudResourceResolverTest extends AbstractSlingCrudResourceReso return ResourceResolverType.RESOURCERESOLVER_MOCK; } - @Override - protected ResourceResolver newResourceResolver() { - return MockSling.newResourceResolver(getResourceResolverType()); - } - } -- To stop receiving notification emails like this one, please contact "[email protected]" <[email protected]>.
