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.anyBoolean;
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;
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;
sonePosts.put(post.getSone(), post);
}
}));
+ when(core.postReplyCreated()).then(new Answer<Optional<PostReplyCreated>>() {
+ @Override
+ public Optional<PostReplyCreated> answer(InvocationOnMock invocation) throws Throwable {
+ return Optional.<PostReplyCreated>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<Collection<Post>>() {
private final Sone mockedSone = mock(Sone.class);
private final String id;
+ private String insertUrI;
private boolean local;
private boolean current;
private Optional<String> name = absent();
return this;
}
+ public SoneMocker insertUri(String insertUri) {
+ this.insertUrI = insertUri;
+ return this;
+ }
+
public SoneMocker current() {
current = true;
return this;
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);
}