Remove updated time setter from Sone, store update time in database.
[Sone.git] / src / test / java / net / pterodactylus / sone / core / SoneInserterTest.java
index 8a4bd52..53eda56 100644 (file)
@@ -26,7 +26,6 @@ import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
-import net.pterodactylus.sone.core.SoneInserter.InsertInformation;
 import net.pterodactylus.sone.core.SoneInserter.ManifestCreator;
 import net.pterodactylus.sone.core.event.InsertionDelayChangedEvent;
 import net.pterodactylus.sone.core.event.SoneEvent;
@@ -36,6 +35,7 @@ import net.pterodactylus.sone.core.event.SoneInsertingEvent;
 import net.pterodactylus.sone.data.Album;
 import net.pterodactylus.sone.data.LocalSone;
 import net.pterodactylus.sone.data.Sone;
+import net.pterodactylus.sone.database.Database;
 import net.pterodactylus.sone.main.SonePlugin;
 
 import freenet.client.async.ManifestElement;
@@ -61,6 +61,7 @@ public class SoneInserterTest {
        private final Core core = mock(Core.class);
        private final EventBus eventBus = mock(EventBus.class);
        private final FreenetInterface freenetInterface = mock(FreenetInterface.class);
+       private final Database database = mock(Database.class);
 
        @Before
        public void setupCore() {
@@ -73,7 +74,7 @@ public class SoneInserterTest {
        @Test
        public void insertionDelayIsForwardedToSoneInserter() {
                EventBus eventBus = new AsyncEventBus(sameThreadExecutor());
-               eventBus.register(new SoneInserter(core, eventBus, freenetInterface, "SoneId"));
+               eventBus.register(new SoneInserter(core, eventBus, freenetInterface, database, "SoneId"));
                eventBus.post(new InsertionDelayChangedEvent(15));
                assertThat(SoneInserter.getInsertionDelay().get(), is(15));
        }
@@ -92,27 +93,27 @@ public class SoneInserterTest {
        public void isModifiedIsTrueIfModificationDetectorSaysSo() {
                SoneModificationDetector soneModificationDetector = mock(SoneModificationDetector.class);
                when(soneModificationDetector.isModified()).thenReturn(true);
-               SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, "SoneId", soneModificationDetector, 1);
+               SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, database, "SoneId", soneModificationDetector, 1);
                assertThat(soneInserter.isModified(), is(true));
        }
 
        @Test
        public void isModifiedIsFalseIfModificationDetectorSaysSo() {
                SoneModificationDetector soneModificationDetector = mock(SoneModificationDetector.class);
-               SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, "SoneId", soneModificationDetector, 1);
+               SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, database, "SoneId", soneModificationDetector, 1);
                assertThat(soneInserter.isModified(), is(false));
        }
 
        @Test
        public void lastFingerprintIsStoredCorrectly() {
-               SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, "SoneId");
+               SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, database, "SoneId");
                soneInserter.setLastInsertFingerprint("last-fingerprint");
                assertThat(soneInserter.getLastInsertFingerprint(), is("last-fingerprint"));
        }
 
        @Test
        public void soneInserterStopsWhenItShould() {
-               SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, "SoneId");
+               SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, database, "SoneId");
                soneInserter.stop();
                soneInserter.serviceRun();
        }
@@ -126,7 +127,7 @@ public class SoneInserterTest {
                SoneModificationDetector soneModificationDetector = mock(SoneModificationDetector.class);
                when(soneModificationDetector.isEligibleForInsert()).thenReturn(true);
                when(freenetInterface.insertDirectory(eq(insertUri), any(HashMap.class), eq("index.html"))).thenReturn(finalUri);
-               final SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, "SoneId", soneModificationDetector, 1);
+               final SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, database, "SoneId", soneModificationDetector, 1);
                doAnswer(new Answer<Void>() {
                        @Override
                        public Void answer(InvocationOnMock invocation) throws Throwable {
@@ -152,7 +153,7 @@ public class SoneInserterTest {
                Sone sone = createSone(insertUri, fingerprint);
                SoneModificationDetector soneModificationDetector = mock(SoneModificationDetector.class);
                when(soneModificationDetector.isEligibleForInsert()).thenReturn(true);
-               final SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, "SoneId", soneModificationDetector, 1);
+               final SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, database, "SoneId", soneModificationDetector, 1);
                when(freenetInterface.insertDirectory(eq(insertUri), any(HashMap.class), eq("index.html"))).thenAnswer(new Answer<FreenetURI>() {
                        @Override
                        public FreenetURI answer(InvocationOnMock invocation) throws Throwable {
@@ -177,7 +178,7 @@ public class SoneInserterTest {
                String fingerprint = "fingerprint";
                Sone sone = createSone(insertUri, fingerprint);
                SoneModificationDetector soneModificationDetector = mock(SoneModificationDetector.class);
-               final SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, "SoneId", soneModificationDetector, 1);
+               final SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, database, "SoneId", soneModificationDetector, 1);
                new Thread(new Runnable() {
                        @Override
                        public void run() {
@@ -201,7 +202,7 @@ public class SoneInserterTest {
                Sone sone = createSone(insertUri, fingerprint);
                SoneModificationDetector soneModificationDetector = mock(SoneModificationDetector.class);
                when(soneModificationDetector.isEligibleForInsert()).thenReturn(true);
-               final SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, "SoneId", soneModificationDetector, 1);
+               final SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, database, "SoneId", soneModificationDetector, 1);
                final SoneException soneException = new SoneException(new Exception());
                when(freenetInterface.insertDirectory(eq(insertUri), any(HashMap.class), eq("index.html"))).thenAnswer(new Answer<FreenetURI>() {
                        @Override
@@ -226,7 +227,7 @@ public class SoneInserterTest {
                SoneModificationDetector soneModificationDetector =
                                mock(SoneModificationDetector.class);
                SoneInserter soneInserter =
-                               new SoneInserter(core, eventBus, freenetInterface, "SoneId",
+                               new SoneInserter(core, eventBus, freenetInterface, database, "SoneId",
                                                soneModificationDetector, 1);
                when(soneModificationDetector.isEligibleForInsert()).thenReturn(true);
                when(core.getSone("SoneId")).thenReturn(Optional.<Sone>absent());
@@ -238,7 +239,7 @@ public class SoneInserterTest {
                SoneModificationDetector soneModificationDetector =
                                mock(SoneModificationDetector.class);
                final SoneInserter soneInserter =
-                               new SoneInserter(core, eventBus, freenetInterface, "SoneId",
+                               new SoneInserter(core, eventBus, freenetInterface, database, "SoneId",
                                                soneModificationDetector, 1);
                Answer<Optional<Sone>> stopInserterAndThrowException =
                                new Answer<Optional<Sone>>() {