You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 10:21:27 UTC
[sling-org-apache-sling-testing-sling-mock] 18/26: SLING-4108
JCR/Sling/ResourceResolver Mock: Support providing authentication info
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 448fe45364baf956e8aedf5922e32766015707eb
Author: Stefan Seifert <ss...@apache.org>
AuthorDate: Tue Oct 28 10:17:59 2014 +0000
SLING-4108 JCR/Sling/ResourceResolver Mock: Support providing authentication info
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/sling-mock@1634835 13f79535-47bb-0310-9956-ffa450edef68
---
.../mock/sling/MockJcrResourceResolverFactory.java | 25 ++++++++++++++++------
.../testing/mock/sling/MockSlingRepository.java | 10 ++++-----
.../AbstractMultipleResourceResolverTest.java | 13 +++++++++--
3 files changed, 34 insertions(+), 14 deletions(-)
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverFactory.java b/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverFactory.java
index 8a9716b..f4fc1f1 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverFactory.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/MockJcrResourceResolverFactory.java
@@ -53,8 +53,7 @@ class MockJcrResourceResolverFactory implements ResourceResolverFactory {
this.slingRepository = repository;
}
- @Override
- public ResourceResolver getResourceResolver(final Map<String, Object> authenticationInfo) throws LoginException {
+ private ResourceResolver getResourceResolverInternal(Map<String, Object> authenticationInfo, boolean isAdmin) throws LoginException {
// setup mock OSGi environment
Dictionary<String, Object> resourceProviderFactoryProps = new Hashtable<String, Object>();
resourceProviderFactoryProps.put(Constants.SERVICE_VENDOR, "sling-mock");
@@ -72,8 +71,15 @@ class MockJcrResourceResolverFactory implements ResourceResolverFactory {
MockOsgi.injectServices(jcrResourceProviderFactory, componentContext.getBundleContext());
MockOsgi.activate(jcrResourceProviderFactory, componentContext.getBundleContext(),
ImmutableMap.<String, Object> of());
- ResourceProvider resourceProvider = jcrResourceProviderFactory
- .getAdministrativeResourceProvider(new HashMap<String, Object>());
+
+ ResourceProvider resourceProvider;
+ if (isAdmin) {
+ resourceProvider = jcrResourceProviderFactory.getAdministrativeResourceProvider(authenticationInfo);
+ }
+ else {
+ resourceProvider = jcrResourceProviderFactory.getResourceProvider(authenticationInfo);
+ }
+
Dictionary<Object, Object> resourceProviderProps = new Hashtable<Object, Object>();
resourceProviderProps.put(ResourceProvider.ROOTS, new String[] { "/" });
componentContext.getBundleContext().registerService(ResourceProvider.class.getName(), resourceProvider,
@@ -88,7 +94,7 @@ class MockJcrResourceResolverFactory implements ResourceResolverFactory {
getServiceReferenceProperties(resourceProviderServiceReference));
activator.activate(componentContext);
CommonResourceResolverFactoryImpl commonFactoryImpl = new CommonResourceResolverFactoryImpl(activator);
- ResourceResolverContext context = new ResourceResolverContext(true, null, new ResourceAccessSecurityTracker());
+ ResourceResolverContext context = new ResourceResolverContext(true, authenticationInfo, new ResourceAccessSecurityTracker());
ResourceResolverImpl resourceResolver = new ResourceResolverImpl(commonFactoryImpl, context);
return resourceResolver;
}
@@ -103,15 +109,20 @@ class MockJcrResourceResolverFactory implements ResourceResolverFactory {
}
@Override
+ public ResourceResolver getResourceResolver(final Map<String, Object> authenticationInfo) throws LoginException {
+ return getResourceResolverInternal(authenticationInfo, false);
+ }
+
+ @Override
public ResourceResolver getAdministrativeResourceResolver(final Map<String, Object> authenticationInfo)
throws LoginException {
- return getResourceResolver(authenticationInfo);
+ return getResourceResolverInternal(authenticationInfo, true);
}
// part of Sling API 2.7
public ResourceResolver getServiceResourceResolver(final Map<String, Object> authenticationInfo)
throws LoginException {
- return getResourceResolver(authenticationInfo);
+ return getResourceResolverInternal(authenticationInfo, true);
}
}
diff --git a/src/main/java/org/apache/sling/testing/mock/sling/MockSlingRepository.java b/src/main/java/org/apache/sling/testing/mock/sling/MockSlingRepository.java
index 1e33847..eec41f5 100644
--- a/src/main/java/org/apache/sling/testing/mock/sling/MockSlingRepository.java
+++ b/src/main/java/org/apache/sling/testing/mock/sling/MockSlingRepository.java
@@ -41,14 +41,14 @@ class MockSlingRepository implements SlingRepository {
}
@Override
- public Session loginAdministrative(final String workspace) throws RepositoryException {
- return login();
+ public Session loginAdministrative(final String workspaceName) throws RepositoryException {
+ return login(workspaceName);
}
@Override
- public Session loginService(final String subServiceName, final String workspace) throws LoginException,
- RepositoryException {
- return login();
+ public Session loginService(final String subServiceName, final String workspaceName)
+ throws LoginException, RepositoryException {
+ return login(workspaceName);
}
@Override
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
index 1ce615e..ea47667 100644
--- 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
@@ -44,8 +44,17 @@ public abstract class AbstractMultipleResourceResolverTest {
@Test
public void testMultipleResourceResolver() throws Exception {
ResourceResolverFactory factory = newResourceResolerFactory();
- ResourceResolver resolver1 = factory.getResourceResolver(null);
- ResourceResolver resolver2 = factory.getResourceResolver(null);
+ ResourceResolver resolver1 = factory.getResourceResolver(ImmutableMap.<String, Object>of(
+ ResourceResolverFactory.USER, "user1"));
+ ResourceResolver resolver2 = factory.getResourceResolver(ImmutableMap.<String, Object>of(
+ ResourceResolverFactory.USER, "user2"));
+
+ // validate user names
+ // TODO: enable this tests when updated to latest jcr-mock/resourceresolver-mock versions
+ /*
+ assertEquals("user1", resolver1.getAttribute(ResourceResolverFactory.USER));
+ assertEquals("user2", resolver2.getAttribute(ResourceResolverFactory.USER));
+ */
// add a resource in resolver 1
Resource root = resolver1.getResource("/");
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.