X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FMocks.java;h=19626864526db6378e510804d1facd85cb365295;hb=22d68072fb1770cdc4262ede974bd0a6202d7062;hp=36158283dad5296bbb699db317b05bc15a4c7ddc;hpb=57054fd650db40dbf3ceba5fa5b094ef8629bef0;p=Sone.git diff --git a/src/test/java/net/pterodactylus/sone/data/Mocks.java b/src/test/java/net/pterodactylus/sone/data/Mocks.java index 3615828..1962686 100644 --- a/src/test/java/net/pterodactylus/sone/data/Mocks.java +++ b/src/test/java/net/pterodactylus/sone/data/Mocks.java @@ -24,14 +24,13 @@ import static com.google.common.collect.ArrayListMultimap.create; import static com.google.common.collect.Maps.newHashMap; import static com.google.common.collect.Ordering.from; import static java.util.Collections.emptySet; +import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import java.net.URI; -import java.net.URISyntaxException; import java.util.Collection; import java.util.List; import java.util.Map; @@ -40,21 +39,20 @@ import java.util.Set; import net.pterodactylus.sone.core.Core; import net.pterodactylus.sone.core.Options; import net.pterodactylus.sone.core.Options.DefaultOption; -import net.pterodactylus.sone.core.Options.Option; -import net.pterodactylus.sone.core.Options.OptionWatcher; import net.pterodactylus.sone.core.Preferences; -import net.pterodactylus.sone.core.SoneInserter; import net.pterodactylus.sone.data.impl.DefaultPostBuilder; import net.pterodactylus.sone.data.impl.DefaultPostReplyBuilder; import net.pterodactylus.sone.database.Database; import net.pterodactylus.sone.database.PostBuilder.PostCreated; import net.pterodactylus.sone.database.PostReplyBuilder; -import net.pterodactylus.sone.fcp.FcpInterface.FullAccessRequired; +import net.pterodactylus.sone.database.PostReplyBuilder.PostReplyCreated; +import net.pterodactylus.sone.freenet.wot.OwnIdentity; import net.pterodactylus.sone.utils.IntegerRangePredicate; import net.pterodactylus.sone.web.WebInterface; import net.pterodactylus.sone.web.page.FreenetRequest; -import freenet.clients.http.HTTPRequestImpl; +import freenet.clients.http.SessionManager.Session; +import freenet.clients.http.ToadletContext; import freenet.support.api.HTTPRequest; import com.google.common.base.Function; @@ -78,6 +76,7 @@ public class Mocks { private final Multimap sonePosts = create(); private final Map sones = newHashMap(); + private Optional currentSone = absent(); private final Map posts = newHashMap(); private final Multimap postReplies = create(); private final Multimap directedPosts = create(); @@ -97,6 +96,14 @@ public class Mocks { return (soneId == null) ? Optional.absent() : fromNullable(sones.get(soneId)); } }); + Answer returnCurrentSone = new Answer() { + @Override + public Sone answer(InvocationOnMock invocation) throws Throwable { + return currentSone.orNull(); + } + }; + when(webInterface.getCurrentSone(any(ToadletContext.class))).then(returnCurrentSone); + when(webInterface.getCurrentSone(any(Session.class))).then(returnCurrentSone); when(core.getSones()).then(new Answer>() { @Override public Collection answer(InvocationOnMock invocation) throws Throwable { @@ -123,6 +130,17 @@ public class Mocks { sonePosts.put(post.getSone(), post); } })); + when(core.postReplyCreated()).then(new Answer>() { + @Override + public Optional answer(InvocationOnMock invocation) throws Throwable { + return Optional.of(new PostReplyCreated() { + @Override + public void postReplyCreated(PostReply postReply) { + postReplies.put(postReply.getPost().get(), postReply); + } + }); + } + }); Options options = createOptions(); when(core.getPreferences()).thenReturn(new Preferences(options)); when(database.getDirectedPosts(anyString())).then(new Answer>() { @@ -200,7 +218,9 @@ public class Mocks { private final Sone mockedSone = mock(Sone.class); private final String id; + private String insertUrI; private boolean local; + private boolean current; private Optional name = absent(); private long time; private Profile profile = new Profile(mockedSone); @@ -215,6 +235,16 @@ public class Mocks { return this; } + public SoneMocker insertUri(String insertUri) { + this.insertUrI = insertUri; + return this; + } + + public SoneMocker current() { + current = true; + return this; + } + public SoneMocker withName(String name) { this.name = fromNullable(name); return this; @@ -243,6 +273,14 @@ public class Mocks { public Sone create() { when(mockedSone.getId()).thenReturn(id); when(mockedSone.isLocal()).thenReturn(local); + if (local) { + OwnIdentity ownIdentity = mock(OwnIdentity.class); + when(ownIdentity.getInsertUri()).thenReturn(insertUrI); + when(mockedSone.getIdentity()).thenReturn(ownIdentity); + } + if (current) { + currentSone = of(mockedSone); + } if (name.isPresent()) { when(mockedSone.getName()).thenReturn(name.get()); }