7070
7171import java .nio .ByteBuffer ;
7272import java .util .*;
73+ import java .util .function .Function ;
7374
7475@ Testcontainers (disabledWithoutDocker = true )
7576class MilvusClientV2DockerTest {
@@ -1892,6 +1893,13 @@ void testNullableAndDefaultValue() {
18921893 .isNullable (Boolean .TRUE )
18931894 .maxLength (100 )
18941895 .build ());
1896+ collectionSchema .addField (AddFieldReq .builder ()
1897+ .fieldName ("arr" )
1898+ .dataType (DataType .Array )
1899+ .elementType (DataType .Int32 )
1900+ .isNullable (Boolean .TRUE )
1901+ .maxCapacity (100 )
1902+ .build ());
18951903
18961904 List <IndexParam > indexParams = new ArrayList <>();
18971905 indexParams .add (IndexParam .builder ()
@@ -1920,7 +1928,11 @@ void testNullableAndDefaultValue() {
19201928 } else {
19211929// row.add("flag", JsonNull.INSTANCE);
19221930 row .addProperty ("desc" , "AAA" );
1931+
1932+ List <Integer > arr = Arrays .asList (5 , 6 );
1933+ row .add ("arr" , JsonUtils .toJsonTree (arr ));
19231934 }
1935+
19241936 data .add (row );
19251937 }
19261938
@@ -1930,26 +1942,38 @@ void testNullableAndDefaultValue() {
19301942 .build ());
19311943 Assertions .assertEquals (10 , insertResp .getInsertCnt ());
19321944
1945+ Function <Map <String , Object >, Void > checkFunc =
1946+ entity -> {
1947+ long id = (long )entity .get ("id" );
1948+ if (id %2 == 0 ) {
1949+ Assertions .assertEquals ((int )id , entity .get ("flag" ));
1950+ Assertions .assertNull (entity .get ("desc" ));
1951+ Assertions .assertNull (entity .get ("arr" ));
1952+ } else {
1953+ Assertions .assertEquals (10 , entity .get ("flag" ));
1954+ Assertions .assertEquals ("AAA" , entity .get ("desc" ));
1955+ Object obj = entity .get ("arr" );
1956+ Assertions .assertInstanceOf (List .class , obj );
1957+ List <Integer > arr = (List <Integer >)obj ;
1958+ Assertions .assertEquals (2 , arr .size ());
1959+ Assertions .assertEquals (5 , arr .get (0 ));
1960+ Assertions .assertEquals (6 , arr .get (1 ));
1961+ }
1962+ return null ;
1963+ };
19331964 // query
19341965 QueryResp queryResp = client .query (QueryReq .builder ()
19351966 .collectionName (randomCollectionName )
19361967 .filter ("id >= 0" )
1937- .outputFields (Arrays .asList ("desc" , "flag" ))
1968+ .outputFields (Arrays .asList ("desc" , "flag" , "arr" ))
19381969 .consistencyLevel (ConsistencyLevel .STRONG )
19391970 .build ());
19401971 List <QueryResp .QueryResult > queryResults = queryResp .getQueryResults ();
19411972 Assertions .assertEquals (10 , queryResults .size ());
19421973 System .out .println ("Query results:" );
19431974 for (QueryResp .QueryResult result : queryResults ) {
19441975 Map <String , Object > entity = result .getEntity ();
1945- long id = (long )entity .get ("id" );
1946- if (id %2 == 0 ) {
1947- Assertions .assertEquals ((int )id , entity .get ("flag" ));
1948- Assertions .assertNull (entity .get ("desc" ));
1949- } else {
1950- Assertions .assertEquals (10 , entity .get ("flag" ));
1951- Assertions .assertEquals ("AAA" , entity .get ("desc" ));
1952- }
1976+ checkFunc .apply (entity );
19531977 System .out .println (result );
19541978 }
19551979
@@ -1970,13 +1994,7 @@ void testNullableAndDefaultValue() {
19701994 for (SearchResp .SearchResult result : firstResults ) {
19711995 long id = (long )result .getId ();
19721996 Map <String , Object > entity = result .getEntity ();
1973- if (id %2 == 0 ) {
1974- Assertions .assertEquals ((int )id , entity .get ("flag" ));
1975- Assertions .assertNull (entity .get ("desc" ));
1976- } else {
1977- Assertions .assertEquals (10 , entity .get ("flag" ));
1978- Assertions .assertEquals ("AAA" , entity .get ("desc" ));
1979- }
1997+ checkFunc .apply (entity );
19801998 System .out .println (result );
19811999 }
19822000 }
0 commit comments