@@ -38,69 +38,55 @@ public void testVersionComparison() {
3838 assertTrue (RemoteVersion .ELASTICSEARCH_2_0_0 .compareTo (RemoteVersion .ELASTICSEARCH_1_0_0 ) > 0 );
3939
4040 // Test OpenSearch vs Elasticsearch versions with same numbers
41- assertEquals (0 , RemoteVersion .ELASTICSEARCH_2_0_0 .compareTo (RemoteVersion .OPENSEARCH_2_0_0 )); // Same version numbers should be equal in
42- // comparison
41+ assertEquals (0 , RemoteVersion .ELASTICSEARCH_2_0_0 .compareTo (RemoteVersion .OPENSEARCH_2_0_0 ));
4342 }
4443
4544 public void testVersionFromString () {
4645 // Test basic version parsing
47- RemoteVersion version = RemoteVersion .fromString ("7.10.2" );
46+ RemoteVersion version = RemoteVersion .fromString ("7.10.2" , false );
4847 assertEquals (7 , version .getMajor ());
4948 assertEquals (10 , version .getMinor ());
5049 assertEquals (2 , version .getRevision ());
51- assertEquals ("elasticsearch" , version .getDistribution ());
52-
53- // Test version with distribution
54- RemoteVersion opensearchVersion = RemoteVersion .fromString ("1.0.0" , "opensearch" );
55- assertEquals (1 , opensearchVersion .getMajor ());
56- assertEquals (0 , opensearchVersion .getMinor ());
57- assertEquals (0 , opensearchVersion .getRevision ());
58- assertEquals ("opensearch" , opensearchVersion .getDistribution ());
59-
60- // Test version without revision
61- RemoteVersion versionNoRevision = RemoteVersion .fromString ("2.1" );
62- assertEquals (2 , versionNoRevision .getMajor ());
63- assertEquals (1 , versionNoRevision .getMinor ());
64- assertEquals (0 , versionNoRevision .getRevision ());
50+ assertFalse (version .isOpenSearch );
6551
6652 // Test version with snapshot qualifier
67- RemoteVersion snapshotVersion = RemoteVersion .fromString ("2.0.0-SNAPSHOT" );
53+ RemoteVersion snapshotVersion = RemoteVersion .fromString ("2.0.0-SNAPSHOT" , false );
6854 assertEquals (2 , snapshotVersion .getMajor ());
6955 assertEquals (0 , snapshotVersion .getMinor ());
7056 assertEquals (0 , snapshotVersion .getRevision ());
7157
7258 // Test version with pre-release qualifiers
73- RemoteVersion alphaVersion = RemoteVersion .fromString ("2.0.0-alpha1" );
59+ RemoteVersion alphaVersion = RemoteVersion .fromString ("2.0.0-alpha1" , false );
7460 assertEquals (2 , alphaVersion .getMajor ());
7561 assertEquals (0 , alphaVersion .getMinor ());
7662 assertEquals (0 , alphaVersion .getRevision ());
7763
78- RemoteVersion betaVersion = RemoteVersion .fromString ("2.0.0-beta2" );
64+ RemoteVersion betaVersion = RemoteVersion .fromString ("2.0.0-beta2" , false );
7965 assertEquals (2 , betaVersion .getMajor ());
8066 assertEquals (0 , betaVersion .getMinor ());
8167 assertEquals (0 , betaVersion .getRevision ());
8268
83- RemoteVersion rcVersion = RemoteVersion .fromString ("2.0.0-rc1" );
69+ RemoteVersion rcVersion = RemoteVersion .fromString ("2.0.0-rc1" , false );
8470 assertEquals (2 , rcVersion .getMajor ());
8571 assertEquals (0 , rcVersion .getMinor ());
8672 assertEquals (0 , rcVersion .getRevision ());
8773 }
8874
8975 public void testInvalidVersionFromString () {
9076 // Test null version
91- Exception e = expectThrows (IllegalArgumentException .class , () -> RemoteVersion .fromString (null ));
77+ Exception e = expectThrows (IllegalArgumentException .class , () -> RemoteVersion .fromString (null , false ));
9278 assertTrue (e .getMessage ().contains ("Version string cannot be null or empty" ));
9379
9480 // Test empty version
95- e = expectThrows (IllegalArgumentException .class , () -> RemoteVersion .fromString ("" ));
81+ e = expectThrows (IllegalArgumentException .class , () -> RemoteVersion .fromString ("" , false ));
9682 assertTrue (e .getMessage ().contains ("Version string cannot be null or empty" ));
9783
9884 // Test invalid format
99- e = expectThrows (IllegalArgumentException .class , () -> RemoteVersion .fromString ("invalid" ));
85+ e = expectThrows (IllegalArgumentException .class , () -> RemoteVersion .fromString ("invalid" , false ));
10086 assertTrue (e .getMessage ().contains ("Invalid version format" ));
10187
10288 // Test non-numeric version
103- e = expectThrows (IllegalArgumentException .class , () -> RemoteVersion .fromString ("a.b.c" ));
89+ e = expectThrows (IllegalArgumentException .class , () -> RemoteVersion .fromString ("a.b.c" , false ));
10490 assertTrue (e .getMessage ().contains ("Invalid version format" ));
10591 }
10692
@@ -109,28 +95,28 @@ public void testVersionConstants() {
10995 assertEquals (0 , RemoteVersion .ELASTICSEARCH_0_20_5 .getMajor ());
11096 assertEquals (20 , RemoteVersion .ELASTICSEARCH_0_20_5 .getMinor ());
11197 assertEquals (5 , RemoteVersion .ELASTICSEARCH_0_20_5 .getRevision ());
112- assertEquals ( "elasticsearch" , RemoteVersion .ELASTICSEARCH_0_20_5 .getDistribution () );
98+ assertFalse ( RemoteVersion .ELASTICSEARCH_0_20_5 .isOpenSearch );
11399
114100 assertEquals (7 , RemoteVersion .ELASTICSEARCH_7_0_0 .getMajor ());
115101 assertEquals (0 , RemoteVersion .ELASTICSEARCH_7_0_0 .getMinor ());
116102 assertEquals (0 , RemoteVersion .ELASTICSEARCH_7_0_0 .getRevision ());
117- assertEquals ( "elasticsearch" , RemoteVersion .ELASTICSEARCH_7_0_0 .getDistribution () );
103+ assertFalse ( RemoteVersion .ELASTICSEARCH_7_0_0 .isOpenSearch );
118104
119105 // Test OpenSearch versions
120106 assertEquals (1 , RemoteVersion .OPENSEARCH_1_0_0 .getMajor ());
121107 assertEquals (0 , RemoteVersion .OPENSEARCH_1_0_0 .getMinor ());
122108 assertEquals (0 , RemoteVersion .OPENSEARCH_1_0_0 .getRevision ());
123- assertEquals ( "opensearch" , RemoteVersion .OPENSEARCH_1_0_0 .getDistribution () );
109+ assertTrue ( RemoteVersion .OPENSEARCH_1_0_0 .isOpenSearch );
124110
125111 assertEquals (2 , RemoteVersion .OPENSEARCH_2_0_0 .getMajor ());
126112 assertEquals (0 , RemoteVersion .OPENSEARCH_2_0_0 .getMinor ());
127113 assertEquals (0 , RemoteVersion .OPENSEARCH_2_0_0 .getRevision ());
128- assertEquals ( "opensearch" , RemoteVersion .OPENSEARCH_2_0_0 .getDistribution () );
114+ assertTrue ( RemoteVersion .OPENSEARCH_2_0_0 .isOpenSearch );
129115
130116 assertEquals (3 , RemoteVersion .OPENSEARCH_3_1_0 .getMajor ());
131117 assertEquals (1 , RemoteVersion .OPENSEARCH_3_1_0 .getMinor ());
132118 assertEquals (0 , RemoteVersion .OPENSEARCH_3_1_0 .getRevision ());
133- assertEquals ( "opensearch" , RemoteVersion .OPENSEARCH_3_1_0 .getDistribution () );
119+ assertTrue ( RemoteVersion .OPENSEARCH_3_1_0 .isOpenSearch );
134120 }
135121
136122 public void testVersionOrdering () {
@@ -147,36 +133,15 @@ public void testVersionOrdering() {
147133 assertTrue (RemoteVersion .ELASTICSEARCH_6_3_0 .before (RemoteVersion .ELASTICSEARCH_7_0_0 ));
148134 }
149135
150- public void testDistributionChecks () {
151- // Test isElasticsearch()
152- assertTrue (RemoteVersion .ELASTICSEARCH_7_0_0 .isElasticsearch ());
153- assertFalse (RemoteVersion .OPENSEARCH_1_0_0 .isElasticsearch ());
154-
155- // Test isOpenSearch()
156- assertTrue (RemoteVersion .OPENSEARCH_1_0_0 .isOpenSearch ());
157- assertFalse (RemoteVersion .ELASTICSEARCH_7_0_0 .isOpenSearch ());
158-
159- // Test custom distribution
160- RemoteVersion customVersion = new RemoteVersion (1 , 0 , 0 , "custom" );
161- assertFalse (customVersion .isElasticsearch ());
162- assertFalse (customVersion .isOpenSearch ());
163- assertEquals ("custom" , customVersion .getDistribution ());
164-
165- // Test null distribution defaults to elasticsearch
166- RemoteVersion nullDistVersion = new RemoteVersion (1 , 0 , 0 , null );
167- assertTrue (nullDistVersion .isElasticsearch ());
168- assertFalse (nullDistVersion .isOpenSearch ());
169- }
170-
171136 public void testEqualsAndHashCode () {
172- RemoteVersion version1 = new RemoteVersion (2 , 0 , 0 , null );
173- RemoteVersion version2 = new RemoteVersion (2 , 0 , 0 , null );
174- RemoteVersion version3 = new RemoteVersion (2 , 0 , 0 , "opensearch" );
175- RemoteVersion version4 = new RemoteVersion (2 , 0 , 1 , null );
137+ RemoteVersion version1 = new RemoteVersion (2 , 0 , 0 , false );
138+ RemoteVersion version2 = new RemoteVersion (2 , 0 , 0 , false );
139+ RemoteVersion version3 = new RemoteVersion (2 , 0 , 0 , true );
140+ RemoteVersion version4 = new RemoteVersion (2 , 0 , 1 , false );
176141
177142 // Test equals
178143 assertEquals (version1 , version2 );
179- assertNotEquals (version1 , version3 ); // Different distribution
144+ assertNotEquals (version1 , version3 ); // Different isOpenSearch
180145 assertNotEquals (version1 , version4 ); // Different revision
181146 assertNotEquals (version1 , null );
182147 assertNotEquals (version1 , "not a version" );
@@ -193,7 +158,7 @@ public void testEqualsAndHashCode() {
193158 * Test equals method
194159 */
195160 public void testEqualsMethodAllBranches () {
196- RemoteVersion baseVersion = new RemoteVersion (2 , 1 , 3 , "elasticsearch" );
161+ RemoteVersion baseVersion = new RemoteVersion (2 , 1 , 3 , false );
197162
198163 // Test same object (reflexivity)
199164 assertEquals (baseVersion , baseVersion );
@@ -205,44 +170,31 @@ public void testEqualsMethodAllBranches() {
205170 assertNotEquals (baseVersion , "not a version object" );
206171
207172 // Test different major version
208- RemoteVersion differentMajor = new RemoteVersion (1 , 1 , 3 , "elasticsearch" );
173+ RemoteVersion differentMajor = new RemoteVersion (1 , 1 , 3 , false );
209174 assertNotEquals (baseVersion , differentMajor );
210175
211176 // Test different minor version
212- RemoteVersion differentMinor = new RemoteVersion (2 , 0 , 3 , "elasticsearch" );
177+ RemoteVersion differentMinor = new RemoteVersion (2 , 0 , 3 , false );
213178 assertNotEquals (baseVersion , differentMinor );
214179
215180 // Test different revision
216- RemoteVersion differentRevision = new RemoteVersion (2 , 1 , 2 , "elasticsearch" );
181+ RemoteVersion differentRevision = new RemoteVersion (2 , 1 , 2 , false );
217182 assertNotEquals (baseVersion , differentRevision );
218183
219- // Test different distribution (null vs non-null) - null becomes "elasticsearch", so they are equal
220- RemoteVersion nullDistribution = new RemoteVersion (2 , 1 , 3 , null );
221- assertEquals (baseVersion , nullDistribution ); // null distribution becomes "elasticsearch"
222-
223- // Test different distribution (non-null vs non-null)
224- RemoteVersion opensearchDistribution = new RemoteVersion (2 , 1 , 3 , "opensearch" );
225- assertNotEquals (baseVersion , opensearchDistribution );
226-
227- // Test same distribution (both null)
228- RemoteVersion nullDist1 = new RemoteVersion (2 , 1 , 3 , null );
229- RemoteVersion nullDist2 = new RemoteVersion (2 , 1 , 3 , null );
230- assertEquals (nullDist1 , nullDist2 );
184+ // Test different isOpenSearch
185+ RemoteVersion differentIsOpenSearch = new RemoteVersion (2 , 1 , 3 , true );
186+ assertNotEquals (baseVersion , differentIsOpenSearch );
231187
232188 // Test identical version (all fields match)
233- RemoteVersion identical = new RemoteVersion (2 , 1 , 3 , "elasticsearch" );
189+ RemoteVersion identical = new RemoteVersion (2 , 1 , 3 , false );
234190 assertEquals (baseVersion , identical );
235-
236- // Test case sensitivity in distribution - both become lowercase, so they are equal
237- RemoteVersion upperCaseDist = new RemoteVersion (2 , 1 , 3 , "ELASTICSEARCH" );
238- assertEquals (baseVersion , upperCaseDist ); // Both become "elasticsearch" due to toLowerCase()
239191 }
240192
241193 public void testToString () {
242- RemoteVersion version = new RemoteVersion (2 , 1 , 3 , null );
194+ RemoteVersion version = new RemoteVersion (2 , 1 , 3 , false );
243195 assertEquals ("2.1.3" , version .toString ());
244196
245- RemoteVersion opensearchVersion = new RemoteVersion (1 , 0 , 0 , "opensearch" );
197+ RemoteVersion opensearchVersion = new RemoteVersion (1 , 0 , 0 , true );
246198 assertEquals ("1.0.0" , opensearchVersion .toString ());
247199 }
248200
@@ -253,21 +205,9 @@ public void testCompareToWithNull() {
253205
254206 public void testVersionConstantsAreCorrect () {
255207 // Verify that our constants match what fromString would produce
256- assertEquals (RemoteVersion .ELASTICSEARCH_2_0_0 , RemoteVersion .fromString ("2.0.0" ));
257- assertEquals (RemoteVersion .ELASTICSEARCH_7_0_0 , RemoteVersion .fromString ("7.0.0" ));
258- assertEquals (RemoteVersion .OPENSEARCH_1_0_0 , RemoteVersion .fromString ("1.0.0" , "opensearch" ));
259- assertEquals (RemoteVersion .OPENSEARCH_2_0_0 , RemoteVersion .fromString ("2.0.0" , "opensearch" ));
260- }
261-
262- public void testCaseInsensitiveDistribution () {
263- RemoteVersion version1 = new RemoteVersion (1 , 0 , 0 , null );
264- RemoteVersion version2 = new RemoteVersion (1 , 0 , 0 , "elasticsearch" );
265- RemoteVersion version3 = new RemoteVersion (1 , 0 , 0 , "ElasticSearch" );
266-
267- assertEquals (version1 , version2 );
268- assertEquals (version1 , version3 );
269- assertTrue (version1 .isElasticsearch ());
270- assertTrue (version2 .isElasticsearch ());
271- assertTrue (version3 .isElasticsearch ());
208+ assertEquals (RemoteVersion .ELASTICSEARCH_2_0_0 , RemoteVersion .fromString ("2.0.0" , false ));
209+ assertEquals (RemoteVersion .ELASTICSEARCH_7_0_0 , RemoteVersion .fromString ("7.0.0" , false ));
210+ assertEquals (RemoteVersion .OPENSEARCH_1_0_0 , RemoteVersion .fromString ("1.0.0" , true ));
211+ assertEquals (RemoteVersion .OPENSEARCH_2_0_0 , RemoteVersion .fromString ("2.0.0" , true ));
272212 }
273213}
0 commit comments