1 package net.pterodactylus.sone.core;
3 import static org.hamcrest.MatcherAssert.assertThat;
4 import static org.hamcrest.Matchers.containsInAnyOrder;
5 import static org.hamcrest.Matchers.is;
6 import static org.mockito.Mockito.mock;
7 import static org.mockito.Mockito.when;
9 import java.util.HashMap;
11 import net.pterodactylus.sone.core.SoneInserter.InsertInformation;
12 import net.pterodactylus.sone.core.SoneInserter.SetInsertionDelay;
13 import net.pterodactylus.sone.data.Album;
14 import net.pterodactylus.sone.data.Sone;
16 import freenet.keys.FreenetURI;
18 import com.google.common.eventbus.EventBus;
19 import org.junit.Test;
22 * Unit test for {@link SoneInserter} and its subclasses.
24 * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
26 public class SoneInserterTest {
29 public void insertionDelayIsForwardedToSoneInserter() {
30 SetInsertionDelay setInsertionDelay = new SetInsertionDelay();
31 setInsertionDelay.optionChanged(null, null, 15);
32 assertThat(SoneInserter.getInsertionDelay().get(), is(15));
36 /* this test is hilariously bad. */
37 public void manifestEntriesAreCreated() {
38 FreenetURI insertUri = mock(FreenetURI.class);
39 String fingerprint = "fingerprint";
40 Sone sone = createSone(insertUri, fingerprint);
41 Core core = mock(Core.class);
42 UpdateChecker updateChecker = mock(UpdateChecker.class);
43 when(core.getUpdateChecker()).thenReturn(updateChecker);
44 EventBus eventBus = mock(EventBus.class);
45 FreenetInterface freenetInterface = mock(FreenetInterface.class);
46 SoneInserter soneInserter = new SoneInserter(core, eventBus, freenetInterface, sone);
47 InsertInformation insertInformation = soneInserter.new InsertInformation(sone);
48 HashMap<String, Object> manifestEntries = insertInformation.generateManifestEntries();
49 assertThat(manifestEntries.keySet(), containsInAnyOrder("index.html", "sone.xml"));
50 assertThat(insertInformation.getInsertUri(), is(insertUri));
51 assertThat(insertInformation.getFingerprint(), is(fingerprint));
54 private Sone createSone(FreenetURI insertUri, String fingerprint) {
55 Sone sone = mock(Sone.class);
56 when(sone.getInsertUri()).thenReturn(insertUri);
57 when(sone.getFingerprint()).thenReturn(fingerprint);
58 when(sone.getRootAlbum()).thenReturn(mock(Album.class));