Skip to content

Commit 22936e0

Browse files
authored
Merge pull request #101 from rabbitmq/lukebakken/broker-version-tests
Broker version parsing - add tests
2 parents d71642c + 92e89d2 commit 22936e0

File tree

3 files changed

+40
-2
lines changed

3 files changed

+40
-2
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@
1616
/.classpath
1717
/.project
1818
/.settings
19+
/.jqwik-database

src/main/java/com/rabbitmq/client/amqp/impl/Utils.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,8 +212,9 @@ static int versionCompare(String str1, String str2) {
212212
}
213213
// compare first non-equal ordinal number
214214
if (i < vals1.length && i < vals2.length) {
215-
int diff = Integer.valueOf(vals1[i]).compareTo(Integer.valueOf(vals2[i]));
216-
return Integer.signum(diff);
215+
Integer val1 = Integer.valueOf(vals1[i]);
216+
Integer val2 = Integer.valueOf(vals2[i]);
217+
return val1.compareTo(val2);
217218
}
218219
// the strings are equal or one string is a substring of the other
219220
// e.g. "1.2.3" = "1.2.3" or "1.2.3" < "1.2.3.4"

src/test/java/com/rabbitmq/client/amqp/impl/UtilsTest.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,40 @@ void checkAnnotationsKO() {
6262
assertThatThrownBy(() -> checkMessageAnnotations(of("x-foo", "bar1", "foo", "bar2")))
6363
.isInstanceOf(IllegalArgumentException.class);
6464
}
65+
66+
@ParameterizedTest
67+
@ValueSource(strings = {
68+
"3.13.6",
69+
"3.13.6.2",
70+
"3.13.6-alpha.0",
71+
"3.13.6~beta-1",
72+
"3.13.6+funky-metadata-1",
73+
"4.0.6",
74+
"4.0.6.9",
75+
"4.0.6-alpha.0",
76+
"4.0.6~beta-1",
77+
"4.0.6+funky-metadata-1"
78+
})
79+
void validateBrokerVersionParsing4AndEarlier(String brokerVersion) {
80+
assertThat(Utils.is4_1_OrMore(brokerVersion)).isFalse();
81+
assertThat(Utils.supportFilterExpressions(brokerVersion)).isFalse();
82+
}
83+
84+
@ParameterizedTest
85+
@ValueSource(strings = {
86+
"4.1.6",
87+
"4.1.6.9",
88+
"4.1.6-alpha.0",
89+
"4.1.6~beta-1",
90+
"4.1.6+funky-metadata-1",
91+
"4.2.6",
92+
"4.2.6.9",
93+
"4.2.6-alpha.0",
94+
"4.2.6~beta-1",
95+
"4.2.6+funky-metadata-1"
96+
})
97+
void validateBrokerVersionParsing41AndLater(String brokerVersion) {
98+
assertThat(Utils.is4_1_OrMore(brokerVersion)).isTrue();
99+
assertThat(Utils.supportFilterExpressions(brokerVersion)).isTrue();
100+
}
65101
}

0 commit comments

Comments
 (0)