@@ -1087,83 +1087,6 @@ func TestInsertManyMultiRowNoChunkingWhenUnderLimit(t *testing.T) {
10871087 assert .NoError (t , mock .ExpectationsWereMet ())
10881088}
10891089
1090- func TestInsertManyArrayInsertOK (t * testing.T ) {
1091- mp := NewMockProvider ()
1092- mp .FakePSQLArrayInsert = true
1093- db , mock := mp .UTInit ()
1094- tc := newCRUDCollection (& db .Database , "ns1" )
1095- mock .ExpectBegin ()
1096- mock .ExpectQuery (`INSERT INTO crudables .* SELECT UNNEST.*RETURNING seq` ).WillReturnRows (
1097- sqlmock .NewRows ([]string {db .sequenceColumn }).
1098- AddRow (301 ).
1099- AddRow (302 ),
1100- )
1101- mock .ExpectCommit ()
1102- err := tc .InsertMany (context .Background (), []* TestCRUDable {
1103- {ResourceBase : ResourceBase {ID : fftypes .NewUUID ()}},
1104- {ResourceBase : ResourceBase {ID : fftypes .NewUUID ()}},
1105- }, false )
1106- assert .NoError (t , err )
1107- assert .NoError (t , mock .ExpectationsWereMet ())
1108- }
1109-
1110- func TestInsertManyArrayInsertFail (t * testing.T ) {
1111- mp := NewMockProvider ()
1112- mp .FakePSQLArrayInsert = true
1113- db , mock := mp .UTInit ()
1114- tc := newCRUDCollection (& db .Database , "ns1" )
1115- mock .ExpectBegin ()
1116- mock .ExpectQuery (`INSERT INTO crudables .* SELECT UNNEST.*` ).WillReturnError (fmt .Errorf ("pop" ))
1117- err := tc .InsertMany (context .Background (), []* TestCRUDable {
1118- {ResourceBase : ResourceBase {ID : fftypes .NewUUID ()}},
1119- }, false )
1120- assert .Regexp (t , "FF00177" , err )
1121- assert .NoError (t , mock .ExpectationsWereMet ())
1122- }
1123-
1124- func TestInsertManyArrayInsertPrefersOverMultiRow (t * testing.T ) {
1125- mp := NewMockProvider ()
1126- mp .FakePSQLArrayInsert = true
1127- mp .MultiRowInsert = true
1128- db , mock := mp .UTInit ()
1129- tc := newCRUDCollection (& db .Database , "ns1" )
1130- mock .ExpectBegin ()
1131- // Should use UNNEST, not multi-row VALUES
1132- mock .ExpectQuery (`INSERT INTO crudables .* SELECT UNNEST.*RETURNING seq` ).WillReturnRows (
1133- sqlmock .NewRows ([]string {db .sequenceColumn }).
1134- AddRow (401 ),
1135- )
1136- mock .ExpectCommit ()
1137- err := tc .InsertMany (context .Background (), []* TestCRUDable {
1138- {ResourceBase : ResourceBase {ID : fftypes .NewUUID ()}},
1139- }, false )
1140- assert .NoError (t , err )
1141- assert .NoError (t , mock .ExpectationsWereMet ())
1142- }
1143-
1144- func TestInsertManyArrayInsertWithEvents (t * testing.T ) {
1145- mp := NewMockProvider ()
1146- mp .FakePSQLArrayInsert = true
1147- db , mock := mp .UTInit ()
1148- tc := newCRUDCollection (& db .Database , "ns1" )
1149- mock .ExpectBegin ()
1150- mock .ExpectQuery (`INSERT INTO crudables .* SELECT UNNEST.*RETURNING seq` ).WillReturnRows (
1151- sqlmock .NewRows ([]string {db .sequenceColumn }).
1152- AddRow (501 ).
1153- AddRow (502 ),
1154- )
1155- mock .ExpectCommit ()
1156- err := tc .InsertMany (context .Background (), []* TestCRUDable {
1157- {ResourceBase : ResourceBase {ID : fftypes .NewUUID ()}},
1158- {ResourceBase : ResourceBase {ID : fftypes .NewUUID ()}},
1159- }, false )
1160- assert .NoError (t , err )
1161- assert .Equal (t , 2 , len (tc .events ))
1162- assert .Equal (t , Created , tc .events [0 ])
1163- assert .Equal (t , Created , tc .events [1 ])
1164- assert .NoError (t , mock .ExpectationsWereMet ())
1165- }
1166-
11671090func TestInsertManyFallbackSingleRowFail (t * testing.T ) {
11681091 db , mock := NewMockProvider ().UTInit ()
11691092 tc := newCRUDCollection (& db .Database , "ns1" )
0 commit comments