Increase test coverage.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 1 Aug 2014 00:44:40 +0000 (02:44 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Fri, 1 Aug 2014 00:44:40 +0000 (02:44 +0200)
src/main/java/net/pterodactylus/sone/core/WebOfTrustUpdater.java
src/test/java/net/pterodactylus/sone/core/WebOfTrustUpdaterTest.java

index 237c8c4..08200bb 100644 (file)
@@ -422,7 +422,8 @@ public class WebOfTrustUpdater extends AbstractService {
         *
         * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
         */
-       private class WebOfTrustContextUpdateJob extends WebOfTrustUpdateJob {
+       @VisibleForTesting
+       class WebOfTrustContextUpdateJob extends WebOfTrustUpdateJob {
 
                /** The own identity whose contexts to manage. */
                protected final OwnIdentity ownIdentity;
index c8057c5..a743378 100644 (file)
@@ -2,15 +2,18 @@ package net.pterodactylus.sone.core;
 
 import static java.lang.Thread.sleep;
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsString;
 import static org.hamcrest.Matchers.is;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import net.pterodactylus.sone.core.WebOfTrustUpdater.AddContextJob;
 import net.pterodactylus.sone.core.WebOfTrustUpdater.RemoveContextJob;
+import net.pterodactylus.sone.core.WebOfTrustUpdater.WebOfTrustContextUpdateJob;
 import net.pterodactylus.sone.core.WebOfTrustUpdater.WebOfTrustUpdateJob;
 import net.pterodactylus.sone.freenet.plugin.PluginException;
 import net.pterodactylus.sone.freenet.wot.OwnIdentity;
@@ -28,9 +31,10 @@ public class WebOfTrustUpdaterTest {
        private static final String CONTEXT = "test-context";
        private final WebOfTrustConnector webOfTrustConnector = mock(WebOfTrustConnector.class);
        private final WebOfTrustUpdater webOfTrustUpdater = new WebOfTrustUpdater(webOfTrustConnector);
-       private final OwnIdentity ownIdentity = mock(OwnIdentity.class);
+       private final OwnIdentity ownIdentity = when(mock(OwnIdentity.class).getId()).thenReturn("own-identity-id").getMock();
        private final WebOfTrustUpdateJob successfulWebOfTrustUpdateJob = createWebOfTrustUpdateJob(true);
        private final WebOfTrustUpdateJob failingWebOfTrustUpdateJob = createWebOfTrustUpdateJob(false);
+       private final WebOfTrustContextUpdateJob contextUpdateJob = webOfTrustUpdater.new WebOfTrustContextUpdateJob(ownIdentity, CONTEXT);
        private final AddContextJob addContextJob = webOfTrustUpdater.new AddContextJob(ownIdentity, CONTEXT);
        private final RemoveContextJob removeContextJob = webOfTrustUpdater.new RemoveContextJob(ownIdentity, CONTEXT);
 
@@ -62,6 +66,45 @@ public class WebOfTrustUpdaterTest {
        }
 
        @Test
+       public void webOfTrustContextUpdateJobsAreEqualIfTheirClassOwnIdentityAndContextAreEqual() {
+               WebOfTrustContextUpdateJob secondContextUpdateJob = webOfTrustUpdater.new WebOfTrustContextUpdateJob(ownIdentity, CONTEXT);
+               assertThat(contextUpdateJob.equals(secondContextUpdateJob), is(true));
+               assertThat(secondContextUpdateJob.equals(contextUpdateJob), is(true));
+               assertThat(contextUpdateJob.hashCode(), is(secondContextUpdateJob.hashCode()));
+       }
+
+       @Test
+       public void webOfTrustContextUpdatesJobsAreNotEqualIfTheirClassDiffers() {
+               assertThat(contextUpdateJob.equals(addContextJob), is(false));
+       }
+
+       @Test
+       public void webOfTrustContextUpdateJobToStringContainsIdentityAndContext() {
+               assertThat(contextUpdateJob.toString(), containsString(ownIdentity.toString()));
+               assertThat(contextUpdateJob.toString(), containsString(CONTEXT));
+       }
+
+       @Test
+       public void webOfTrustContextUpdateJobsAreNotEqualIfTheIdentitiesDiffer() {
+               OwnIdentity ownIdentity = mock(OwnIdentity.class);
+               WebOfTrustContextUpdateJob secondContextUpdateJob = webOfTrustUpdater.new WebOfTrustContextUpdateJob(ownIdentity, CONTEXT);
+               assertThat(contextUpdateJob.equals(secondContextUpdateJob), is(false));
+               assertThat(secondContextUpdateJob.equals(contextUpdateJob), is(false));
+       }
+
+       @Test
+       public void webOfTrustContextUpdateJobsAreNotEqualIfTheirContextsDiffer() {
+               WebOfTrustContextUpdateJob secondContextUpdateJob = webOfTrustUpdater.new WebOfTrustContextUpdateJob(ownIdentity, CONTEXT + CONTEXT);
+               assertThat(contextUpdateJob.equals(secondContextUpdateJob), is(false));
+               assertThat(secondContextUpdateJob.equals(contextUpdateJob), is(false));
+       }
+
+       @Test
+       public void webOfTrustContextUpdateJobsAreNotEqualToNull() {
+               assertThat(contextUpdateJob.equals(null), is(false));
+       }
+
+       @Test
        public void addContextJobAddsTheContext() throws PluginException {
                addContextJob.run();
                verify(webOfTrustConnector).addContext(eq(ownIdentity), eq(CONTEXT));