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

martin_s pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/archiva-redback-core.git


The following commit(s) were added to refs/heads/master by this push:
     new 64d9024  Updating tests and service implementation
64d9024 is described below

commit 64d9024357baab4fd8a742b63b28be8758225ba3
Author: Martin Stockhammer <[email protected]>
AuthorDate: Sun Jul 26 12:12:04 2020 +0200

    Updating tests and service implementation
---
 .../rest/api/model/RequestTokenRequest.java        |  7 ++++
 .../interceptors/BearerAuthInterceptor.java        |  5 +--
 .../interceptors/PermissionsInterceptor.java       |  3 +-
 .../services/interceptors/RedbackPrincipal.java    | 11 +++++-
 .../interceptors/RedbackSecurityContext.java       | 13 +++----
 .../services/v2/DefaultAuthenticationService.java  | 27 ++++++++------
 .../interceptors/BearerAuthInterceptorTest.java    |  6 +++-
 .../rest/services/mock/DefaultServicesAssert.java  |  4 +++
 .../redback/rest/services/mock/ServicesAssert.java |  4 +++
 .../v2/NativeAuthenticationServiceTest.java        |  1 -
 .../redback/rest/services/v2/UserServiceTest.java  | 42 ++++++++++------------
 11 files changed, 74 insertions(+), 49 deletions(-)

diff --git 
a/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/RequestTokenRequest.java
 
b/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/RequestTokenRequest.java
index b125ff3..3413ffd 100644
--- 
a/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/RequestTokenRequest.java
+++ 
b/redback-integrations/redback-rest/redback-rest-api/src/main/java/org/apache/archiva/redback/rest/api/model/RequestTokenRequest.java
@@ -59,6 +59,13 @@ public class RequestTokenRequest implements Serializable
         this.scope = scope;
     }
 
+    public RequestTokenRequest( String userId, String password, GrantType 
grantType )
+    {
+        this.userId = userId;
+        this.password = password;
+        this.grantType = grantType;
+    }
+
     @XmlElement(name = "grant_type", required = true )
     @Schema(description = "The grant type. Currently only 'authorization_code' 
is supported.")
     public GrantType getGrantType( )
diff --git 
a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/BearerAuthInterceptor.java
 
b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/BearerAuthInterceptor.java
index cd1e726..94cf2c2 100644
--- 
a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/BearerAuthInterceptor.java
+++ 
b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/BearerAuthInterceptor.java
@@ -95,9 +95,6 @@ public class BearerAuthInterceptor extends AbstractInterceptor
     @Context
     private ResourceInfo resourceInfo;
 
-    @Context
-    private UriInfo uriInfo;
-
     protected void setUserManager( UserManager userManager )
     {
         this.userManager = userManager;
@@ -167,7 +164,7 @@ public class BearerAuthInterceptor extends 
AbstractInterceptor
                     RedbackAuthenticationThreadLocal.set( 
redbackRequestInformation );
                     requestContext.setProperty( AUTHENTICATION_RESULT, 
authenticationResult );
                     requestContext.setProperty( SECURITY_SESSION, 
securitySession );
-                    RedbackSecurityContext securityContext = new 
RedbackSecurityContext(uriInfo, user, securitySession );
+                    RedbackSecurityContext securityContext = new 
RedbackSecurityContext(requestContext.getUriInfo(), user, securitySession );
 
                     if (rbacManager!=null)
                     {
diff --git 
a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/PermissionsInterceptor.java
 
b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/PermissionsInterceptor.java
index 8de9bcc..e19a542 100644
--- 
a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/PermissionsInterceptor.java
+++ 
b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/PermissionsInterceptor.java
@@ -154,8 +154,9 @@ public class PermissionsInterceptor
                 {
                     if ( securitySession != null && securitySession.getUser() 
!= null )
                     {
-                        log.debug( "user {} not authenticated", 
securitySession.getUser().getUsername() );
+                        log.debug( "user {} not authenticated, but permissions 
are set", securitySession.getUser().getUsername() );
                     }
+                    containerRequestContext.abortWith( Response.status( 
Response.Status.FORBIDDEN ).build() );
                     return;
                 }
             }
diff --git 
a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/RedbackPrincipal.java
 
b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/RedbackPrincipal.java
index 8d54f17..bc41a49 100644
--- 
a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/RedbackPrincipal.java
+++ 
b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/RedbackPrincipal.java
@@ -19,6 +19,7 @@ package org.apache.archiva.redback.rest.services.interceptors;
  * under the License.
  */
 
+import org.apache.archiva.redback.system.SecuritySession;
 import org.apache.archiva.redback.users.User;
 
 import java.security.Principal;
@@ -28,7 +29,7 @@ import java.security.Principal;
  */
 public class RedbackPrincipal implements Principal
 {
-
+    SecuritySession securitySession;
     User redbackUser;
 
     RedbackPrincipal(User user) {
@@ -45,5 +46,13 @@ public class RedbackPrincipal implements Principal
         return redbackUser;
     }
 
+    public SecuritySession getSecuritySession( )
+    {
+        return securitySession;
+    }
 
+    public void setSecuritySession( SecuritySession securitySession )
+    {
+        this.securitySession = securitySession;
+    }
 }
diff --git 
a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/RedbackSecurityContext.java
 
b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/RedbackSecurityContext.java
index c743f92..eabc47e 100644
--- 
a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/RedbackSecurityContext.java
+++ 
b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/interceptors/RedbackSecurityContext.java
@@ -36,7 +36,7 @@ import java.util.Set;
 public class RedbackSecurityContext implements javax.ws.rs.core.SecurityContext
 {
     SecuritySession securitySession;
-    Principal principal;
+    RedbackPrincipal principal;
     User user;
     String authenticationScheme = "Bearer";
     Set<String> roles;
@@ -44,9 +44,8 @@ public class RedbackSecurityContext implements 
javax.ws.rs.core.SecurityContext
 
 
     RedbackSecurityContext( UriInfo uriInfo, User user, SecuritySession 
securitySession) {
-        this.isSecure = 
uriInfo.getAbsolutePath().toString().toLowerCase().startsWith("https");
-        setPrincipal( user );
-        this.securitySession = securitySession;
+        this.isSecure = uriInfo!=null && 
uriInfo.getAbsolutePath().toString().toLowerCase().startsWith("https");
+        setPrincipal( user, securitySession);
     }
 
     @Override
@@ -77,13 +76,15 @@ public class RedbackSecurityContext implements 
javax.ws.rs.core.SecurityContext
         return this.securitySession;
     }
 
-    public void setPrincipal( User user)
+    public void setPrincipal( User user, SecuritySession securitySession)
     {
         this.user = user;
         this.principal = new RedbackPrincipal( user );
+        this.securitySession = securitySession;
+        this.principal.setSecuritySession( securitySession );
     }
 
-    public void setSession( SecuritySession securitySession )
+    public void setSecuritySession( SecuritySession securitySession )
     {
         this.securitySession = securitySession;
     }
diff --git 
a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/v2/DefaultAuthenticationService.java
 
b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/v2/DefaultAuthenticationService.java
index a4d415e..ca4d489 100644
--- 
a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/v2/DefaultAuthenticationService.java
+++ 
b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/v2/DefaultAuthenticationService.java
@@ -27,20 +27,19 @@ import org.apache.archiva.redback.authentication.Token;
 import org.apache.archiva.redback.authentication.TokenType;
 import org.apache.archiva.redback.authentication.jwt.JwtAuthenticator;
 import 
org.apache.archiva.redback.authentication.jwt.TokenAuthenticationException;
-import 
org.apache.archiva.redback.integration.filter.authentication.HttpAuthenticator;
 import org.apache.archiva.redback.policy.AccountLockedException;
 import org.apache.archiva.redback.policy.MustChangePasswordException;
 import org.apache.archiva.redback.rest.api.model.ErrorMessage;
 import org.apache.archiva.redback.rest.api.model.GrantType;
 import org.apache.archiva.redback.rest.api.model.PingResult;
-import org.apache.archiva.redback.rest.api.model.TokenRequest;
 import org.apache.archiva.redback.rest.api.model.RequestTokenRequest;
+import org.apache.archiva.redback.rest.api.model.TokenRequest;
 import org.apache.archiva.redback.rest.api.model.TokenResponse;
 import org.apache.archiva.redback.rest.api.model.User;
 import org.apache.archiva.redback.rest.api.model.UserLogin;
 import org.apache.archiva.redback.rest.api.services.RedbackServiceException;
 import org.apache.archiva.redback.rest.api.services.v2.AuthenticationService;
-import 
org.apache.archiva.redback.rest.services.RedbackAuthenticationThreadLocal;
+import org.apache.archiva.redback.rest.services.interceptors.RedbackPrincipal;
 import 
org.apache.archiva.redback.rest.services.interceptors.RedbackSecurityContext;
 import org.apache.archiva.redback.system.SecuritySession;
 import org.apache.archiva.redback.system.SecuritySystem;
@@ -51,19 +50,17 @@ import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 import javax.inject.Inject;
-import javax.inject.Named;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.ws.rs.container.ContainerRequestContext;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.SecurityContext;
+import java.security.Principal;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import static 
org.apache.archiva.redback.rest.services.interceptors.AbstractInterceptor.SECURITY_SESSION;
-
 /**
  *
  * Authentication service provides REST methods for authentication and 
verification.
@@ -87,6 +84,8 @@ public class DefaultAuthenticationService
     @Context
     private SecurityContext securityContext;
 
+    private RedbackPrincipal redbackPrincipal;
+
     @Context
     private ContainerRequestContext requestContext;
 
@@ -115,8 +114,14 @@ public class DefaultAuthenticationService
         return new PingResult( true );
     }
 
-    private RedbackSecurityContext getSecurityContext() {
-        return this.securityContext==null?null:(RedbackSecurityContext) 
this.securityContext;
+    RedbackPrincipal getPrincipal() {
+        if (this.securityContext!=null) {
+            Principal pri = this.securityContext.getUserPrincipal( );
+            if (pri!=null && pri instanceof RedbackPrincipal) {
+                return (RedbackPrincipal) pri;
+            }
+        }
+        return null;
     }
 
     @Override
@@ -227,10 +232,10 @@ public class DefaultAuthenticationService
     public User getAuthenticatedUser()
         throws RedbackServiceException
     {
-        RedbackSecurityContext ctx = getSecurityContext( );
-        if (ctx!=null)
+        RedbackPrincipal pri = getPrincipal( );
+        if (pri!=null)
         {
-            return buildRestUser( getSecurityContext( ).getUser( ) );
+            return buildRestUser( pri.getUser( ) );
         } else {
             throw new RedbackServiceException( "redback:not_authenticated", 
Response.Status.UNAUTHORIZED.getStatusCode( ) );
         }
diff --git 
a/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/interceptors/BearerAuthInterceptorTest.java
 
b/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/interceptors/BearerAuthInterceptorTest.java
index ba8721b..8c38705 100644
--- 
a/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/interceptors/BearerAuthInterceptorTest.java
+++ 
b/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/interceptors/BearerAuthInterceptorTest.java
@@ -45,6 +45,8 @@ import javax.ws.rs.container.ContainerRequestContext;
 import javax.ws.rs.container.ResourceInfo;
 import javax.ws.rs.core.UriInfo;
 import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
 
 import static org.junit.jupiter.api.Assertions.*;
 import static org.mockito.Mockito.*;
@@ -101,7 +103,7 @@ class BearerAuthInterceptorTest
     }
 
     @Test
-    void filter() throws IOException, NoSuchMethodException, 
UserManagerException
+    void filter() throws IOException, NoSuchMethodException, 
UserManagerException, URISyntaxException
     {
         Token token = jwtAuthenticator.generateToken( "gandalf" );
         when( resourceInfo.getResourceMethod( ) ).thenReturn( 
DefaultAuthenticationService.class.getDeclaredMethod( "ping" ) );
@@ -111,6 +113,7 @@ class BearerAuthInterceptorTest
         UriInfo uriInfo = mock( UriInfo.class );
         when( context.getUriInfo( ) ).thenReturn( uriInfo );
         when( uriInfo.getPath( ) ).thenReturn( "/api/v2/redback/auth/ping" );
+        when( uriInfo.getAbsolutePath( ) ).thenReturn( new URI( 
"https://localhost:1010/api/v2/redback/auth/ping"; ) );
         User user = new SimpleUser( );
         user.setUsername( "gandalf" );
         when( userManager.findUser( "gandalf" ) ).thenReturn( user );
@@ -119,6 +122,7 @@ class BearerAuthInterceptorTest
         RedbackRequestInformation info = RedbackAuthenticationThreadLocal.get( 
);
         assertNotNull( info );
         assertEquals( "gandalf", info.getUser( ).getUsername( ) );
+        verify( context, times(1)).setSecurityContext( argThat( 
securityContext -> 
securityContext.getUserPrincipal().getName().equals("gandalf") ) );
     }
 
 
diff --git 
a/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/mock/DefaultServicesAssert.java
 
b/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/mock/DefaultServicesAssert.java
index 0fa674d..625611d 100644
--- 
a/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/mock/DefaultServicesAssert.java
+++ 
b/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/mock/DefaultServicesAssert.java
@@ -46,5 +46,9 @@ public class DefaultServicesAssert
         return emailMessages;
     }
 
+    public void clearEmailMessages() {
+        mockJavaMailSender.getSendedEmails( ).clear( );
+    }
+
 
 }
diff --git 
a/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/mock/ServicesAssert.java
 
b/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/mock/ServicesAssert.java
index ebbab33..80b5f5c 100644
--- 
a/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/mock/ServicesAssert.java
+++ 
b/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/mock/ServicesAssert.java
@@ -19,6 +19,7 @@ package org.apache.archiva.redback.rest.services.mock;
  */
 
 import javax.ws.rs.GET;
+import javax.ws.rs.POST;
 import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
@@ -34,4 +35,7 @@ public interface ServicesAssert
     @Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
     List<EmailMessage> getEmailMessageSended()
         throws Exception;
+
+    @POST
+    void clearEmailMessages();
 }
diff --git 
a/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/v2/NativeAuthenticationServiceTest.java
 
b/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/v2/NativeAuthenticationServiceTest.java
index 2f9e561..c9c6327 100644
--- 
a/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/v2/NativeAuthenticationServiceTest.java
+++ 
b/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/v2/NativeAuthenticationServiceTest.java
@@ -171,7 +171,6 @@ public class NativeAuthenticationServiceTest extends 
AbstractNativeRestServices
         assertNotNull( result.body( ).jsonPath( ).getString( "refresh_token" ) 
);
     }
 
-    @Disabled
     @Test
     void getAuthenticatedUser() {
         Response result = given( ).spec( getRequestSpec(getAdminToken()) )
diff --git 
a/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/v2/UserServiceTest.java
 
b/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/v2/UserServiceTest.java
index b0cfe9c..ee8341c 100644
--- 
a/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/v2/UserServiceTest.java
+++ 
b/redback-integrations/redback-rest/redback-rest-services/src/test/java/org/apache/archiva/redback/rest/services/v2/UserServiceTest.java
@@ -19,7 +19,7 @@ package org.apache.archiva.redback.rest.services.v2;
  * under the License.
  */
 
-import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
+import org.apache.archiva.redback.rest.api.model.GrantType;
 import org.apache.archiva.redback.rest.api.model.Operation;
 import org.apache.archiva.redback.rest.api.model.Permission;
 import org.apache.archiva.redback.rest.api.model.PingResult;
@@ -38,7 +38,6 @@ import org.apache.cxf.jaxrs.client.WebClient;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestInstance;
 import org.junit.jupiter.api.extension.ExtendWith;
@@ -92,7 +91,7 @@ public class UserServiceTest
     {
         UserService service =
             JAXRSClientFactory.create( "http://localhost:"; + getServerPort( ) 
+ "/" + getRestServicesPath( ) + "/v2/redback/",
-                UserService.class, Collections.singletonList( new 
JacksonJaxbJsonProvider( ) ) );
+                UserService.class, Collections.singletonList( 
getJsonProvider() ) );
 
         // time out for debuging purpose
         WebClient.getConfig( service ).getHttpConduit( ).getClient( 
).setReceiveTimeout( getTimeout( ) );
@@ -108,7 +107,6 @@ public class UserServiceTest
         return service;
     }
 
-    @Disabled
     @Test
     public void ping( )
         throws Exception
@@ -128,8 +126,7 @@ public class UserServiceTest
         assertFalse( users.isEmpty( ) );
     }
 
-    @Test()
-    @Disabled
+    @Test
     public void getUsersWithoutAuthz( )
         throws Exception
     {
@@ -188,13 +185,17 @@ public class UserServiceTest
     }
 
     @Test
-    @Disabled
     public void register( )
         throws Exception
     {
         try
         {
             mockJavaMailSender.getSendedEmails( ).clear( );
+            ServicesAssert assertService =
+                JAXRSClientFactory.create( "http://localhost:"; + 
getServerPort( ) + "/" + getRestServicesPath( ) + "/testsService/",
+                    ServicesAssert.class,
+                    Collections.singletonList( getJsonProvider() ) );
+            assertService.clearEmailMessages();
             UserService service = getUserService( getAdminAuthzHeader( ) );
             User u = new User( );
             u.setFullName( "the toto" );
@@ -206,11 +207,6 @@ public class UserServiceTest
 
             assertNotEquals( "-1", key );
 
-            ServicesAssert assertService =
-                JAXRSClientFactory.create( "http://localhost:"; + 
getServerPort( ) + "/" + getRestServicesPath( ) + "/testsService/",
-                    ServicesAssert.class,
-                    Collections.singletonList( new JacksonJaxbJsonProvider( ) 
) );
-
             List<EmailMessage> emailMessages = 
assertService.getEmailMessageSended( );
             assertEquals( 1, emailMessages.size( ) );
             assertEquals( "[email protected]", emailMessages.get( 0 ).getTos( 
).get( 0 ) );
@@ -232,7 +228,7 @@ public class UserServiceTest
             u = service.getUser( "toto" );
 
             assertNotNull( u );
-            assertTrue( u.isValidated( ) );
+            assertFalse( u.isValidated( ) );
             assertTrue( u.isPasswordChangeRequired( ) );
 
             // assertTrue( service.validateUserFromKey( key ).isSuccess( ) );
@@ -250,7 +246,6 @@ public class UserServiceTest
 
     }
 
-    @Disabled
     @Test
     public void registerNoUrl( )
         throws Exception
@@ -271,7 +266,7 @@ public class UserServiceTest
             ServicesAssert assertService =
                 JAXRSClientFactory.create( "http://localhost:"; + 
getServerPort( ) + "/" + getRestServicesPath( ) + "/testsService/",
                     ServicesAssert.class,
-                    Collections.singletonList( new JacksonJaxbJsonProvider( ) 
) );
+                    Collections.singletonList( getJsonProvider() ) );
 
             List<EmailMessage> emailMessages = 
assertService.getEmailMessageSended( );
             assertEquals( 1, emailMessages.size( ) );
@@ -293,7 +288,7 @@ public class UserServiceTest
             u = service.getUser( "toto" );
 
             assertNotNull( u );
-            assertTrue( u.isValidated( ) );
+            assertFalse( u.isValidated( ) );
             assertTrue( u.isPasswordChangeRequired( ) );
 
             // assertTrue( service.validateUserFromKey( key ).isSuccess( ) );
@@ -312,13 +307,17 @@ public class UserServiceTest
     }
 
     @Test
-    @Disabled
     public void resetPassword( )
         throws Exception
     {
         try
         {
             mockJavaMailSender.getSendedEmails().clear();
+            ServicesAssert assertService =
+                JAXRSClientFactory.create( "http://localhost:"; + 
getServerPort( ) + "/" + getRestServicesPath( ) + "/testsService/",
+                    ServicesAssert.class,
+                    Collections.singletonList( getJsonProvider() ) );
+            assertService.clearEmailMessages();
 
             UserService service = getUserService( getAdminAuthzHeader( ) );
             User u = new User( );
@@ -331,10 +330,6 @@ public class UserServiceTest
 
             assertNotEquals( "-1", key );
 
-            ServicesAssert assertService =
-                JAXRSClientFactory.create( "http://localhost:"; + 
getServerPort( ) + "/" + getRestServicesPath( ) + "/testsService/",
-                    ServicesAssert.class,
-                    Collections.singletonList( new JacksonJaxbJsonProvider( ) 
) );
 
             WebClient.client( assertService ).accept( 
MediaType.APPLICATION_JSON_TYPE );
             WebClient.client( assertService ).type( 
MediaType.APPLICATION_JSON_TYPE );
@@ -354,7 +349,7 @@ public class UserServiceTest
             u = service.getUser( "toto" );
 
             assertNotNull( u );
-            assertTrue( u.isValidated( ) );
+            assertFalse( u.isValidated( ) );
             assertTrue( u.isPasswordChangeRequired( ) );
 
             // assertTrue( service.validateUserFromKey( key ).isSuccess( ) );
@@ -469,7 +464,6 @@ public class UserServiceTest
     }
 
     @Test
-    @Disabled
     public void lockUnlockUser( )
         throws Exception
     {
@@ -490,7 +484,7 @@ public class UserServiceTest
             assertNotNull( user );
             assertEquals( "toto the king", user.getFullName( ) );
             assertEquals( "[email protected]", user.getEmail( ) );
-            TokenResponse result = getLoginServiceV2( null ).logIn( new 
RequestTokenRequest( "toto", "foo123" ) );
+            TokenResponse result = getLoginServiceV2( null ).logIn( new 
RequestTokenRequest( "toto", "foo123", GrantType.AUTHORIZATION_CODE ) );
             getLoginServiceV2( "Bearer " + result.getAccessToken( ) 
).pingWithAutz( );
 
             userService.lockUser( "toto" );

Reply via email to