X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fdata%2FMocks.java;h=f56a1d4de7a4f40e72f60fd49547ededb8fbb825;hb=aa5513efdffab4a204d9bea43d4e7820aa92da73;hp=ff52581ace2381cd91f616544e4d79524b11fbc2;hpb=8dbd99ec310a150de00e38231a3739a83f106707;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 ff52581..f56a1d4 100644 --- a/src/test/java/net/pterodactylus/sone/data/Mocks.java +++ b/src/test/java/net/pterodactylus/sone/data/Mocks.java @@ -38,10 +38,18 @@ import java.util.Map; 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.PostReplyBuilder; +import net.pterodactylus.sone.fcp.FcpInterface.FullAccessRequired; +import net.pterodactylus.sone.utils.IntegerRangePredicate; import net.pterodactylus.sone.web.WebInterface; import net.pterodactylus.sone.web.page.FreenetRequest; @@ -50,6 +58,7 @@ import freenet.support.api.HTTPRequest; import com.google.common.base.Function; import com.google.common.base.Optional; +import com.google.common.base.Predicates; import com.google.common.collect.FluentIterable; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; @@ -92,12 +101,21 @@ public class Mocks { return sones.values(); } }); + when(core.getLocalSone(anyString())).then(new Answer>() { + @Override + public Optional answer(InvocationOnMock invocation) throws Throwable { + Sone localSone = sones.get(invocation.getArguments()[0]); + return ((localSone == null) || (!localSone.isLocal())) ? Optional.absent() : of(localSone); + } + }); when(core.getLocalSones()).then(new Answer>() { @Override public Collection answer(InvocationOnMock invocation) throws Throwable { return FluentIterable.from(sones.values()).filter(Sone.LOCAL_SONE_FILTER).toList(); } }); + Options options = createOptions(); + when(core.getPreferences()).thenReturn(new Preferences(options)); when(database.getDirectedPosts(anyString())).then(new Answer>() { @Override public Collection answer(InvocationOnMock invocation) throws Throwable { @@ -106,6 +124,22 @@ public class Mocks { }); } + private Options createOptions() { + Options options = new Options(); + options.addIntegerOption("InsertionDelay", new DefaultOption(60, new IntegerRangePredicate(0, Integer.MAX_VALUE))); + options.addIntegerOption("PostsPerPage", new DefaultOption(10, new IntegerRangePredicate(1, Integer.MAX_VALUE))); + options.addIntegerOption("ImagesPerPage", new DefaultOption(9, new IntegerRangePredicate(1, Integer.MAX_VALUE))); + options.addIntegerOption("CharactersPerPost", new DefaultOption(400, Predicates.or(new IntegerRangePredicate(50, Integer.MAX_VALUE), Predicates.equalTo(-1)))); + options.addIntegerOption("PostCutOffLength", new DefaultOption(200, Predicates.or(new IntegerRangePredicate(50, Integer.MAX_VALUE), Predicates.equalTo(-1)))); + options.addBooleanOption("RequireFullAccess", new DefaultOption(false)); + options.addIntegerOption("PositiveTrust", new DefaultOption(75, new IntegerRangePredicate(0, 100))); + options.addIntegerOption("NegativeTrust", new DefaultOption(-25, new IntegerRangePredicate(-100, 100))); + options.addStringOption("TrustComment", new DefaultOption("Set from Sone Web Interface")); + options.addBooleanOption("ActivateFcpInterface", new DefaultOption(false)); + options.addIntegerOption("FcpFullAccessRequired", new DefaultOption(2)); + return options; + } + private static Core mockCore(Database database) { Core core = mock(Core.class); when(core.getDatabase()).thenReturn(database); @@ -139,8 +173,10 @@ public class Mocks { return new PostReplyMocker(replyId, sone); } - public FreenetRequest mockRequest(String path) throws URISyntaxException { - HTTPRequest httpRequest = new HTTPRequestImpl(new URI(path), "GET"); + public FreenetRequest mockRequest(String path) { + HTTPRequest httpRequest = mock(HTTPRequest.class); + when(httpRequest.getMethod()).thenReturn("GET"); + when(httpRequest.getPath()).thenReturn(path); FreenetRequest request = mock(FreenetRequest.class); when(request.getHttpRequest()).thenReturn(httpRequest); return request;