projects
/
Sone.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Mock some post database interactions.
[Sone.git]
/
src
/
test
/
java
/
net
/
pterodactylus
/
sone
/
data
/
Mocks.java
diff --git
a/src/test/java/net/pterodactylus/sone/data/Mocks.java
b/src/test/java/net/pterodactylus/sone/data/Mocks.java
index
e4449c4
..
3615828
100644
(file)
--- a/
src/test/java/net/pterodactylus/sone/data/Mocks.java
+++ b/
src/test/java/net/pterodactylus/sone/data/Mocks.java
@@
-47,6
+47,7
@@
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.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.utils.IntegerRangePredicate;
import net.pterodactylus.sone.database.PostReplyBuilder;
import net.pterodactylus.sone.fcp.FcpInterface.FullAccessRequired;
import net.pterodactylus.sone.utils.IntegerRangePredicate;
@@
-77,6
+78,7
@@
public class Mocks {
private final Multimap<Sone, Post> sonePosts = create();
private final Map<String, Sone> sones = newHashMap();
private final Multimap<Sone, Post> sonePosts = create();
private final Map<String, Sone> sones = newHashMap();
+ private final Map<String, Post> posts = newHashMap();
private final Multimap<Post, PostReply> postReplies = create();
private final Multimap<String, Post> directedPosts = create();
private final SetMultimap<Post, Sone> postLikingSones = HashMultimap.create();
private final Multimap<Post, PostReply> postReplies = create();
private final Multimap<String, Post> directedPosts = create();
private final SetMultimap<Post, Sone> postLikingSones = HashMultimap.create();
@@
-101,12
+103,26
@@
public class Mocks {
return sones.values();
}
});
return sones.values();
}
});
+ when(core.getLocalSone(anyString())).then(new Answer<Optional<Sone>>() {
+ @Override
+ public Optional<Sone> answer(InvocationOnMock invocation) throws Throwable {
+ Sone localSone = sones.get(invocation.getArguments()[0]);
+ return ((localSone == null) || (!localSone.isLocal())) ? Optional.<Sone>absent() : of(localSone);
+ }
+ });
when(core.getLocalSones()).then(new Answer<Collection<Sone>>() {
@Override
public Collection<Sone> answer(InvocationOnMock invocation) throws Throwable {
return FluentIterable.from(sones.values()).filter(Sone.LOCAL_SONE_FILTER).toList();
}
});
when(core.getLocalSones()).then(new Answer<Collection<Sone>>() {
@Override
public Collection<Sone> answer(InvocationOnMock invocation) throws Throwable {
return FluentIterable.from(sones.values()).filter(Sone.LOCAL_SONE_FILTER).toList();
}
});
+ when(core.postCreated()).thenReturn(Optional.<PostCreated>of(new PostCreated() {
+ @Override
+ public void postCreated(Post post) {
+ posts.put(post.getId(), post);
+ sonePosts.put(post.getSone(), post);
+ }
+ }));
Options options = createOptions();
when(core.getPreferences()).thenReturn(new Preferences(options));
when(database.getDirectedPosts(anyString())).then(new Answer<Collection<Post>>() {
Options options = createOptions();
when(core.getPreferences()).thenReturn(new Preferences(options));
when(database.getDirectedPosts(anyString())).then(new Answer<Collection<Post>>() {
@@
-140,10
+156,15
@@
public class Mocks {
return core;
}
return core;
}
- private
static
Database mockDatabase() {
+ private Database mockDatabase() {
Database database = mock(Database.class);
when(database.getSone(anyString())).thenReturn(Optional.<Sone>absent());
Database database = mock(Database.class);
when(database.getSone(anyString())).thenReturn(Optional.<Sone>absent());
- when(database.getPost(anyString())).thenReturn(Optional.<Post>absent());
+ when(database.getPost(anyString())).then(new Answer<Optional<Post>>() {
+ @Override
+ public Optional<Post> answer(InvocationOnMock invocation) throws Throwable {
+ return fromNullable(posts.get(invocation.getArguments()[0]));
+ }
+ });
when(database.getPostReply(anyString())).thenReturn(Optional.<PostReply>absent());
return database;
}
when(database.getPostReply(anyString())).thenReturn(Optional.<PostReply>absent());
return database;
}
@@
-166,8
+187,10
@@
public class Mocks {
return new PostReplyMocker(replyId, sone);
}
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;
FreenetRequest request = mock(FreenetRequest.class);
when(request.getHttpRequest()).thenReturn(httpRequest);
return request;