Java tutorial
package com.miserablemind.butter.domain.model.user.user_persistent_logins.impl; import com.miserablemind.butter.bootstrap.RootContext; import com.miserablemind.butter.domain.model.user.user_persistent_logins.UserPersistentTokenDao; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.springframework.security.web.authentication.rememberme.PersistentRememberMeToken; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import java.util.Date; import static org.junit.Assert.assertTrue; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; /** * Miserable Mind * http://www.butter.miserablemind.com * The MIT License (MIT) */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = { RootContext.class }) public class PersistentTokenRepositoryImplTest { @InjectMocks private PersistentTokenRepositoryImpl persistentTokenRepositoryImpl; @Mock private UserPersistentTokenDao userPersistentTokenDao; private PersistentRememberMeToken token; String userName; @Before public void setUp() { MockitoAnnotations.initMocks(this); this.userName = "someUsername"; this.token = new PersistentRememberMeToken(this.userName, "series", "tokenValue242214", new Date()); } @After public void tearDown() { this.persistentTokenRepositoryImpl = null; this.userPersistentTokenDao = null; } /** * Tests {@link com.miserablemind.butter.domain.model.user.user_persistent_logins.impl.PersistentTokenRepositoryImpl#createNewToken(org.springframework.security.web.authentication.rememberme.PersistentRememberMeToken)} */ @Test public void testCreateNewToken() { this.persistentTokenRepositoryImpl.createNewToken(this.token); verify(this.userPersistentTokenDao).insertRememberMeToken(this.token); } /** * Tests {@link com.miserablemind.butter.domain.model.user.user_persistent_logins.impl.PersistentTokenRepositoryImpl#getTokenForSeries(String)} */ @Test public void testGetTokenForSeries() { when(this.userPersistentTokenDao.getRememberMeTokenForSeries(anyString())).thenReturn(this.token); PersistentRememberMeToken returnedToken = this.persistentTokenRepositoryImpl .getTokenForSeries(this.token.getSeries()); verify(this.userPersistentTokenDao).getRememberMeTokenForSeries(this.token.getSeries()); assertTrue("Returned the same instance as Dao supplied", returnedToken == this.token); } /** * Tests {@link com.miserablemind.butter.domain.model.user.user_persistent_logins.impl.PersistentTokenRepositoryImpl#removeUserTokens(String)} */ @Test public void testRemoveUserTokens() { this.persistentTokenRepositoryImpl.removeUserTokens(this.userName); verify(this.userPersistentTokenDao).deleteRememberMeToken(this.userName); } /** * Tests {@link com.miserablemind.butter.domain.model.user.user_persistent_logins.impl.PersistentTokenRepositoryImpl#updateToken(String, String, java.util.Date)} */ @Test public void testUpdateToken() { this.persistentTokenRepositoryImpl.updateToken(this.token.getSeries(), this.token.getTokenValue(), this.token.getDate()); verify(this.userPersistentTokenDao).updateRememberMeToken(this.token.getSeries(), this.token.getTokenValue(), this.token.getDate()); } }