Skip to content

Commit 817bedb

Browse files
committed
more fix validation and improve test
1 parent d693f04 commit 817bedb

File tree

7 files changed

+32
-28
lines changed

7 files changed

+32
-28
lines changed

src/main/java/io/nats/client/MessageTtl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public String toString() {
3838
*/
3939
public static MessageTtl seconds(int msgTtlSeconds) {
4040
if (msgTtlSeconds < 1) {
41-
throw new IllegalArgumentException("msgTtlSeconds must be at least 1 second.");
41+
throw new IllegalArgumentException("Must be at least 1 second.");
4242
}
4343
return new MessageTtl(msgTtlSeconds + "s");
4444
}

src/main/java/io/nats/client/PublishOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ public Builder messageTtlSeconds(int msgTtlSeconds) {
284284
* @return The Builder
285285
*/
286286
public Builder messageTtlCustom(String messageTtlCustom) {
287-
this.messageTtl = messageTtlCustom == null ? null : MessageTtl.custom(messageTtlCustom);
287+
this.messageTtl = nullOrEmpty(messageTtlCustom) ? null : MessageTtl.custom(messageTtlCustom);
288288
return this;
289289
}
290290

src/main/java/io/nats/client/api/KeyValueConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@ public Builder limitMarker(long limitMarkerTtlMillis) {
399399
this.limitMarkerTtl = null;
400400
}
401401
else {
402-
this.limitMarkerTtl = validateDurationNotRequiredGtOrEqSeconds(1, limitMarkerTtlMillis);
402+
this.limitMarkerTtl = validateDurationGtOrEqSeconds(1, limitMarkerTtlMillis);
403403
}
404404
return this;
405405
}

src/main/java/io/nats/client/api/StreamConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1096,7 +1096,7 @@ public Builder subjectDeleteMarkerTtl(Duration subjectDeleteMarkerTtl) {
10961096
*/
10971097
public Builder subjectDeleteMarkerTtl(long subjectDeleteMarkerTtlMillis) {
10981098
this.subjectDeleteMarkerTtl = subjectDeleteMarkerTtlMillis <= 0 ? null
1099-
: validateDurationNotRequiredGtOrEqSeconds(1, subjectDeleteMarkerTtlMillis);
1099+
: validateDurationGtOrEqSeconds(1, subjectDeleteMarkerTtlMillis);
11001100
return this;
11011101
}
11021102

src/main/java/io/nats/client/support/Validator.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -364,12 +364,12 @@ public static Duration validateDurationNotRequiredGtOrEqZero(long millis) {
364364
}
365365

366366
public static Duration validateDurationNotRequiredGtOrEqSeconds(long minSeconds, Duration d, Duration ifNull) {
367-
return d == null ? ifNull : validateDurationNotRequiredGtOrEqSeconds(minSeconds, d.toMillis());
367+
return d == null ? ifNull : validateDurationGtOrEqSeconds(minSeconds, d.toMillis());
368368
}
369369

370-
public static Duration validateDurationNotRequiredGtOrEqSeconds(long minSeconds, long millis) {
370+
public static Duration validateDurationGtOrEqSeconds(long minSeconds, long millis) {
371371
if (millis < (minSeconds * 1000)) {
372-
throw new IllegalArgumentException("Duration must be greater than or equal to " + minSeconds + " seconds.");
372+
throw new IllegalArgumentException("Must be greater than or equal to " + minSeconds + " second(s).");
373373
}
374374
return Duration.ofMillis(millis);
375375
}

src/test/java/io/nats/client/PublishOptionsTests.java

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -85,40 +85,44 @@ public void testProperties() {
8585

8686
@Test
8787
public void testMessageTtl() {
88-
PublishOptions po = PublishOptions.builder()
89-
.messageTtlSeconds(3)
90-
.build();
88+
PublishOptions po = PublishOptions.builder().messageTtlSeconds(3).build();
9189
assertEquals("3s", po.getMessageTtl());
9290

93-
po = PublishOptions.builder()
94-
.messageTtlCustom("abcd")
95-
.build();
91+
po = PublishOptions.builder().messageTtlCustom("abcd").build();
9692
assertEquals("abcd", po.getMessageTtl());
9793

98-
po = PublishOptions.builder()
99-
.messageTtlNever()
100-
.build();
94+
po = PublishOptions.builder().messageTtlNever().build();
10195
assertEquals("never", po.getMessageTtl());
10296

103-
po = PublishOptions.builder()
104-
.messageTtl(MessageTtl.seconds(3))
105-
.build();
97+
po = PublishOptions.builder().messageTtl(MessageTtl.seconds(3)).build();
10698
assertEquals("3s", po.getMessageTtl());
10799

108-
po = PublishOptions.builder()
109-
.messageTtl(MessageTtl.custom("abcd"))
110-
.build();
100+
po = PublishOptions.builder().messageTtl(MessageTtl.custom("abcd")).build();
111101
assertEquals("abcd", po.getMessageTtl());
112102

113-
po = PublishOptions.builder()
114-
.messageTtl(MessageTtl.never())
115-
.build();
103+
po = PublishOptions.builder().messageTtl(MessageTtl.never()).build();
116104
assertEquals("never", po.getMessageTtl());
117105

106+
po = PublishOptions.builder().messageTtlSeconds(0).build();
107+
assertNull(po.getMessageTtl());
108+
109+
po = PublishOptions.builder().messageTtlSeconds(-1).build();
110+
assertNull(po.getMessageTtl());
111+
112+
po = PublishOptions.builder().messageTtlCustom(null).build();
113+
assertNull(po.getMessageTtl());
114+
115+
po = PublishOptions.builder().messageTtlCustom("").build();
116+
assertNull(po.getMessageTtl());
117+
118+
po = PublishOptions.builder().messageTtl(null).build();
119+
assertNull(po.getMessageTtl());
120+
118121
assertThrows(IllegalArgumentException.class, () -> MessageTtl.seconds(0));
119122
assertThrows(IllegalArgumentException.class, () -> MessageTtl.seconds(-1));
120123
assertThrows(IllegalArgumentException.class, () -> MessageTtl.custom(null));
121124
assertThrows(IllegalArgumentException.class, () -> MessageTtl.custom(""));
125+
122126
assertTrue(MessageTtl.seconds(3).toString().contains("3s")); // COVERAGE
123127
}
124128
}

src/test/java/io/nats/client/support/ValidatorTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -240,14 +240,14 @@ public void testValidateDurationNotRequiredGtOrEqZero() {
240240
}
241241

242242
@Test
243-
public void testValidateDurationNotRequiredGtOrEqMinimum() {
243+
public void testValidateDurationGtOrEqSeconds() {
244244
Duration ifNull = Duration.ofMillis(999);
245245
assertEquals(ifNull, validateDurationNotRequiredGtOrEqSeconds(1, null, ifNull));
246246
assertEquals(Duration.ofSeconds(1), validateDurationNotRequiredGtOrEqSeconds(1, Duration.ofSeconds(1), ifNull));
247247
assertThrows(IllegalArgumentException.class, () -> validateDurationNotRequiredGtOrEqSeconds(1, Duration.ofMillis(999), ifNull));
248248

249-
assertEquals(Duration.ofSeconds(1), validateDurationNotRequiredGtOrEqSeconds(1, 1000));
250-
assertThrows(IllegalArgumentException.class, () -> validateDurationNotRequiredGtOrEqSeconds(1, 999));
249+
assertEquals(Duration.ofSeconds(1), validateDurationGtOrEqSeconds(1, 1000));
250+
assertThrows(IllegalArgumentException.class, () -> validateDurationGtOrEqSeconds(1, 999));
251251
}
252252

253253
@Test

0 commit comments

Comments
 (0)