Repair unit tests after making stor and datadb opts into structs

This commit is contained in:
ionutboangiu
2022-07-12 17:54:22 +03:00
committed by Dan Christian Bogos
parent 62e878574e
commit 93d931176e
5 changed files with 97 additions and 34 deletions

View File

@@ -166,8 +166,8 @@ const CGRATES_CFG_JSON = `
"sqlMaxIdleConns": 10, // maximum database connections idle, not applying for mongo
"sqlConnMaxLifetime": "0", // maximum amount of time a connection may be reused (0 for unlimited), not applying for mongo
"mysqlDSNParams": {}, // DSN extra paramss
"mongoQueryTimeout":"10s", // timeout for query when mongo is used
"pgSSLMode":"disable", // pgSSLMode in case of *postgres
"mongoQueryTimeout": "10s", // timeout for query when mongo is used
"pgSSLMode": "disable", // pgSSLMode in case of *postgres
"mysqlLocation": "Local", // the location the time from mysql is retrived
},
"items":{

File diff suppressed because one or more lines are too long

View File

@@ -105,10 +105,15 @@ func (mg *MigratorCgrCfg) loadFromJSONCfg(jsnCfg *MigratorCfgJson) (err error) {
// AsMapInterface returns the config as a map[string]interface{}
func (mg *MigratorCgrCfg) AsMapInterface() (initialMP map[string]interface{}) {
outDataDBOpts := map[string]interface{}{
utils.RedisMaxConnsCfg: mg.OutDataDBOpts.RedisMaxConns,
utils.RedisConnectAttemptsCfg: mg.OutDataDBOpts.RedisConnectAttempts,
utils.RedisSentinelNameCfg: mg.OutDataDBOpts.RedisSentinel,
utils.RedisClusterCfg: mg.OutDataDBOpts.RedisCluster,
utils.RedisClusterSyncCfg: mg.OutDataDBOpts.RedisClusterSync.String(),
utils.RedisClusterOnDownDelayCfg: mg.OutDataDBOpts.RedisClusterOndownDelay.String(),
utils.RedisConnectTimeoutCfg: mg.OutDataDBOpts.RedisConnectTimeout.String(),
utils.RedisReadTimeoutCfg: mg.OutDataDBOpts.RedisReadTimeout.String(),
utils.RedisWriteTimeoutCfg: mg.OutDataDBOpts.RedisWriteTimeout.String(),
utils.MongoQueryTimeoutCfg: mg.OutDataDBOpts.MongoQueryTimeout.String(),
utils.RedisTLS: mg.OutDataDBOpts.RedisTLS,
utils.RedisClientCertificate: mg.OutDataDBOpts.RedisClientCertificate,

View File

@@ -98,10 +98,17 @@ func TestMigratorCgrCfgAsMapInterface(t *testing.T) {
"out_datadb_opts":{
"redisCluster": true,
"redisClusterSync": "2s",
"redisClusterOndownDelay": "1",
"redisClusterOndownDelay": "1",
"redisReadTimeout": "3s",
"redisWriteTimeout": "3s",
"redisMaxConns": 5,
"redisConnectAttempts": 15,
},
"out_stordb_opts":{
"redisCluster": true,
"mysqlDSNParams": {
"key": "value",
},
"pgSSLMode": "disable"
},
},
}`
@@ -121,13 +128,27 @@ func TestMigratorCgrCfgAsMapInterface(t *testing.T) {
utils.OutStorDBPasswordCfg: "",
utils.UsersFiltersCfg: []string{"users", "filters", "Account"},
utils.OutStorDBOptsCfg: map[string]interface{}{
utils.RedisClusterCfg: true,
utils.MongoQueryTimeoutCfg: "0s",
utils.MYSQLDSNParams: map[string]string{
"key": "value",
},
utils.MysqlLocation: utils.EmptyString,
utils.PgSSLModeCfg: "disable",
utils.SQLConnMaxLifetimeCfg: "0s",
utils.SQLMaxIdleConnsCfg: 0,
utils.SQLMaxOpenConnsCfg: 0,
},
utils.OutDataDBOptsCfg: map[string]interface{}{
utils.MongoQueryTimeoutCfg: "0s",
utils.RedisMaxConnsCfg: 5,
utils.RedisConnectAttemptsCfg: 15,
utils.RedisSentinelNameCfg: "",
utils.RedisClusterCfg: true,
utils.RedisClusterSyncCfg: "2s",
utils.RedisClusterOnDownDelayCfg: "1",
utils.RedisClusterOnDownDelayCfg: "1ns",
utils.RedisConnectTimeoutCfg: "0s",
utils.RedisReadTimeoutCfg: "3s",
utils.RedisWriteTimeoutCfg: "3s",
utils.RedisTLS: false,
utils.RedisClientCertificate: "",
utils.RedisClientKey: "",
@@ -147,6 +168,7 @@ func TestMigratorCgrCfgAsMapInterface1(t *testing.T) {
"users_filters":["users","filters","Account"],
"out_datadb_opts": {
"redisSentinel": "out_datadb_redis_sentinel",
"redisConnectTimeout": "5s",
},
},
}`
@@ -165,12 +187,26 @@ func TestMigratorCgrCfgAsMapInterface1(t *testing.T) {
utils.OutStorDBUserCfg: "cgrates",
utils.OutStorDBPasswordCfg: "out_stordb_password",
utils.UsersFiltersCfg: []string{"users", "filters", "Account"},
utils.OutStorDBOptsCfg: map[string]interface{}{},
utils.OutStorDBOptsCfg: map[string]interface{}{
utils.MongoQueryTimeoutCfg: "0s",
utils.MYSQLDSNParams: map[string]string(nil),
utils.MysqlLocation: utils.EmptyString,
utils.PgSSLModeCfg: utils.EmptyString,
utils.SQLConnMaxLifetimeCfg: "0s",
utils.SQLMaxIdleConnsCfg: 0,
utils.SQLMaxOpenConnsCfg: 0,
},
utils.OutDataDBOptsCfg: map[string]interface{}{
utils.MongoQueryTimeoutCfg: "0s",
utils.RedisMaxConnsCfg: 10,
utils.RedisConnectAttemptsCfg: 20,
utils.RedisSentinelNameCfg: "out_datadb_redis_sentinel",
utils.RedisClusterCfg: false,
utils.RedisClusterSyncCfg: "5s",
utils.RedisClusterOnDownDelayCfg: "0",
utils.RedisClusterOnDownDelayCfg: "0s",
utils.RedisConnectTimeoutCfg: "5s",
utils.RedisReadTimeoutCfg: "0s",
utils.RedisWriteTimeoutCfg: "0s",
utils.RedisTLS: false,
utils.RedisClientCertificate: "",
utils.RedisClientKey: "",
@@ -203,17 +239,26 @@ func TestMigratorCgrCfgAsMapInterface2(t *testing.T) {
utils.OutStorDBUserCfg: "cgrates",
utils.OutStorDBPasswordCfg: "",
utils.UsersFiltersCfg: []string{},
utils.OutStorDBOptsCfg: map[string]interface{}{},
utils.OutStorDBOptsCfg: map[string]interface{}{
utils.MongoQueryTimeoutCfg: "0s",
utils.MYSQLDSNParams: map[string]string(nil),
utils.MysqlLocation: utils.EmptyString,
utils.PgSSLModeCfg: utils.EmptyString,
utils.SQLConnMaxLifetimeCfg: "0s",
utils.SQLMaxIdleConnsCfg: 0,
utils.SQLMaxOpenConnsCfg: 0,
},
utils.OutDataDBOptsCfg: map[string]interface{}{
utils.RedisMaxConnsCfg: 10.,
utils.RedisConnectAttemptsCfg: 20.,
utils.MongoQueryTimeoutCfg: "0s",
utils.RedisMaxConnsCfg: 10,
utils.RedisConnectAttemptsCfg: 20,
utils.RedisSentinelNameCfg: "",
utils.RedisClusterCfg: false,
utils.RedisClusterSyncCfg: "5s",
utils.RedisClusterOnDownDelayCfg: "0",
utils.RedisConnectTimeoutCfg: "0",
utils.RedisReadTimeoutCfg: "0",
utils.RedisWriteTimeoutCfg: "0",
utils.RedisClusterOnDownDelayCfg: "0s",
utils.RedisConnectTimeoutCfg: "0s",
utils.RedisReadTimeoutCfg: "0s",
utils.RedisWriteTimeoutCfg: "0s",
utils.RedisTLS: false,
utils.RedisClientCertificate: "",
utils.RedisClientKey: "",
@@ -257,9 +302,7 @@ func TestMigratorCgrCfgClone(t *testing.T) {
MongoQueryTimeout: 10 * time.Second,
RedisTLS: false,
},
OutStorDBOpts: &StorDBOpts{
PgSSLMode: "disable",
},
OutStorDBOpts: &StorDBOpts{},
}
rcv := sa.Clone()
if !reflect.DeepEqual(sa, rcv) {

View File

@@ -210,10 +210,10 @@ func TestStorDbCfgAsMapInterface(t *testing.T) {
"opts": {
"sqlMaxOpenConns": 100,
"sqlMaxIdleConns": 10,
"sqlConnMaxLifetime": 0,
"sqlConnMaxLifetime": "0",
"mysqlDSNParams": {},
"mongoQueryTimeout":"10s",
"postgresSSLMode":"disable",
"pgSSLMode":"disable",
"mysqlLocation": "UTC",
},
"items":{
@@ -235,10 +235,10 @@ func TestStorDbCfgAsMapInterface(t *testing.T) {
utils.RemoteConnsCfg: []string{"*conn1"},
utils.ReplicationConnsCfg: []string{"*conn1"},
utils.OptsCfg: map[string]interface{}{
utils.SQLMaxOpenConnsCfg: 100.,
utils.SQLMaxIdleConnsCfg: 10.,
utils.SQLConnMaxLifetimeCfg: 0.,
utils.MYSQLDSNParams: make(map[string]interface{}),
utils.SQLMaxOpenConnsCfg: 100,
utils.SQLMaxIdleConnsCfg: 10,
utils.SQLConnMaxLifetimeCfg: "0s",
utils.MYSQLDSNParams: make(map[string]string),
utils.MongoQueryTimeoutCfg: "10s",
utils.PgSSLModeCfg: "disable",
utils.MysqlLocation: "UTC",
@@ -296,6 +296,7 @@ func TestStorDbCfgClone(t *testing.T) {
SQLConnMaxLifetime: 0,
MySQLDSNParams: make(map[string]string),
MySQLLocation: "UTC",
PgSSLMode: "disable",
},
}
rcv := ban.Clone()