Author: matthieu
Date: Fri Dec 11 12:31:50 2015
New Revision: 1719376

URL: http://svn.apache.org/viewvc?rev=1719376&view=rev
Log:
JAMES-1644 Remove mocks on ZoneDateTimeProvider

Added:
    
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/FixedDateZonedDateTimeProvider.java
Modified:
    
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java
    
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/crypto/SignedContinuationTokenManagerTest.java

Added: 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/FixedDateZonedDateTimeProvider.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/FixedDateZonedDateTimeProvider.java?rev=1719376&view=auto
==============================================================================
--- 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/FixedDateZonedDateTimeProvider.java
 (added)
+++ 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/FixedDateZonedDateTimeProvider.java
 Fri Dec 11 12:31:50 2015
@@ -0,0 +1,39 @@
+/****************************************************************
+ * 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.james.jmap;
+
+import java.time.ZonedDateTime;
+
+import org.apache.james.jmap.utils.ZonedDateTimeProvider;
+
+public class FixedDateZonedDateTimeProvider implements ZonedDateTimeProvider {
+
+    private ZonedDateTime zonedDateTime;
+
+    public void setFixedDateTime(ZonedDateTime zonedDateTime) {
+        this.zonedDateTime = zonedDateTime;
+    }
+
+    @Override
+    public ZonedDateTime get() {
+        return zonedDateTime;
+    }
+
+}

Modified: 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java?rev=1719376&r1=1719375&r2=1719376&view=diff
==============================================================================
--- 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java
 Fri Dec 11 12:31:50 2015
@@ -26,7 +26,6 @@ import static org.assertj.core.api.Asser
 import static org.hamcrest.Matchers.hasItem;
 import static org.hamcrest.Matchers.isA;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
 
 import java.time.ZonedDateTime;
 import java.time.format.DateTimeFormatter;
@@ -44,7 +43,6 @@ import org.apache.james.jmap.crypto.Jame
 import org.apache.james.jmap.crypto.SignedContinuationTokenManager;
 import org.apache.james.jmap.memory.access.MemoryAccessTokenRepository;
 import org.apache.james.jmap.model.ContinuationToken;
-import org.apache.james.jmap.utils.ZonedDateTimeProvider;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.lib.mock.InMemoryUsersRepository;
@@ -65,7 +63,7 @@ public class JMAPAuthenticationTest {
     private JettyHttpServer server;
 
     private UsersRepository usersRepository;
-    private ZonedDateTimeProvider mockedZonedDateTimeProvider;
+    private FixedDateZonedDateTimeProvider zonedDateTimeProvider;
     private AccessTokenManager accessTokenManager;
     private SignedContinuationTokenManager continuationTokenManager;
     private UserCredentials userCredentials;
@@ -73,10 +71,10 @@ public class JMAPAuthenticationTest {
     @Before
     public void setup() throws Exception {
         usersRepository = new InMemoryUsersRepository();
-        mockedZonedDateTimeProvider = mock(ZonedDateTimeProvider.class);
+        zonedDateTimeProvider = new FixedDateZonedDateTimeProvider();
         MailboxManager mockedMailboxManager = mock(MailboxManager.class);
         accessTokenManager = new AccessTokenManagerImpl(new 
MemoryAccessTokenRepository(TimeUnit.MILLISECONDS.convert(1, TimeUnit.HOURS)));
-        continuationTokenManager = new SignedContinuationTokenManager(new 
JamesSignatureHandlerProvider().provide(), mockedZonedDateTimeProvider);
+        continuationTokenManager = new SignedContinuationTokenManager(new 
JamesSignatureHandlerProvider().provide(), zonedDateTimeProvider);
         
         AuthenticationServlet authenticationServlet = new 
AuthenticationServlet(usersRepository, continuationTokenManager, 
accessTokenManager);
 
@@ -102,6 +100,7 @@ public class JMAPAuthenticationTest {
             .password("password")
             .build();
         usersRepository.addUser(userCredentials.getUsername(), 
userCredentials.getPassword());
+        zonedDateTimeProvider.setFixedDateTime(oldDate);
     }
 
     @After
@@ -187,9 +186,6 @@ public class JMAPAuthenticationTest {
 
     @Test
     public void mustReturnJsonResponse() throws Exception {
-        when(mockedZonedDateTimeProvider.get())
-            .thenReturn(oldDate);
-
         given()
             .contentType(ContentType.JSON)
             .accept(ContentType.JSON)
@@ -203,9 +199,6 @@ public class JMAPAuthenticationTest {
 
     @Test
     public void methodShouldContainPasswordWhenValidResquest() throws 
Exception {
-        when(mockedZonedDateTimeProvider.get())
-            .thenReturn(oldDate);
-
         given()
             .contentType(ContentType.JSON)
             .accept(ContentType.JSON)
@@ -219,9 +212,6 @@ public class JMAPAuthenticationTest {
 
     @Test
     public void mustReturnContinuationTokenWhenValidResquest() throws 
Exception {
-        when(mockedZonedDateTimeProvider.get())
-            .thenReturn(oldDate);
-
         given()
             .contentType(ContentType.JSON)
             .accept(ContentType.JSON)
@@ -235,9 +225,6 @@ public class JMAPAuthenticationTest {
 
     @Test
     public void mustReturnAuthenticationFailedWhenBadPassword() throws 
Exception {
-        when(mockedZonedDateTimeProvider.get())
-            .thenReturn(oldDate);
-
         String continuationToken = fromGoodContinuationTokenRequest();
 
         given()
@@ -253,9 +240,6 @@ public class JMAPAuthenticationTest {
     @Test
     public void 
mustReturnAuthenticationFailedWhenContinuationTokenIsRejectedByTheContinuationTokenManager()
 throws Exception {
         ContinuationToken badContinuationToken = new 
ContinuationToken(userCredentials.getUsername(), newDate, "badSignature");
-        
-        when(mockedZonedDateTimeProvider.get())
-            .thenReturn(oldDate);
 
         given()
             .contentType(ContentType.JSON)
@@ -269,13 +253,8 @@ public class JMAPAuthenticationTest {
 
     @Test
     public void 
mustReturnRestartAuthenticationWhenContinuationTokenIsExpired() throws 
Exception {
-        when(mockedZonedDateTimeProvider.get())
-            .thenReturn(oldDate);
-
         String continuationToken = fromGoodContinuationTokenRequest();
-        
-        when(mockedZonedDateTimeProvider.get())
-            .thenReturn(afterExpirationDate);
+        zonedDateTimeProvider.setFixedDateTime(afterExpirationDate);
 
         given()
             .contentType(ContentType.JSON)
@@ -289,9 +268,6 @@ public class JMAPAuthenticationTest {
 
     @Test
     public void mustReturnAuthenticationFailedWhenUsersRepositoryException() 
throws Exception {
-        when(mockedZonedDateTimeProvider.get())
-            .thenReturn(oldDate);
-
         String continuationToken = fromGoodContinuationTokenRequest();
 
         usersRepository.removeUser(userCredentials.getUsername());
@@ -308,13 +284,8 @@ public class JMAPAuthenticationTest {
 
     @Test
     public void mustReturnCreatedWhenGoodPassword() throws Exception {
-        when(mockedZonedDateTimeProvider.get())
-            .thenReturn(oldDate);
-
         String continuationToken = fromGoodContinuationTokenRequest();
-
-        when(mockedZonedDateTimeProvider.get())
-            .thenReturn(newDate);
+        zonedDateTimeProvider.setFixedDateTime(newDate);
 
         given()
             .contentType(ContentType.JSON)
@@ -328,13 +299,8 @@ public class JMAPAuthenticationTest {
 
     @Test
     public void mustSendJsonContainingAccessTokenWhenGoodPassword() throws 
Exception {
-        when(mockedZonedDateTimeProvider.get())
-            .thenReturn(oldDate);
-
         String continuationToken = fromGoodContinuationTokenRequest();
-
-        when(mockedZonedDateTimeProvider.get())
-            .thenReturn(newDate);
+        zonedDateTimeProvider.setFixedDateTime(newDate);
 
         given()
             .contentType(ContentType.JSON)
@@ -379,13 +345,8 @@ public class JMAPAuthenticationTest {
 
     @Test
     public void getMustReturnEndpointsWhenCorrectAuthentication() throws 
Exception {
-        when(mockedZonedDateTimeProvider.get())
-            .thenReturn(oldDate);
-
         String continuationToken = fromGoodContinuationTokenRequest();
-    
-        when(mockedZonedDateTimeProvider.get())
-            .thenReturn(newDate);
+        zonedDateTimeProvider.setFixedDateTime(newDate);
     
         String accessToken = fromGoodAccessTokenRequest(continuationToken);
     
@@ -439,13 +400,8 @@ public class JMAPAuthenticationTest {
 
     @Test
     public void deleteMustInvalidAuthorizationOnCorrectAuthorization() throws 
Exception {
-        when(mockedZonedDateTimeProvider.get())
-            .thenReturn(oldDate);
-
         String continuationToken = fromGoodContinuationTokenRequest();
-    
-        when(mockedZonedDateTimeProvider.get())
-            .thenReturn(newDate);
+        zonedDateTimeProvider.setFixedDateTime(newDate);
     
         String accessToken = fromGoodAccessTokenRequest(continuationToken);
         

Modified: 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/crypto/SignedContinuationTokenManagerTest.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/crypto/SignedContinuationTokenManagerTest.java?rev=1719376&r1=1719375&r2=1719376&view=diff
==============================================================================
--- 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/crypto/SignedContinuationTokenManagerTest.java
 (original)
+++ 
james/project/trunk/server/protocols/jmap/src/test/java/org/apache/james/jmap/crypto/SignedContinuationTokenManagerTest.java
 Fri Dec 11 12:31:50 2015
@@ -20,15 +20,13 @@
 package org.apache.james.jmap.crypto;
 
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
 
 import java.time.ZonedDateTime;
 import java.time.format.DateTimeFormatter;
 
+import org.apache.james.jmap.FixedDateZonedDateTimeProvider;
 import 
org.apache.james.jmap.api.ContinuationTokenManager.ContinuationTokenStatus;
 import org.apache.james.jmap.model.ContinuationToken;
-import org.apache.james.jmap.utils.ZonedDateTimeProvider;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -39,12 +37,12 @@ public class SignedContinuationTokenMana
     private static final ZonedDateTime DATE = 
ZonedDateTime.parse(EXPIRATION_DATE_STRING, 
DateTimeFormatter.ISO_OFFSET_DATE_TIME);
 
     private SignedContinuationTokenManager toKenManager;
-    private ZonedDateTimeProvider zonedDateTimeProvider;
+    private FixedDateZonedDateTimeProvider zonedDateTimeProvider;
 
     @Before
     public void setUp() throws Exception {
         JamesSignatureHandler signatureHandler = new 
JamesSignatureHandlerProvider().provide();
-        zonedDateTimeProvider = mock(ZonedDateTimeProvider.class);
+        zonedDateTimeProvider = new FixedDateZonedDateTimeProvider();
         toKenManager = new SignedContinuationTokenManager(signatureHandler, 
zonedDateTimeProvider);
     }
 
@@ -55,7 +53,7 @@ public class SignedContinuationTokenMana
 
     @Test
     public void isValidShouldRecognizeValidTokens() throws Exception {
-        when(zonedDateTimeProvider.get()).thenAnswer(invocationOnMock -> DATE);
+        zonedDateTimeProvider.setFixedDateTime(DATE);
         assertThat(
             toKenManager.isValid(
                 toKenManager.generateToken("user")))
@@ -64,7 +62,7 @@ public class SignedContinuationTokenMana
 
     @Test
     public void isValidShouldRecognizeTokenWhereUsernameIsModified() throws 
Exception {
-        when(zonedDateTimeProvider.get()).thenAnswer(invocationOnMock -> DATE);
+        zonedDateTimeProvider.setFixedDateTime(DATE);
         ContinuationToken continuationToken = 
toKenManager.generateToken("user");
         ContinuationToken pirateContinuationToken = new 
ContinuationToken("pirate",
             continuationToken.getExpirationDate(),
@@ -74,7 +72,7 @@ public class SignedContinuationTokenMana
 
     @Test
     public void isValidShouldRecognizeTokenWhereExpirationDateIsModified() 
throws Exception {
-        when(zonedDateTimeProvider.get()).thenAnswer(invocationOnMock -> DATE);
+        zonedDateTimeProvider.setFixedDateTime(DATE);
         ContinuationToken continuationToken = 
toKenManager.generateToken("user");
         ContinuationToken pirateContinuationToken = new 
ContinuationToken(continuationToken.getUsername(),
             continuationToken.getExpirationDate().plusHours(1),
@@ -84,7 +82,7 @@ public class SignedContinuationTokenMana
 
     @Test
     public void isValidShouldRecognizeTokenWhereSignatureIsModified() throws 
Exception {
-        when(zonedDateTimeProvider.get()).thenAnswer(invocationOnMock -> DATE);
+        zonedDateTimeProvider.setFixedDateTime(DATE);
         ContinuationToken continuationToken = 
toKenManager.generateToken("user");
         ContinuationToken pirateContinuationToken = new 
ContinuationToken(continuationToken.getUsername(),
             continuationToken.getExpirationDate(),
@@ -94,15 +92,15 @@ public class SignedContinuationTokenMana
 
     @Test
     public void isValidShouldReturnFalseWhenTokenIsOutdated() throws Exception 
{
-        when(zonedDateTimeProvider.get()).thenAnswer(invocationOnMock -> DATE);
+        zonedDateTimeProvider.setFixedDateTime(DATE);
         ContinuationToken continuationToken = 
toKenManager.generateToken("user");
-        when(zonedDateTimeProvider.get()).thenAnswer(invocationOnMock -> 
DATE.plusHours(1));
+        zonedDateTimeProvider.setFixedDateTime(DATE.plusHours(1));
         assertThat(toKenManager.isValid(continuationToken)).isFalse();
     }
 
     @Test
     public void isValidShouldReturnFalseOnNonValidSignatures() throws 
Exception {
-        when(zonedDateTimeProvider.get()).thenAnswer(invocationOnMock -> DATE);
+        zonedDateTimeProvider.setFixedDateTime(DATE);
         ContinuationToken pirateContinuationToken = new 
ContinuationToken("user", DATE.plusMinutes(15), "fake");
         assertThat(toKenManager.isValid(pirateContinuationToken)).isFalse();
     }
@@ -114,7 +112,7 @@ public class SignedContinuationTokenMana
 
     @Test
     public void getValidityShouldRecognizeValidTokens() throws Exception {
-        when(zonedDateTimeProvider.get()).thenAnswer(invocationOnMock -> DATE);
+        zonedDateTimeProvider.setFixedDateTime(DATE);
         assertThat(
             toKenManager.getValidity(
                 toKenManager.generateToken("user")))
@@ -123,7 +121,7 @@ public class SignedContinuationTokenMana
 
     @Test
     public void getValidityShouldRecognizeTokenWhereUsernameIsModified() 
throws Exception {
-        when(zonedDateTimeProvider.get()).thenAnswer(invocationOnMock -> DATE);
+        zonedDateTimeProvider.setFixedDateTime(DATE);
         ContinuationToken continuationToken = 
toKenManager.generateToken("user");
         ContinuationToken pirateContinuationToken = new 
ContinuationToken("pirate",
             continuationToken.getExpirationDate(),
@@ -133,7 +131,7 @@ public class SignedContinuationTokenMana
 
     @Test
     public void getValidityhouldRecognizeTokenWhereExpirationDateIsModified() 
throws Exception {
-        when(zonedDateTimeProvider.get()).thenAnswer(invocationOnMock -> DATE);
+        zonedDateTimeProvider.setFixedDateTime(DATE);
         ContinuationToken continuationToken = 
toKenManager.generateToken("user");
         ContinuationToken pirateContinuationToken = new 
ContinuationToken(continuationToken.getUsername(),
             continuationToken.getExpirationDate().plusHours(1),
@@ -143,7 +141,7 @@ public class SignedContinuationTokenMana
 
     @Test
     public void getValidityShouldRecognizeTokenWhereSignatureIsModified() 
throws Exception {
-        when(zonedDateTimeProvider.get()).thenAnswer(invocationOnMock -> DATE);
+        zonedDateTimeProvider.setFixedDateTime(DATE);
         ContinuationToken continuationToken = 
toKenManager.generateToken("user");
         ContinuationToken pirateContinuationToken = new 
ContinuationToken(continuationToken.getUsername(),
             continuationToken.getExpirationDate(),
@@ -153,15 +151,15 @@ public class SignedContinuationTokenMana
 
     @Test
     public void getValidityShouldReturnFalseWhenTokenIsOutdated() throws 
Exception {
-        when(zonedDateTimeProvider.get()).thenAnswer(invocationOnMock -> DATE);
+        zonedDateTimeProvider.setFixedDateTime(DATE);
         ContinuationToken continuationToken = 
toKenManager.generateToken("user");
-        when(zonedDateTimeProvider.get()).thenAnswer(invocationOnMock -> 
DATE.plusHours(1));
+        zonedDateTimeProvider.setFixedDateTime(DATE.plusHours(1));
         
assertThat(toKenManager.getValidity(continuationToken)).isEqualTo(ContinuationTokenStatus.EXPIRED);
     }
 
     @Test
     public void getValidityShouldReturnFalseOnNonValidSignatures() throws 
Exception {
-        when(zonedDateTimeProvider.get()).thenAnswer(invocationOnMock -> DATE);
+        zonedDateTimeProvider.setFixedDateTime(DATE);
         ContinuationToken pirateContinuationToken = new 
ContinuationToken("user", DATE.plusMinutes(15), "fake");
         
assertThat(toKenManager.getValidity(pirateContinuationToken)).isEqualTo(ContinuationTokenStatus.INVALID);
     }
@@ -173,7 +171,7 @@ public class SignedContinuationTokenMana
 
     @Test
     public void generateTokenShouldHaveTheRightOutPut() throws Exception {
-        when(zonedDateTimeProvider.get()).thenAnswer(invocationOnMock -> DATE);
+        zonedDateTimeProvider.setFixedDateTime(DATE);
         assertThat(toKenManager.generateToken("user").serialize())
             
.isEqualTo("user_2011-12-03T10:30:30+01:00_eOvOqTmV3dPrhIkbuQSj2sno3YJMxWl6J1sH1JhwYcaNgMX9twm98/WSF9uyDkvJgvBxFokDr53AbxQ3DsJysB2dAzCC0tUM4u8ZMvl/hQrFXhVCdpVMyHRvixKCxnHsVXAr9g3WMn2vbIVq5i3HPgA6/p9FB1+N4WA06B8ueoCrdxT2w1ITEm8p+QZvje3n1F344SgrqgIYqvt0yUvzxnB24f3ccjAKidlBj4wZkcXgUTMbZ7MdnCbDGbp10+tgJqxiv1S0rXZMeJLJ+vBt5TyqEhsJUmUQ84qctlB4yR5FS+ncbAOyZAxs2dWsHqiQjedb3IR77N7CASzqO2mmVw==");
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to