@@ -286,7 +286,6 @@ private void verifyOutput(JsonObject row, Map<String, Object> entity) {
286286 private long getRowCount (String collectionName ) {
287287 QueryResp queryResp = client .query (QueryReq .builder ()
288288 .collectionName (collectionName )
289- .filter ("" )
290289 .outputFields (Collections .singletonList ("count(*)" ))
291290 .consistencyLevel (ConsistencyLevel .STRONG )
292291 .build ());
@@ -519,21 +518,83 @@ void testFloatVectors() {
519518 verifyOutput (row , entity );
520519 }
521520
522- // query
523- QueryResp queryResp = client .query (QueryReq .builder ()
524- .collectionName (randomCollectionName )
525- .filter ("JSON_CONTAINS_ANY(json_field[\" flags\" ], [4, 100])" )
526- .build ());
527- List <QueryResp .QueryResult > queryResults = queryResp .getQueryResults ();
528- Assertions .assertEquals (6 , queryResults .size ());
521+ {
522+ // query with template
523+ Map <String ,Object > template = new HashMap <>();
524+ template .put ("id_arr" , Arrays .asList (5 , 6 , 7 ));
525+ QueryResp queryResp = client .query (QueryReq .builder ()
526+ .collectionName (randomCollectionName )
527+ .filter ("id in {id_arr}" )
528+ .filterTemplateValues (template )
529+ .build ());
530+ List <QueryResp .QueryResult > queryResults = queryResp .getQueryResults ();
531+ Assertions .assertEquals (3 , queryResults .size ());
532+ }
529533
530- // test the withTimeout works well
531- client .withTimeout (1 , TimeUnit .NANOSECONDS );
532- Assertions .assertThrows (MilvusClientException .class , ()->client .query (QueryReq .builder ()
533- .collectionName (randomCollectionName )
534- .filter ("JSON_CONTAINS_ANY(json_field[\" flags\" ], [4, 100])" )
535- .consistencyLevel (ConsistencyLevel .STRONG )
536- .build ()));
534+ {
535+ // query with limit
536+ QueryResp queryResp = client .query (QueryReq .builder ()
537+ .collectionName (randomCollectionName )
538+ .limit (8 )
539+ .build ());
540+ List <QueryResp .QueryResult > queryResults = queryResp .getQueryResults ();
541+ Assertions .assertEquals (8 , queryResults .size ());
542+ }
543+
544+ {
545+ // query with limit and filter
546+ QueryResp queryResp = client .query (QueryReq .builder ()
547+ .collectionName (randomCollectionName )
548+ .filter ("id > 1" )
549+ .limit (8 )
550+ .build ());
551+ List <QueryResp .QueryResult > queryResults = queryResp .getQueryResults ();
552+ Assertions .assertEquals (8 , queryResults .size ());
553+ }
554+
555+ {
556+ // query with ids
557+ QueryResp queryResp = client .query (QueryReq .builder ()
558+ .collectionName (randomCollectionName )
559+ .ids (Arrays .asList (1 , 5 , 10 ))
560+ .build ());
561+ List <QueryResp .QueryResult > queryResults = queryResp .getQueryResults ();
562+ Assertions .assertEquals (3 , queryResults .size ());
563+ }
564+
565+ {
566+ // query error with 0 limit and empty filter
567+ Assertions .assertThrows (MilvusClientException .class , () -> client .query (QueryReq .builder ()
568+ .collectionName (randomCollectionName )
569+ .build ()));
570+ }
571+
572+ {
573+ // query error with ids and filter
574+ Assertions .assertThrows (MilvusClientException .class , () -> client .query (QueryReq .builder ()
575+ .collectionName (randomCollectionName )
576+ .filter ("id > 1" )
577+ .ids (Arrays .asList (1 , 3 , 5 ))
578+ .build ()));
579+ }
580+
581+ {
582+ // query timeout
583+ QueryResp queryResp = client .query (QueryReq .builder ()
584+ .collectionName (randomCollectionName )
585+ .filter ("JSON_CONTAINS_ANY(json_field[\" flags\" ], [4, 100])" )
586+ .build ());
587+ List <QueryResp .QueryResult > queryResults = queryResp .getQueryResults ();
588+ Assertions .assertEquals (6 , queryResults .size ());
589+
590+ // test the withTimeout works well
591+ client .withTimeout (1 , TimeUnit .NANOSECONDS );
592+ Assertions .assertThrows (MilvusClientException .class , () -> client .query (QueryReq .builder ()
593+ .collectionName (randomCollectionName )
594+ .filter ("JSON_CONTAINS_ANY(json_field[\" flags\" ], [4, 100])" )
595+ .consistencyLevel (ConsistencyLevel .STRONG )
596+ .build ()));
597+ }
537598
538599 client .withTimeout (0 , TimeUnit .SECONDS );
539600 client .dropCollection (DropCollectionReq .builder ().collectionName (randomCollectionName ).build ());
0 commit comments