diff --git a/engine/storage_mongo_stordb.go b/engine/storage_mongo_stordb.go index 291ecd7ed..9e37f167a 100644 --- a/engine/storage_mongo_stordb.go +++ b/engine/storage_mongo_stordb.go @@ -1100,6 +1100,9 @@ func (ms *MongoStorage) GetCDRs(qryFltr *utils.CDRsFilter, remove bool) ([]*CDR, var chgd int64 err := ms.query(func(sctx mongo.SessionContext) (err error) { dr, err := ms.getCol(ColCDRs).DeleteMany(sctx, filters) + if err != nil { + return err + } chgd = dr.DeletedCount return err }) diff --git a/migrator/cdrs_it_test.go b/migrator/cdrs_it_test.go index 27b0265e1..f2a4cfcbe 100644 --- a/migrator/cdrs_it_test.go +++ b/migrator/cdrs_it_test.go @@ -44,6 +44,7 @@ var sTestsCdrIT = []func(t *testing.T){ testCdrITConnect, testCdrITFlush, testCdrITMigrateAndMove, + testMongoGetCdrsRemoveErr, } func TestCdrITMongo(t *testing.T) { @@ -188,3 +189,16 @@ func testCdrITMigrateAndMove(t *testing.T) { // t.Errorf("Expected 1, received: %v", cdrMigrator.stats[utils.CDRs]) // } } + +func testMongoGetCdrsRemoveErr(t *testing.T) { + cdrMigrator.Close() + + expErr := "client is disconnected" + if cdrPathIn == "/usr/share/cgrates/conf/samples/tutmongo" { + _, _, err := cdrMigrator.storDBOut.StorDB().GetCDRs(new(utils.CDRsFilter), true) + if err == nil || err.Error() != expErr { + t.Errorf("Expected error <%v>, Received <%v>", expErr, err) + } + } + +}