This is an automated email from the ASF dual-hosted git repository.

cris pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-auth-saml2.git


The following commit(s) were added to refs/heads/master by this push:
     new e9e7be8  added tests for Saml2UserMgtServiceImpl NPE scenarios
e9e7be8 is described below

commit e9e7be8ba59775bdaef57b5a5c2075e3ac93f496
Author: Cris Rockwell <[email protected]>
AuthorDate: Tue Jun 29 18:27:34 2021 -0400

    added tests for Saml2UserMgtServiceImpl NPE scenarios
---
 .../sling/auth/saml2/impl/Saml2UserMgtServiceImpl.java      |  8 ++++++++
 .../auth/saml2/impl/AuthenticationHandlerSAML2ImplTest.java | 13 +++++++++++++
 2 files changed, 21 insertions(+)

diff --git 
a/src/main/java/org/apache/sling/auth/saml2/impl/Saml2UserMgtServiceImpl.java 
b/src/main/java/org/apache/sling/auth/saml2/impl/Saml2UserMgtServiceImpl.java
index 0a7ca75..e1abc18 100644
--- 
a/src/main/java/org/apache/sling/auth/saml2/impl/Saml2UserMgtServiceImpl.java
+++ 
b/src/main/java/org/apache/sling/auth/saml2/impl/Saml2UserMgtServiceImpl.java
@@ -58,6 +58,10 @@ public class Saml2UserMgtServiceImpl implements 
Saml2UserMgtService {
             Map<String, Object> param = new HashMap<>();
             param.put(ResourceResolverFactory.SUBSERVICE, SERVICE_NAME);
             this.resourceResolver = 
resolverFactory.getServiceResourceResolver(param);
+            if (Objects.isNull(this.getResourceResolver())){
+                logger.error("Could not setup Saml2UserMgtService. Problem 
with Service User.");
+                return false;
+            }
             logger.info(this.resourceResolver.getUserID());
             session = this.resourceResolver.adaptTo(Session.class);
             JackrabbitSession jrSession = (JackrabbitSession) session;
@@ -77,6 +81,10 @@ public class Saml2UserMgtServiceImpl implements 
Saml2UserMgtService {
         return false;
     }
 
+    ResourceResolver getResourceResolver(){
+        return this.resourceResolver;
+    }
+
     @Override
     public void cleanUp() {
         resourceResolver.close();
diff --git 
a/src/test/java/org/apache/sling/auth/saml2/impl/AuthenticationHandlerSAML2ImplTest.java
 
b/src/test/java/org/apache/sling/auth/saml2/impl/AuthenticationHandlerSAML2ImplTest.java
index 0afc9d6..895a242 100644
--- 
a/src/test/java/org/apache/sling/auth/saml2/impl/AuthenticationHandlerSAML2ImplTest.java
+++ 
b/src/test/java/org/apache/sling/auth/saml2/impl/AuthenticationHandlerSAML2ImplTest.java
@@ -22,6 +22,7 @@ package org.apache.sling.auth.saml2.impl;
 import org.apache.jackrabbit.api.security.user.User;
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.auth.core.spi.AuthenticationInfo;
 import org.hamcrest.core.StringStartsWith;
 import org.jmock.Expectations;
@@ -77,6 +78,18 @@ public class AuthenticationHandlerSAML2ImplTest {
     }
 
     @Test
+    public void SamlUserMgtServiceImplNPETest() throws  Exception {
+        Saml2UserMgtServiceImpl saml2UserMgtService = 
Mockito.mock(Saml2UserMgtServiceImpl.class);
+        when(saml2UserMgtService.getResourceResolver()).thenReturn(null);
+        assertFalse(saml2UserMgtService.setUp());
+
+        Saml2UserMgtServiceImpl saml2UserMgtService2 = 
Mockito.mock(Saml2UserMgtServiceImpl.class);
+        ResourceResolver resourceResolver = 
Mockito.mock(ResourceResolver.class);
+        
when(saml2UserMgtService2.getResourceResolver()).thenReturn(resourceResolver);
+        assertFalse(saml2UserMgtService.setUp());
+    }
+
+    @Test
     public void invalidTokensTest() throws Exception {
         final String [] invalid = {
                 "1@21@3",

Reply via email to