From 72a754720fdf628bb2fa2fad121457ad6721714b Mon Sep 17 00:00:00 2001 From: ionutboangiu Date: Mon, 11 Oct 2021 12:04:50 +0300 Subject: [PATCH] Fix integration tests --- cmd/cgr-loader/cgr-loader_it_test.go | 9 +- services/datadb_it_test.go | 201 ++------------------------- services/stordb_it_test.go | 103 -------------- 3 files changed, 18 insertions(+), 295 deletions(-) diff --git a/cmd/cgr-loader/cgr-loader_it_test.go b/cmd/cgr-loader/cgr-loader_it_test.go index 49875b627..fc6e67c00 100644 --- a/cmd/cgr-loader/cgr-loader_it_test.go +++ b/cmd/cgr-loader/cgr-loader_it_test.go @@ -85,9 +85,6 @@ func TestLoadConfig(t *testing.T) { RedisClusterOndownDelay: 0, RedisCluster: false, RedisTLS: false, - RedisClientCertificate: "", - RedisClientKey: "", - RedisCACertificate: "", }, RmtConns: []string{}, RplConns: []string{}, @@ -109,10 +106,10 @@ func TestLoadConfig(t *testing.T) { StringIndexedFields: []string{}, PrefixIndexedFields: []string{}, Opts: &config.StorDBOpts{ - SQLConnMaxLifetime: 0., + SQLConnMaxLifetime: 0, MongoQueryTimeout: 10 * time.Second, - SQLMaxOpenConns: 100., - SQLMaxIdleConns: 10., + SQLMaxOpenConns: 100, + SQLMaxIdleConns: 10, SSLMode: "disable", MySQLLocation: "Local", }, diff --git a/services/datadb_it_test.go b/services/datadb_it_test.go index 60ae14b50..73f7e6cc5 100644 --- a/services/datadb_it_test.go +++ b/services/datadb_it_test.go @@ -85,16 +85,9 @@ func TestDataDBReload(t *testing.T) { Port: "27017", Name: "10", User: "cgrates", - Opts: map[string]interface{}{ - utils.MongoQueryTimeoutCfg: "10s", - utils.RedisClusterOnDownDelayCfg: "0", - utils.RedisClusterSyncCfg: "5s", - utils.RedisClusterCfg: false, - utils.RedisSentinelNameCfg: "", - utils.RedisTLSCfg: false, - utils.RedisClientCertificateCfg: "", - utils.RedisClientKeyCfg: "", - utils.RedisCACertificateCfg: "", + Opts: &config.DataDBOpts{ + MongoQueryTimeout: 10 * time.Second, + RedisClusterSync: 5 * time.Second, }, RmtConns: []string{}, RplConns: []string{}, @@ -225,16 +218,9 @@ func TestDataDBReloadBadType(t *testing.T) { Port: "27017", Name: "10", User: "cgrates", - Opts: map[string]interface{}{ - utils.MongoQueryTimeoutCfg: "10s", - utils.RedisClusterOnDownDelayCfg: "0", - utils.RedisClusterSyncCfg: "5s", - utils.RedisClusterCfg: false, - utils.RedisSentinelNameCfg: "", - utils.RedisTLSCfg: false, - utils.RedisClientCertificateCfg: "", - utils.RedisClientKeyCfg: "", - utils.RedisCACertificateCfg: "", + Opts: &config.DataDBOpts{ + MongoQueryTimeout: 10 * time.Second, + RedisClusterSync: 5 * time.Second, }, RmtConns: []string{}, RplConns: []string{}, @@ -330,16 +316,9 @@ func TestDataDBReloadErrorMarsheler(t *testing.T) { Port: "27017", Name: "10", User: "cgrates", - Opts: map[string]interface{}{ - utils.MongoQueryTimeoutCfg: "10s", - utils.RedisClusterOnDownDelayCfg: "0", - utils.RedisClusterSyncCfg: "5s", - utils.RedisClusterCfg: false, - utils.RedisSentinelNameCfg: "", - utils.RedisTLSCfg: false, - utils.RedisClientCertificateCfg: "", - utils.RedisClientKeyCfg: "", - utils.RedisCACertificateCfg: "", + Opts: &config.DataDBOpts{ + MongoQueryTimeout: 10 * time.Second, + RedisClusterSync: 5 * time.Second, }, RmtConns: []string{}, RplConns: []string{}, @@ -517,16 +496,9 @@ func TestDataDBReloadCastError(t *testing.T) { Port: "27017", Name: "10", User: "cgrates", - Opts: map[string]interface{}{ - utils.MongoQueryTimeoutCfg: "10s", - utils.RedisClusterOnDownDelayCfg: "0", - utils.RedisClusterSyncCfg: "5s", - utils.RedisClusterCfg: false, - utils.RedisSentinelNameCfg: "", - utils.RedisTLSCfg: false, - utils.RedisClientCertificateCfg: "", - utils.RedisClientKeyCfg: "", - utils.RedisCACertificateCfg: "", + Opts: &config.DataDBOpts{ + MongoQueryTimeout: 10 * time.Second, + RedisClusterSync: 5 * time.Second, }, RmtConns: []string{}, RplConns: []string{}, @@ -602,142 +574,6 @@ func TestDataDBReloadCastError(t *testing.T) { time.Sleep(10 * time.Millisecond) } -func TestDataDBReloadIfaceAsDurationError(t *testing.T) { - cfg, err := config.NewCGRConfigFromPath(context.Background(), path.Join("/usr", "share", "cgrates", "conf", "samples", "tutmongo")) - if err != nil { - t.Fatal(err) - } - dbConn, err := engine.NewDataDBConn(cfg.DataDbCfg().Type, - cfg.DataDbCfg().Host, cfg.DataDbCfg().Port, - cfg.DataDbCfg().Name, cfg.DataDbCfg().User, - cfg.DataDbCfg().Password, cfg.GeneralCfg().DBDataEncoding, - cfg.DataDbCfg().Opts) - if err != nil { - t.Fatal(err) - } - defer func() { - dbConn.Flush("") - dbConn.Close() - }() - - err = dbConn.SetVersions(engine.Versions{ - utils.StatS: 4, - utils.Accounts: 3, - utils.Actions: 2, - utils.Thresholds: 4, - utils.Routes: 2, - // old version for Attributes - utils.Attributes: 5, - utils.RQF: 5, - utils.Resource: 1, - utils.Subscribers: 1, - utils.Chargers: 2, - utils.Dispatchers: 2, - utils.LoadIDsVrs: 1, - utils.RateProfiles: 1, - utils.ActionProfiles: 1, - }, true) - if err != nil { - t.Fatal(err) - } - utils.Logger, _ = utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID) - utils.Logger.SetLogLevel(7) - filterSChan := make(chan *engine.FilterS, 1) - filterSChan <- nil - srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} - cM := engine.NewConnManager(cfg) - db := NewDataDBService(cfg, cM, srvDep) - db.oldDBCfg = &config.DataDbCfg{ - Type: utils.Mongo, - Host: "127.0.0.1", - Port: "27017", - Name: "10", - User: "cgrates", - Opts: map[string]interface{}{ - utils.MongoQueryTimeoutCfg: "10s", - utils.RedisClusterOnDownDelayCfg: "0", - utils.RedisClusterSyncCfg: "5s", - utils.RedisClusterCfg: false, - utils.RedisSentinelNameCfg: "", - utils.RedisTLSCfg: false, - utils.RedisClientCertificateCfg: "", - utils.RedisClientKeyCfg: "", - utils.RedisCACertificateCfg: "", - }, - RmtConns: []string{}, - RplConns: []string{}, - Items: map[string]*config.ItemOpt{ - utils.MetaAccounts: { - Replicate: false, - Remote: false}, - utils.MetaActions: { - Replicate: false, - Remote: false}, - utils.MetaCronExp: { - Replicate: false, - Remote: false}, - utils.MetaResourceProfile: { - Replicate: false, - Remote: false}, - utils.MetaStatQueues: { - Replicate: false, - Remote: false}, - utils.MetaResources: { - Replicate: false, - Remote: false}, - utils.MetaStatQueueProfiles: { - Replicate: false, - Remote: false}, - utils.MetaThresholds: { - Replicate: false, - Remote: false}, - utils.MetaThresholdProfiles: { - Replicate: false, - Remote: false}, - utils.MetaFilters: { - Replicate: false, - Remote: false}, - utils.MetaRouteProfiles: { - Replicate: false, - Remote: false}, - utils.MetaAttributeProfiles: { - Replicate: false, - Remote: false}, - utils.MetaDispatcherHosts: { - Replicate: false, - Remote: false}, - utils.MetaChargerProfiles: { - Replicate: false, - Remote: false}, - utils.MetaDispatcherProfiles: { - Replicate: false, - Remote: false}, - utils.MetaLoadIDs: { - Replicate: false, - Remote: false}, - utils.MetaIndexes: { - Replicate: false, - Remote: false}, - utils.MetaRateProfiles: { - Replicate: false, - Remote: false}, - utils.MetaActionProfiles: { - Replicate: false, - Remote: false}, - }, - } - cfg.DataDbCfg().Opts[utils.MongoQueryTimeoutCfg] = true - db.dm = nil - ctx, cancel := context.WithCancel(context.TODO()) - err = db.Reload(ctx, cancel) - if err == nil || err.Error() != "cannot convert field: true to time.Duration" { - t.Fatal(err) - } - - cancel() - time.Sleep(10 * time.Millisecond) -} - func TestDataDBStartSessionSCfgErr(t *testing.T) { cfg := config.NewDefaultCGRConfig() srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} @@ -780,16 +616,9 @@ func TestDataDBReloadError(t *testing.T) { Port: "27017", Name: "10", User: "cgrates", - Opts: map[string]interface{}{ - utils.MongoQueryTimeoutCfg: "10s", - utils.RedisClusterOnDownDelayCfg: "0", - utils.RedisClusterSyncCfg: "5s", - utils.RedisClusterCfg: false, - utils.RedisSentinelNameCfg: "", - utils.RedisTLSCfg: false, - utils.RedisClientCertificateCfg: "", - utils.RedisClientKeyCfg: "", - utils.RedisCACertificateCfg: "", + Opts: &config.DataDBOpts{ + MongoQueryTimeout: 10 * time.Second, + RedisClusterSync: 5 * time.Second, }, RmtConns: []string{}, RplConns: []string{}, diff --git a/services/stordb_it_test.go b/services/stordb_it_test.go index d0af86c4e..5b34c5dda 100644 --- a/services/stordb_it_test.go +++ b/services/stordb_it_test.go @@ -367,109 +367,6 @@ func TestStorDBReloadNewStorDBConnError(t *testing.T) { cancel() } -func TestStorDBReloadCanCastError(t *testing.T) { - cfg := config.NewDefaultCGRConfig() - utils.Logger, _ = utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID) - utils.Logger.SetLogLevel(7) - filterSChan := make(chan *engine.FilterS, 1) - filterSChan <- nil - cfg.ChargerSCfg().Enabled = true - srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} - cfg.StorDbCfg().Password = "CGRateS.org" - cfg.StorDbCfg().Type = utils.Mongo - stordb := NewStorDBService(cfg, srvDep) - stordb.cfg.StorDbCfg().Opts = map[string]interface{}{ - utils.MongoQueryTimeoutCfg: false, - } - stordb.db = &engine.MongoStorage{} - stordb.oldDBCfg = cfg.StorDbCfg().Clone() - ctx, cancel := context.WithCancel(context.TODO()) - err := stordb.Reload(ctx, cancel) - if err == nil || err.Error() != "cannot convert field: false to time.Duration" { - t.Errorf("\nExpecting <%+v>,\n Received <%+v>", "cannot convert field: false to time.Duration", err) - } - cancel() -} - -func TestStorDBReloadIfaceAsTIntMaxOpenConnsCfgError(t *testing.T) { - cfg := config.NewDefaultCGRConfig() - utils.Logger, _ = utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID) - utils.Logger.SetLogLevel(7) - filterSChan := make(chan *engine.FilterS, 1) - filterSChan <- nil - cfg.ChargerSCfg().Enabled = true - srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} - cfg.StorDbCfg().Password = "CGRateS.org" - cfg.StorDbCfg().Type = utils.MySQL - stordb := NewStorDBService(cfg, srvDep) - stordb.cfg.StorDbCfg().Opts = map[string]interface{}{ - utils.SQLMaxOpenConnsCfg: false, - } - stordb.db = &engine.SQLStorage{} - stordb.oldDBCfg = cfg.StorDbCfg().Clone() - ctx, cancel := context.WithCancel(context.TODO()) - err := stordb.Reload(ctx, cancel) - expected := "cannot convert field: false to int" - if err == nil || err.Error() != expected { - t.Errorf("\nExpecting <%+v>,\n Received <%+v>", expected, err) - } - cancel() -} - -func TestStorDBReloadIfaceAsTIntConnMaxLifetimeCfgError(t *testing.T) { - cfg := config.NewDefaultCGRConfig() - utils.Logger, _ = utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID) - utils.Logger.SetLogLevel(7) - filterSChan := make(chan *engine.FilterS, 1) - filterSChan <- nil - cfg.ChargerSCfg().Enabled = true - srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} - cfg.StorDbCfg().Password = "CGRateS.org" - cfg.StorDbCfg().Type = utils.MySQL - stordb := NewStorDBService(cfg, srvDep) - stordb.cfg.StorDbCfg().Opts = map[string]interface{}{ - utils.SQLMaxOpenConnsCfg: 1, - utils.SQLMaxIdleConnsCfg: 1, - utils.SQLConnMaxLifetimeCfg: false, - } - stordb.db = &engine.SQLStorage{} - stordb.oldDBCfg = cfg.StorDbCfg().Clone() - ctx, cancel := context.WithCancel(context.TODO()) - err := stordb.Reload(ctx, cancel) - expected := "cannot convert field: false to int" - if err == nil || err.Error() != expected { - t.Errorf("\nExpecting <%+v>,\n Received <%+v>", expected, err) - } - cancel() -} - -func TestStorDBReloadIfaceAsTIntMaxIdleConnsCfgError(t *testing.T) { - cfg := config.NewDefaultCGRConfig() - utils.Logger, _ = utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID) - utils.Logger.SetLogLevel(7) - filterSChan := make(chan *engine.FilterS, 1) - filterSChan <- nil - cfg.ChargerSCfg().Enabled = true - srvDep := map[string]*sync.WaitGroup{utils.DataDB: new(sync.WaitGroup)} - cfg.StorDbCfg().Password = "CGRateS.org" - cfg.StorDbCfg().Type = utils.MySQL - stordb := NewStorDBService(cfg, srvDep) - stordb.cfg.StorDbCfg().Opts = map[string]interface{}{ - utils.SQLMaxOpenConnsCfg: 1, - utils.SQLMaxIdleConnsCfg: false, - utils.SQLConnMaxLifetimeCfg: 1, - } - stordb.db = &engine.SQLStorage{} - stordb.oldDBCfg = cfg.StorDbCfg().Clone() - ctx, cancel := context.WithCancel(context.TODO()) - err := stordb.Reload(ctx, cancel) - expected := "cannot convert field: false to int" - if err == nil || err.Error() != expected { - t.Errorf("\nExpecting <%+v>,\n Received <%+v>", expected, err) - } - cancel() -} - func TestStorDBReloadStartDBError(t *testing.T) { cfg := config.NewDefaultCGRConfig() utils.Logger, _ = utils.Newlogger(utils.MetaSysLog, cfg.GeneralCfg().NodeID)