@@ -235,14 +235,14 @@ private void createGetAndDeleteAnalyzer(AnalyzerEntity options) throws Execution
235235 assertThat (createdAnalyzer .getName (), is (fullyQualifiedName ));
236236 assertThat (createdAnalyzer .getType (), is (options .getType ()));
237237 assertThat (createdAnalyzer .getFeatures (), is (options .getFeatures ()));
238- assertThat (createdAnalyzer .getProperties (), is ( options .getProperties () ));
238+ compareProperties (createdAnalyzer .getProperties (), options .getProperties ());
239239
240240 // getAnalyzer
241241 AnalyzerEntity gotAnalyzer = db .getAnalyzer (options .getName ()).get ();
242242 assertThat (gotAnalyzer .getName (), is (fullyQualifiedName ));
243243 assertThat (gotAnalyzer .getType (), is (options .getType ()));
244244 assertThat (gotAnalyzer .getFeatures (), is (options .getFeatures ()));
245- assertThat (gotAnalyzer .getProperties (), is ( options .getProperties () ));
245+ compareProperties (gotAnalyzer .getProperties (), options .getProperties ());
246246
247247 // getAnalyzers
248248 @ SuppressWarnings ("OptionalGetWithoutIsPresent" )
@@ -252,7 +252,7 @@ private void createGetAndDeleteAnalyzer(AnalyzerEntity options) throws Execution
252252 assertThat (foundAnalyzer .getName (), is (fullyQualifiedName ));
253253 assertThat (foundAnalyzer .getType (), is (options .getType ()));
254254 assertThat (foundAnalyzer .getFeatures (), is (options .getFeatures ()));
255- assertThat (foundAnalyzer .getProperties (), is ( options .getProperties () ));
255+ compareProperties (foundAnalyzer .getProperties (), options .getProperties ());
256256
257257 AnalyzerDeleteOptions deleteOptions = new AnalyzerDeleteOptions ();
258258 deleteOptions .setForce (true );
@@ -269,6 +269,19 @@ private void createGetAndDeleteAnalyzer(AnalyzerEntity options) throws Execution
269269 }
270270 }
271271
272+ private void compareProperties (Map <String , Object > actualProperties , Map <String , Object > expectedProperties ) {
273+ expectedProperties .forEach ((key , value ) -> {
274+ Object expectedValue = actualProperties .get (key );
275+ if (value instanceof Map ) {
276+ assertThat (expectedValue , notNullValue ());
277+ assertThat (expectedValue , instanceOf (Map .class ));
278+ compareProperties ((Map ) value , (Map ) expectedValue );
279+ } else {
280+ assertThat (value , is (expectedValue ));
281+ }
282+ });
283+ }
284+
272285 @ Test
273286 public void identityAnalyzer () throws ExecutionException , InterruptedException {
274287 assumeTrue (isAtLeastVersion (3 , 5 ));
0 commit comments