aboutsummaryrefslogtreecommitdiff
path: root/juick-server/src
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2018-04-11 21:34:14 +0300
committerGravatar Vitaly Takmazov2018-04-11 21:34:14 +0300
commitad99117a15062a3819dad1f52a072e9694a954df (patch)
tree61b47950cca3adba91ef4f7c8ce80c1a1f8a531f /juick-server/src
parent47254ab8555162bc121c7b618fff42fc64b9454c (diff)
server: last read marker for threads
Diffstat (limited to 'juick-server/src')
-rw-r--r--juick-server/src/main/java/com/juick/server/api/Messages.java2
-rw-r--r--juick-server/src/test/java/com/juick/server/tests/ServerTests.java24
2 files changed, 12 insertions, 14 deletions
diff --git a/juick-server/src/main/java/com/juick/server/api/Messages.java b/juick-server/src/main/java/com/juick/server/api/Messages.java
index 86426bf6..45b8f69c 100644
--- a/juick-server/src/main/java/com/juick/server/api/Messages.java
+++ b/juick-server/src/main/java/com/juick/server/api/Messages.java
@@ -145,7 +145,7 @@ public class Messages {
if (!messagesService.canViewThread(mid, vuid)) {
return FORBIDDEN;
} else {
- List<com.juick.Message> replies = messagesService.getReplies(mid);
+ List<com.juick.Message> replies = messagesService.getReplies(visitor, mid);
replies.add(0, msg);
return ResponseEntity.ok(replies);
}
diff --git a/juick-server/src/test/java/com/juick/server/tests/ServerTests.java b/juick-server/src/test/java/com/juick/server/tests/ServerTests.java
index 2c335cb2..095566ec 100644
--- a/juick-server/src/test/java/com/juick/server/tests/ServerTests.java
+++ b/juick-server/src/test/java/com/juick/server/tests/ServerTests.java
@@ -54,22 +54,18 @@ import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.util.UriComponents;
import org.springframework.web.util.UriComponentsBuilder;
import rocks.xmpp.addr.Jid;
-import rocks.xmpp.core.stanza.model.Stanza;
import rocks.xmpp.core.stanza.model.StanzaError;
import rocks.xmpp.core.stanza.model.client.ClientMessage;
import rocks.xmpp.core.stanza.model.errors.Condition;
-import rocks.xmpp.core.stanza.model.server.ServerMessage;
import javax.inject.Inject;
import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
import java.net.URI;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.sql.Timestamp;
import java.time.Instant;
import java.util.*;
-import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.stream.IntStream;
@@ -246,18 +242,18 @@ public class ServerTests {
assertEquals("we already have ugnich", -1, userService.createUser("ugnich", "x"));
int ugnich_id = userService.createUser("hugnich", "x");
User ugnich = userService.getUserByUID(ugnich_id).orElse(new User());
- int rid = messagesService.createReply(msg2.getMid(), 0, ugnich.getUid(), "bla-bla", null);
+ int rid = messagesService.createReply(msg2.getMid(), 0, ugnich, "bla-bla", null);
assertEquals(1, rid);
assertThat(msg2.getTo(), equalTo(null));
Message reply = messagesService.getReply(msg2.getMid(), rid);
assertThat(reply.getTo().getName(), equalTo(user.getName()));
- List<Message> replies = messagesService.getReplies(msg2.getMid());
+ List<Message> replies = messagesService.getReplies(user, msg2.getMid());
assertThat(replies.size(), equalTo(1));
assertThat(replies.get(0), equalTo(reply));
- int ridToReply = messagesService.createReply(msg2.getMid(), 1, ugnich_id, "blax2", null);
+ int ridToReply = messagesService.createReply(msg2.getMid(), 1, ugnich, "blax2", null);
Message reply2 = messagesService.getReply(msg2.getMid(), ridToReply);
assertThat(reply.getTo().getName(), equalTo(user.getName()));
- List<Message> replies2 = messagesService.getReplies(msg2.getMid());
+ List<Message> replies2 = messagesService.getReplies(user, msg2.getMid());
assertThat(replies2.size(), equalTo(2));
assertThat(replies2.get(1), equalTo(reply2));
Message msg3 = messagesService.getMessage(mid2);
@@ -267,7 +263,7 @@ public class ServerTests {
assertEquals(-1, userService.checkPassword(ugnich.getName(), "xy"));
subscriptionService.subscribeMessage(msg.getMid(), user.getUid());
subscriptionService.subscribeMessage(msg.getMid(), ugnich.getUid());
- int reply_id = messagesService.createReply(msg.getMid(), 0, ugnich_id, "comment", null);
+ int reply_id = messagesService.createReply(msg.getMid(), 0, ugnich, "comment", null);
assertEquals(1, subscriptionService.getUsersSubscribedToComments(msg,
messagesService.getReply(msg.getMid(), reply_id)).size());
assertThat(messagesService.getDiscussions(ugnich.getUid(), 0L).get(0),
@@ -308,7 +304,7 @@ public class ServerTests {
Instant ts = jdbcTemplate.queryForObject("SELECT updated FROM messages WHERE message_id=?",
Timestamp.class, mid).toInstant();
Thread.sleep(1000);
- int rid = messagesService.createReply(mid, 0, ugnich_id, "people", null);
+ int rid = messagesService.createReply(mid, 0, ugnich, "people", null);
Instant rts = jdbcTemplate.queryForObject("SELECT updated FROM messages WHERE message_id=?",
Timestamp.class, mid).toInstant();
assertThat(rts, greaterThan(ts));
@@ -498,7 +494,9 @@ public class ServerTests {
public void topTest() {
int topmid = messagesService.createMessage(ugnich.getUid(), "top message", null, null);
IntStream.rangeClosed(6, 12).forEach(i -> {
- messagesService.createReply(topmid, 0, i, "yo", null);
+ User next = new User();
+ next.setUid(i);
+ messagesService.createReply(topmid, 0, next, "yo", null);
});
assertThat(messagesService.getPopularCandidates().get(0), is(topmid));
@@ -615,7 +613,7 @@ public class ServerTests {
commandsManager.processCommand(readerUser, "S #" + mid, emptyUri).getText());
assertEquals("should be favorited", "Message is added to your recommendations",
commandsManager.processCommand(readerUser, "! #" + mid, emptyUri).getText());
- int rid = messagesService.createReply(mid, 0, uid, "comment", null);
+ int rid = messagesService.createReply(mid, 0, user, "comment", null);
assertEquals("number of subscribed users should match", 1,
subscriptionService.getUsersSubscribedToComments(
messagesService.getMessage(mid),
@@ -642,7 +640,7 @@ public class ServerTests {
assertEquals("should be third reply", expectedThirdReply,
commandsManager.processCommand(user, "#" + mid + "/2 ",
URI.create("http://static.juick.com/settings/facebook.png")).getText());
- Message reply = messagesService.getReplies(mid).stream().filter(m -> m.getRid() == 3).findFirst()
+ Message reply = messagesService.getReplies(user, mid).stream().filter(m -> m.getRid() == 3).findFirst()
.orElse(new Message());
assertEquals("should be reply to second comment", 2, reply.getReplyto());
assertEquals("tags should NOT be updated", "It is not your message",