You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by lh...@apache.org on 2022/12/01 08:03:58 UTC

[pulsar-client-reactive] branch main updated: Add test for StartAtSpec (#64)

This is an automated email from the ASF dual-hosted git repository.

lhotari pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-client-reactive.git


The following commit(s) were added to refs/heads/main by this push:
     new 0b07a50  Add test for StartAtSpec (#64)
0b07a50 is described below

commit 0b07a50d2cc120a93d2e9d523dbbede9b4d5960b
Author: Christophe Bornet <cb...@hotmail.com>
AuthorDate: Thu Dec 1 09:03:52 2022 +0100

    Add test for StartAtSpec (#64)
    
    Co-authored-by: Lari Hotari <lh...@users.noreply.github.com>
---
 pulsar-client-reactive-api/build.gradle            |  1 +
 .../reactive/client/api/StartAtSpecTest.java       | 73 ++++++++++++++++++++++
 2 files changed, 74 insertions(+)

diff --git a/pulsar-client-reactive-api/build.gradle b/pulsar-client-reactive-api/build.gradle
index 8dccdcd..311ba12 100644
--- a/pulsar-client-reactive-api/build.gradle
+++ b/pulsar-client-reactive-api/build.gradle
@@ -10,6 +10,7 @@ dependencies {
 	api libs.slf4j.api
 	implementation libs.jctools.core
 
+	testImplementation libs.pulsar.client.shaded
 	testImplementation libs.junit.jupiter
 	testImplementation libs.junit.jupiter.params
 	testImplementation libs.reactor.test
diff --git a/pulsar-client-reactive-api/src/test/java/org/apache/pulsar/reactive/client/api/StartAtSpecTest.java b/pulsar-client-reactive-api/src/test/java/org/apache/pulsar/reactive/client/api/StartAtSpecTest.java
new file mode 100644
index 0000000..0d7bdda
--- /dev/null
+++ b/pulsar-client-reactive-api/src/test/java/org/apache/pulsar/reactive/client/api/StartAtSpecTest.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2022 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.pulsar.reactive.client.api;
+
+import java.time.Instant;
+
+import org.apache.pulsar.client.api.MessageId;
+import org.junit.jupiter.api.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+/**
+ * Tests for {@link StartAtSpec}
+ */
+class StartAtSpecTest {
+
+	@Test
+	void ofEarliest() {
+		MessageIdStartAtSpec spec = StartAtSpec.ofEarliest();
+		assertThat(spec.getMessageId()).isEqualTo(MessageId.earliest);
+		assertThat(spec.isInclusive()).isTrue();
+	}
+
+	@Test
+	void ofLatest() {
+		MessageIdStartAtSpec spec = StartAtSpec.ofLatest();
+		assertThat(spec.getMessageId()).isEqualTo(MessageId.latest);
+		assertThat(spec.isInclusive()).isFalse();
+	}
+
+	@Test
+	void ofLatestInclusive() {
+		MessageIdStartAtSpec spec = StartAtSpec.ofLatestInclusive();
+		assertThat(spec.getMessageId()).isEqualTo(MessageId.latest);
+		assertThat(spec.isInclusive()).isTrue();
+	}
+
+	@Test
+	void ofMessageId() {
+		MessageIdStartAtSpec spec = StartAtSpec.ofMessageId(MessageId.earliest);
+		assertThat(spec.getMessageId()).isEqualTo(MessageId.earliest);
+		assertThat(spec.isInclusive()).isFalse();
+	}
+
+	@Test
+	void ofMessageIdWithInclusive() {
+		MessageIdStartAtSpec spec = StartAtSpec.ofMessageId(MessageId.earliest, true);
+		assertThat(spec.getMessageId()).isEqualTo(MessageId.earliest);
+		assertThat(spec.isInclusive()).isTrue();
+	}
+
+	@Test
+	void ofInstant() {
+		Instant instant = Instant.now();
+		InstantStartAtSpec spec = StartAtSpec.ofInstant(instant);
+		assertThat(spec.getInstant()).isEqualTo(instant);
+	}
+
+}