You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cs...@apache.org on 2020/04/16 14:57:17 UTC
[sling-org-apache-sling-distribution-journal] branch master
updated: SLING-9377 - Do not exit on test message
This is an automated email from the ASF dual-hosted git repository.
cschneider pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-journal.git
The following commit(s) were added to refs/heads/master by this push:
new 1071138 SLING-9377 - Do not exit on test message
1071138 is described below
commit 10711381fe42746a42b95763b9307045e1b35150
Author: Christian Schneider <cs...@adobe.com>
AuthorDate: Thu Apr 16 16:55:20 2020 +0200
SLING-9377 - Do not exit on test message
---
.../journal/impl/queue/impl/RangePoller.java | 6 ++-
.../journal/impl/queue/impl/RangePollerTest.java | 50 ++++++++++++----------
2 files changed, 32 insertions(+), 24 deletions(-)
diff --git a/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/RangePoller.java b/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/RangePoller.java
index 51ceb7b..68fe9f7 100644
--- a/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/RangePoller.java
+++ b/src/main/java/org/apache/sling/distribution/journal/impl/queue/impl/RangePoller.java
@@ -80,8 +80,10 @@ public class RangePoller {
private void handlePackage(MessageInfo info, Messages.PackageMessage message) {
long offset = info.getOffset();
LOG.debug("Reading offset {}", offset);
- if (offset < maxOffset && isNotTestMessage(message)) {
- messages.add(new FullMessage<>(info, message));
+ if (offset < maxOffset) {
+ if (isNotTestMessage(message)) {
+ messages.add(new FullMessage<>(info, message));
+ }
} else {
fetched.countDown();
}
diff --git a/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/RangePollerTest.java b/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/RangePollerTest.java
index 778bbaa..7a4aab0 100644
--- a/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/RangePollerTest.java
+++ b/src/test/java/org/apache/sling/distribution/journal/impl/queue/impl/RangePollerTest.java
@@ -18,6 +18,7 @@
*/
package org.apache.sling.distribution.journal.impl.queue.impl;
+import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.samePropertyValuesAs;
import static org.junit.Assert.assertThat;
@@ -28,7 +29,16 @@ import java.io.Closeable;
import java.io.IOException;
import java.util.List;
+import org.apache.sling.distribution.journal.FullMessage;
+import org.apache.sling.distribution.journal.HandlerAdapter;
+import org.apache.sling.distribution.journal.MessageHandler;
+import org.apache.sling.distribution.journal.MessageInfo;
+import org.apache.sling.distribution.journal.MessagingProvider;
+import org.apache.sling.distribution.journal.Reset;
import org.apache.sling.distribution.journal.impl.shared.TestMessageInfo;
+import org.apache.sling.distribution.journal.messages.Messages;
+import org.apache.sling.distribution.journal.messages.Messages.PackageMessage;
+import org.apache.sling.distribution.journal.messages.Messages.PackageMessage.ReqType;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -38,16 +48,6 @@ import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
-import org.apache.sling.distribution.journal.messages.Messages;
-import org.apache.sling.distribution.journal.messages.Messages.PackageMessage;
-import org.apache.sling.distribution.journal.messages.Messages.PackageMessage.ReqType;
-import org.apache.sling.distribution.journal.FullMessage;
-import org.apache.sling.distribution.journal.HandlerAdapter;
-import org.apache.sling.distribution.journal.MessageHandler;
-import org.apache.sling.distribution.journal.MessageInfo;
-import org.apache.sling.distribution.journal.MessagingProvider;
-import org.apache.sling.distribution.journal.Reset;
-
public class RangePollerTest {
private static final int MIN_OFFSET = 10;
@@ -64,9 +64,10 @@ public class RangePollerTest {
private Closeable poller;
private MessageHandler<PackageMessage> handler;
+ private FullMessage<PackageMessage>[] messages;
@Before
- public void before() {
+ public void before() throws IOException {
MockitoAnnotations.initMocks(this);
when(clientProvider.assignTo(MIN_OFFSET))
.thenReturn("0:" + MIN_OFFSET);
@@ -88,26 +89,31 @@ public class RangePollerTest {
public void test() throws Exception {
RangePoller poller = new RangePoller(clientProvider, TOPIC, MIN_OFFSET, MAX_OFFSET);
handler = handlerCaptor.getValue().getHandler();
- FullMessage<PackageMessage> message1 = simulateMessage(MIN_OFFSET);
- FullMessage<PackageMessage> message2 = simulateMessage(19);
- simulateMessage(MAX_OFFSET);
+ messages = new FullMessage[] {
+ createMessage(ReqType.ADD, MIN_OFFSET),
+ createMessage(ReqType.TEST, MIN_OFFSET + 1),
+ createMessage(ReqType.ADD, MAX_OFFSET - 1),
+ createMessage(ReqType.ADD, MAX_OFFSET)
+ };
+ simulateMessages();
List<FullMessage<PackageMessage>> actualMessages = poller.fetchRange();
- assertThat(actualMessages, contains(samePropertyValuesAs(message1), samePropertyValuesAs(message2)));
+ assertThat(actualMessages.size(), equalTo(2));
+ assertThat(actualMessages, contains(samePropertyValuesAs(messages[0]), samePropertyValuesAs(messages[2])));
}
-
- private FullMessage<PackageMessage> simulateMessage(int offset) {
- FullMessage<PackageMessage> message = createMessage(offset);
- handler.handle(message.getInfo(), message.getMessage());
- return message;
+
+ private void simulateMessages() {
+ for (FullMessage<PackageMessage> message : messages) {
+ handler.handle(message.getInfo(), message.getMessage());
+ }
}
- private FullMessage<Messages.PackageMessage> createMessage(int offset) {
+ private FullMessage<Messages.PackageMessage> createMessage(ReqType reqType, int offset) {
MessageInfo info = new TestMessageInfo(TOPIC, 0, offset, System.currentTimeMillis());
PackageMessage message = Messages.PackageMessage.newBuilder()
.setPubAgentName("agent1")
.setPubSlingId("pub1SlingId")
.setPkgId("package-" + offset)
- .setReqType(ReqType.ADD)
+ .setReqType(reqType)
.setPkgType("journal")
.addPaths("path")
.build();