7070
7171import java .nio .ByteBuffer ;
7272import java .util .*;
73+ import java .util .function .Function ;
7374
7475@ Testcontainers (disabledWithoutDocker = true )
7576class MilvusClientV2DockerTest {
@@ -1890,6 +1891,13 @@ void testNullableAndDefaultValue() {
18901891 .isNullable (Boolean .TRUE )
18911892 .maxLength (100 )
18921893 .build ());
1894+ collectionSchema .addField (AddFieldReq .builder ()
1895+ .fieldName ("arr" )
1896+ .dataType (DataType .Array )
1897+ .elementType (DataType .Int32 )
1898+ .isNullable (Boolean .TRUE )
1899+ .maxCapacity (100 )
1900+ .build ());
18931901
18941902 List <IndexParam > indexParams = new ArrayList <>();
18951903 indexParams .add (IndexParam .builder ()
@@ -1918,7 +1926,11 @@ void testNullableAndDefaultValue() {
19181926 } else {
19191927// row.add("flag", JsonNull.INSTANCE);
19201928 row .addProperty ("desc" , "AAA" );
1929+
1930+ List <Integer > arr = Arrays .asList (5 , 6 );
1931+ row .add ("arr" , JsonUtils .toJsonTree (arr ));
19211932 }
1933+
19221934 data .add (row );
19231935 }
19241936
@@ -1928,26 +1940,38 @@ void testNullableAndDefaultValue() {
19281940 .build ());
19291941 Assertions .assertEquals (10 , insertResp .getInsertCnt ());
19301942
1943+ Function <Map <String , Object >, Void > checkFunc =
1944+ entity -> {
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+ Assertions .assertNull (entity .get ("arr" ));
1950+ } else {
1951+ Assertions .assertEquals (10 , entity .get ("flag" ));
1952+ Assertions .assertEquals ("AAA" , entity .get ("desc" ));
1953+ Object obj = entity .get ("arr" );
1954+ Assertions .assertInstanceOf (List .class , obj );
1955+ List <Integer > arr = (List <Integer >)obj ;
1956+ Assertions .assertEquals (2 , arr .size ());
1957+ Assertions .assertEquals (5 , arr .get (0 ));
1958+ Assertions .assertEquals (6 , arr .get (1 ));
1959+ }
1960+ return null ;
1961+ };
19311962 // query
19321963 QueryResp queryResp = client .query (QueryReq .builder ()
19331964 .collectionName (randomCollectionName )
19341965 .filter ("id >= 0" )
1935- .outputFields (Arrays .asList ("desc" , "flag" ))
1966+ .outputFields (Arrays .asList ("desc" , "flag" , "arr" ))
19361967 .consistencyLevel (ConsistencyLevel .STRONG )
19371968 .build ());
19381969 List <QueryResp .QueryResult > queryResults = queryResp .getQueryResults ();
19391970 Assertions .assertEquals (10 , queryResults .size ());
19401971 System .out .println ("Query results:" );
19411972 for (QueryResp .QueryResult result : queryResults ) {
19421973 Map <String , Object > entity = result .getEntity ();
1943- long id = (long )entity .get ("id" );
1944- if (id %2 == 0 ) {
1945- Assertions .assertEquals ((int )id , entity .get ("flag" ));
1946- Assertions .assertNull (entity .get ("desc" ));
1947- } else {
1948- Assertions .assertEquals (10 , entity .get ("flag" ));
1949- Assertions .assertEquals ("AAA" , entity .get ("desc" ));
1950- }
1974+ checkFunc .apply (entity );
19511975 System .out .println (result );
19521976 }
19531977
@@ -1968,13 +1992,7 @@ void testNullableAndDefaultValue() {
19681992 for (SearchResp .SearchResult result : firstResults ) {
19691993 long id = (long )result .getId ();
19701994 Map <String , Object > entity = result .getEntity ();
1971- if (id %2 == 0 ) {
1972- Assertions .assertEquals ((int )id , entity .get ("flag" ));
1973- Assertions .assertNull (entity .get ("desc" ));
1974- } else {
1975- Assertions .assertEquals (10 , entity .get ("flag" ));
1976- Assertions .assertEquals ("AAA" , entity .get ("desc" ));
1977- }
1995+ checkFunc .apply (entity );
19781996 System .out .println (result );
19791997 }
19801998 }
0 commit comments