From 5c4bf0e538e5d8650a41e918f3a331bf331da3f8 Mon Sep 17 00:00:00 2001 From: gezimbll Date: Fri, 3 Mar 2023 11:11:58 -0500 Subject: [PATCH] changing db type constants with leading * --- apier/v1/versions_it_test.go | 4 ++-- cmd/cgr-loader/cgr-loader_it_test.go | 6 +++--- config/config.go | 10 +++++----- config/config_test.go | 24 ++++++++++++------------ config/configsanity.go | 2 +- config/configsanity_test.go | 2 +- config/datadbcfg.go | 6 +++++- config/migratorcfg.go | 13 +++++++++++-- config/migratorcfg_test.go | 12 ++++++------ config/stordbcfg.go | 6 +++++- config/stordbcfg_test.go | 6 +++--- engine/libtest.go | 6 ++++-- engine/storage_mongo_stordb.go | 2 +- engine/storage_mysql.go | 2 +- engine/storage_postgres.go | 2 +- engine/storage_redis.go | 2 +- engine/storage_utils.go | 18 +++++++++--------- engine/version.go | 16 ++++++++-------- engine/version_test.go | 28 ++++++++++++++-------------- engine/z_stordb_it_test.go | 4 ++-- engine/z_versions_it_test.go | 6 +++--- migrator/accounts2_it_test.go | 6 +++--- migrator/action_plan.go | 2 +- migrator/migrator.go | 12 ++++++------ migrator/migrator_utils.go | 18 +++++++++--------- migrator/storage_sql.go | 4 ++-- services/datadb.go | 4 ++-- services/datadb_it_test.go | 10 +++++----- services/datadb_test.go | 2 +- services/stordb.go | 8 ++++---- utils/consts.go | 1 + 31 files changed, 132 insertions(+), 112 deletions(-) diff --git a/apier/v1/versions_it_test.go b/apier/v1/versions_it_test.go index aed13d27b..e1ccb1188 100644 --- a/apier/v1/versions_it_test.go +++ b/apier/v1/versions_it_test.go @@ -61,10 +61,10 @@ func TestVrsIT(t *testing.T) { t.SkipNow() // as is commented below case utils.MetaMySQL: vrsConfigDIR = "tutmysql" - vrsStorageType = utils.Redis + vrsStorageType = utils.MetaRedis case utils.MetaMongo: vrsConfigDIR = "tutmongo" - vrsStorageType = utils.Mongo + vrsStorageType = utils.MetaMongo case utils.MetaPostgres: t.SkipNow() default: diff --git a/cmd/cgr-loader/cgr-loader_it_test.go b/cmd/cgr-loader/cgr-loader_it_test.go index 17744b4d1..236544e3d 100644 --- a/cmd/cgr-loader/cgr-loader_it_test.go +++ b/cmd/cgr-loader/cgr-loader_it_test.go @@ -50,7 +50,7 @@ var ( func TestLoadConfig(t *testing.T) { // DataDb *cfgPath = path.Join(*dataDir, "conf", "samples", "tutmongo") - *dataDBType = utils.Meta + utils.Redis + *dataDBType = utils.MetaRedis *dataDBHost = "localhost" *dataDBPort = "2012" *dataDBName = "100" @@ -59,7 +59,7 @@ func TestLoadConfig(t *testing.T) { *dbRedisSentinel = "sentinel1" *dbRedisConnectTimeout = 5 * time.Second expDBcfg := &config.DataDbCfg{ - Type: utils.Redis, + Type: utils.MetaRedis, Host: "localhost", Port: "2012", Name: "100", @@ -87,7 +87,7 @@ func TestLoadConfig(t *testing.T) { *storDBUser = "10" *storDBPasswd = "toor" expStorDB := &config.StorDbCfg{ - Type: utils.Postgres, + Type: utils.MetaPostgres, Host: "localhost", Port: "2012", Name: "cgrates2", diff --git a/config/config.go b/config/config.go index 514a83da1..469dbedfb 100644 --- a/config/config.go +++ b/config/config.go @@ -50,23 +50,23 @@ var ( func newDbDefaults() dbDefaults { deflt := dbDefaults{ - utils.MySQL: map[string]string{ + utils.MetaMySQL: map[string]string{ "DbName": "cgrates", "DbPort": "3306", }, - utils.Postgres: map[string]string{ + utils.MetaPostgres: map[string]string{ "DbName": "cgrates", "DbPort": "5432", }, - utils.Mongo: map[string]string{ + utils.MetaMongo: map[string]string{ "DbName": "cgrates", "DbPort": "27017", }, - utils.Redis: map[string]string{ + utils.MetaRedis: map[string]string{ "DbName": "10", "DbPort": "6379", }, - utils.Internal: map[string]string{ + utils.MetaInternal: map[string]string{ "DbName": "internal", "DbPort": "internal", }, diff --git a/config/config_test.go b/config/config_test.go index 0413b8e1a..96321615a 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -101,14 +101,14 @@ func TestCgrCfgDataDBPortWithoutDynamic(t *testing.T) { jsnCfg := ` { "data_db": { - "db_type": "mongo", + "db_type": "*mongo", } }` if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(jsnCfg); err != nil { t.Error(err) - } else if cgrCfg.DataDbCfg().Type != utils.Mongo { - t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().Type, utils.Mongo) + } else if cgrCfg.DataDbCfg().Type != utils.MetaMongo { + t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().Type, utils.MetaMongo) } else if cgrCfg.DataDbCfg().Port != "6379" { t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().Port, "6379") } @@ -132,15 +132,15 @@ func TestCgrCfgDataDBPortWithDymanic(t *testing.T) { jsnCfg := ` { "data_db": { - "db_type": "mongo", + "db_type": "*mongo", "db_port": -1, } }` if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(jsnCfg); err != nil { t.Error(err) - } else if cgrCfg.DataDbCfg().Type != utils.Mongo { - t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().Type, utils.Mongo) + } else if cgrCfg.DataDbCfg().Type != utils.MetaMongo { + t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().Type, utils.MetaMongo) } else if cgrCfg.DataDbCfg().Port != "27017" { t.Errorf("Expected: %+v, received: %+v", cgrCfg.DataDbCfg().Port, "27017") } @@ -171,8 +171,8 @@ func TestCgrCfgStorDBPortWithoutDynamic(t *testing.T) { if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(jsnCfg); err != nil { t.Error(err) - } else if cgrCfg.StorDbCfg().Type != utils.Mongo { - t.Errorf("Expected: %+v, received: %+v", cgrCfg.StorDbCfg().Type, utils.Mongo) + } else if cgrCfg.StorDbCfg().Type != utils.MetaMongo { + t.Errorf("Expected: %+v, received: %+v", cgrCfg.StorDbCfg().Type, utils.MetaMongo) } else if cgrCfg.StorDbCfg().Port != "3306" { t.Errorf("Expected: %+v, received: %+v", cgrCfg.StorDbCfg().Port, "3306") } @@ -189,8 +189,8 @@ func TestCgrCfgStorDBPortWithDymanic(t *testing.T) { if cgrCfg, err := NewCGRConfigFromJSONStringWithDefaults(jsnCfg); err != nil { t.Error(err) - } else if cgrCfg.StorDbCfg().Type != utils.Mongo { - t.Errorf("Expected: %+v, received: %+v", cgrCfg.StorDbCfg().Type, utils.Mongo) + } else if cgrCfg.StorDbCfg().Type != utils.MetaMongo { + t.Errorf("Expected: %+v, received: %+v", cgrCfg.StorDbCfg().Type, utils.MetaMongo) } else if cgrCfg.StorDbCfg().Port != "27017" { t.Errorf("Expected: %+v, received: %+v", cgrCfg.StorDbCfg().Port, "27017") } @@ -928,7 +928,7 @@ func TestRadiusAgentCfg(t *testing.T) { func TestDbDefaultsMetaDynamic(t *testing.T) { dbdf := newDbDefaults() flagInput := utils.MetaDynamic - dbs := []string{utils.Mongo, utils.Redis, utils.MySQL, utils.Internal} + dbs := []string{utils.MetaMongo, utils.MetaRedis, utils.MetaMySQL, utils.MetaInternal} for _, dbtype := range dbs { port := dbdf.dbPort(dbtype, flagInput) if port != dbdf[dbtype]["DbPort"] { @@ -943,7 +943,7 @@ func TestDbDefaultsMetaDynamic(t *testing.T) { func TestDbDefaults(t *testing.T) { dbdf := newDbDefaults() - dbs := []string{utils.Mongo, utils.Redis, utils.MySQL, utils.Internal, utils.Postgres} + dbs := []string{utils.MetaMongo, utils.MetaRedis, utils.MetaMySQL, utils.MetaInternal, utils.MetaPostgres} for _, dbtype := range dbs { port := dbdf.dbPort(dbtype, "1234") if port != "1234" { diff --git a/config/configsanity.go b/config/configsanity.go index a44cb5754..4b26ffd31 100644 --- a/config/configsanity.go +++ b/config/configsanity.go @@ -891,7 +891,7 @@ func (cfg *CGRConfig) checkConfigSanity() error { } } // StorDB sanity checks - if cfg.storDbCfg.Type == utils.Postgres { + if cfg.storDbCfg.Type == utils.MetaPostgres { if !utils.IsSliceMember([]string{utils.PostgresSSLModeDisable, utils.PostgressSSLModeAllow, utils.PostgresSSLModePrefer, utils.PostgressSSLModeRequire, utils.PostgresSSLModeVerifyCa, utils.PostgresSSLModeVerifyFull}, cfg.storDbCfg.Opts.PgSSLMode) { diff --git a/config/configsanity_test.go b/config/configsanity_test.go index b530a301a..939dbbf4e 100644 --- a/config/configsanity_test.go +++ b/config/configsanity_test.go @@ -1672,7 +1672,7 @@ func TestConfigSanityRegistrarCDispatcher(t *testing.T) { func TestConfigSanityStorDB(t *testing.T) { cfg = NewDefaultCGRConfig() cfg.storDbCfg = &StorDbCfg{ - Type: utils.Postgres, + Type: utils.MetaPostgres, Opts: &StorDBOpts{ PgSSLMode: "wrongSSLMode", }, diff --git a/config/datadbcfg.go b/config/datadbcfg.go index c7dac23be..42180dbab 100644 --- a/config/datadbcfg.go +++ b/config/datadbcfg.go @@ -128,7 +128,11 @@ func (dbcfg *DataDbCfg) loadFromJSONCfg(jsnDbCfg *DbJsonCfg) (err error) { return } if jsnDbCfg.Db_type != nil { - dbcfg.Type = strings.TrimPrefix(*jsnDbCfg.Db_type, "*") + if !strings.HasPrefix(*jsnDbCfg.Db_type, "*") { + dbcfg.Type = fmt.Sprintf("*%v", *jsnDbCfg.Db_type) + } else { + dbcfg.Type = *jsnDbCfg.Db_type + } } if jsnDbCfg.Db_host != nil { dbcfg.Host = *jsnDbCfg.Db_host diff --git a/config/migratorcfg.go b/config/migratorcfg.go index 9079ad442..0843a6048 100644 --- a/config/migratorcfg.go +++ b/config/migratorcfg.go @@ -19,6 +19,7 @@ along with this program. If not, see package config import ( + "fmt" "strings" "github.com/cgrates/cgrates/utils" @@ -49,7 +50,11 @@ func (mg *MigratorCgrCfg) loadFromJSONCfg(jsnCfg *MigratorCfgJson) (err error) { return } if jsnCfg.Out_dataDB_type != nil { - mg.OutDataDBType = strings.TrimPrefix(*jsnCfg.Out_dataDB_type, "*") + if !strings.HasPrefix(*jsnCfg.Out_dataDB_type, "*") { + mg.OutDataDBType = fmt.Sprintf("*%v", *jsnCfg.Out_dataDB_type) + } else { + mg.OutDataDBType = *jsnCfg.Out_dataDB_type + } } if jsnCfg.Out_dataDB_host != nil { mg.OutDataDBHost = *jsnCfg.Out_dataDB_host @@ -70,7 +75,11 @@ func (mg *MigratorCgrCfg) loadFromJSONCfg(jsnCfg *MigratorCfgJson) (err error) { mg.OutDataDBEncoding = strings.TrimPrefix(*jsnCfg.Out_dataDB_encoding, "*") } if jsnCfg.Out_storDB_type != nil { - mg.OutStorDBType = *jsnCfg.Out_storDB_type + if !strings.HasPrefix(*jsnCfg.Out_storDB_type, "*") { + mg.OutStorDBType = fmt.Sprintf("*%v", *jsnCfg.Out_storDB_type) + } else { + mg.OutStorDBType = *jsnCfg.Out_storDB_type + } } if jsnCfg.Out_storDB_host != nil { mg.OutStorDBHost = *jsnCfg.Out_storDB_host diff --git a/config/migratorcfg_test.go b/config/migratorcfg_test.go index c839c88b6..7d4dee1a3 100644 --- a/config/migratorcfg_test.go +++ b/config/migratorcfg_test.go @@ -27,14 +27,14 @@ import ( func TestMigratorCgrCfgloadFromJsonCfg(t *testing.T) { cfgJSON := &MigratorCfgJson{ - Out_dataDB_type: utils.StringPointer(utils.Redis), + Out_dataDB_type: utils.StringPointer(utils.MetaRedis), Out_dataDB_host: utils.StringPointer("127.0.0.1"), Out_dataDB_port: utils.StringPointer("6379"), Out_dataDB_name: utils.StringPointer("10"), Out_dataDB_user: utils.StringPointer(utils.CGRateSLwr), Out_dataDB_password: utils.StringPointer(utils.EmptyString), Out_dataDB_encoding: utils.StringPointer(utils.MsgPack), - Out_storDB_type: utils.StringPointer(utils.MySQL), + Out_storDB_type: utils.StringPointer(utils.MetaMySQL), Out_storDB_host: utils.StringPointer("127.0.0.1"), Out_storDB_port: utils.StringPointer("3306"), Out_storDB_name: utils.StringPointer(utils.CGRateSLwr), @@ -49,14 +49,14 @@ func TestMigratorCgrCfgloadFromJsonCfg(t *testing.T) { }, } expected := &MigratorCgrCfg{ - OutDataDBType: utils.Redis, + OutDataDBType: utils.MetaRedis, OutDataDBHost: "127.0.0.1", OutDataDBPort: "6379", OutDataDBName: "10", OutDataDBUser: utils.CGRateSLwr, OutDataDBPassword: utils.EmptyString, OutDataDBEncoding: utils.MsgPack, - OutStorDBType: utils.MySQL, + OutStorDBType: utils.MetaMySQL, OutStorDBHost: "127.0.0.1", OutStorDBPort: "3306", OutStorDBName: utils.CGRateSLwr, @@ -275,14 +275,14 @@ func TestMigratorCgrCfgAsMapInterface2(t *testing.T) { func TestMigratorCgrCfgClone(t *testing.T) { sa := &MigratorCgrCfg{ - OutDataDBType: utils.Redis, + OutDataDBType: utils.MetaRedis, OutDataDBHost: "127.0.0.1", OutDataDBPort: "6379", OutDataDBName: "10", OutDataDBUser: utils.CGRateSLwr, OutDataDBPassword: utils.EmptyString, OutDataDBEncoding: utils.MsgPack, - OutStorDBType: utils.MySQL, + OutStorDBType: utils.MetaMySQL, OutStorDBHost: "127.0.0.1", OutStorDBPort: "3306", OutStorDBName: utils.CGRateSLwr, diff --git a/config/stordbcfg.go b/config/stordbcfg.go index 99537313d..22dcdbf86 100644 --- a/config/stordbcfg.go +++ b/config/stordbcfg.go @@ -92,7 +92,11 @@ func (dbcfg *StorDbCfg) loadFromJSONCfg(jsnDbCfg *DbJsonCfg) (err error) { return nil } if jsnDbCfg.Db_type != nil { - dbcfg.Type = strings.TrimPrefix(*jsnDbCfg.Db_type, "*") + if !strings.HasPrefix(*jsnDbCfg.Db_type, "*") { + dbcfg.Type = fmt.Sprintf("*%v", *jsnDbCfg.Db_type) + } else { + dbcfg.Type = *jsnDbCfg.Db_type + } } if jsnDbCfg.Db_host != nil { dbcfg.Host = *jsnDbCfg.Db_host diff --git a/config/stordbcfg_test.go b/config/stordbcfg_test.go index e10dda541..4a25877ba 100644 --- a/config/stordbcfg_test.go +++ b/config/stordbcfg_test.go @@ -27,7 +27,7 @@ import ( func TestStoreDbCfgloadFromJsonCfgCase1(t *testing.T) { cfgJSON := &DbJsonCfg{ - Db_type: utils.StringPointer(utils.MySQL), + Db_type: utils.StringPointer(utils.MetaMySQL), Db_host: utils.StringPointer("127.0.0.1"), Db_port: utils.IntPointer(-1), Db_name: utils.StringPointer(utils.CGRateSLwr), @@ -56,7 +56,7 @@ func TestStoreDbCfgloadFromJsonCfgCase1(t *testing.T) { }, } expected := &StorDbCfg{ - Type: utils.MySQL, + Type: utils.MetaMySQL, Host: "127.0.0.1", Port: "-1", Name: utils.CGRateSLwr, @@ -289,7 +289,7 @@ func TestStorDbCfgAsMapInterface(t *testing.T) { func TestStorDbCfgClone(t *testing.T) { ban := &StorDbCfg{ - Type: utils.MySQL, + Type: utils.MetaMySQL, Host: "127.0.0.1", Port: "-1", Name: utils.CGRateSLwr, diff --git a/engine/libtest.go b/engine/libtest.go index 04d5d50b9..ff2b8a11c 100644 --- a/engine/libtest.go +++ b/engine/libtest.go @@ -27,6 +27,7 @@ import ( "os" "os/exec" "path" + "strings" "time" "github.com/cgrates/cgrates/config" @@ -314,11 +315,12 @@ func InitStorDb(cfg *config.CGRConfig) error { if err != nil { return err } + dbPath := strings.Trim(cfg.StorDbCfg().Type, "*") if err := storDb.Flush(path.Join(cfg.DataFolderPath, "storage", - cfg.StorDbCfg().Type)); err != nil { + dbPath)); err != nil { return err } - if utils.IsSliceMember([]string{utils.Mongo, utils.MySQL, utils.Postgres}, + if utils.IsSliceMember([]string{utils.MetaMongo, utils.MetaMySQL, utils.MetaPostgres}, cfg.StorDbCfg().Type) { if err := SetDBVersions(storDb); err != nil { return err diff --git a/engine/storage_mongo_stordb.go b/engine/storage_mongo_stordb.go index 7d0e484c2..291ecd7ed 100644 --- a/engine/storage_mongo_stordb.go +++ b/engine/storage_mongo_stordb.go @@ -1598,5 +1598,5 @@ func (ms *MongoStorage) RemoveVersions(vrs Versions) (err error) { } func (ms *MongoStorage) GetStorageType() string { - return utils.Mongo + return utils.MetaMongo } diff --git a/engine/storage_mysql.go b/engine/storage_mysql.go index dae6b5e4a..6dcf8465f 100644 --- a/engine/storage_mysql.go +++ b/engine/storage_mysql.go @@ -109,5 +109,5 @@ func (msqlS *MySQLStorage) notExtraFieldsValueQry(field, value string) string { } func (msqlS *MySQLStorage) GetStorageType() string { - return utils.MySQL + return utils.MetaMySQL } diff --git a/engine/storage_postgres.go b/engine/storage_postgres.go index 5a72706cf..91291ee6e 100644 --- a/engine/storage_postgres.go +++ b/engine/storage_postgres.go @@ -98,5 +98,5 @@ func (poS *PostgresStorage) notExtraFieldsValueQry(field, value string) string { } func (poS *PostgresStorage) GetStorageType() string { - return utils.Postgres + return utils.MetaPostgres } diff --git a/engine/storage_redis.go b/engine/storage_redis.go index 0d5285199..b3a6ec273 100644 --- a/engine/storage_redis.go +++ b/engine/storage_redis.go @@ -1124,7 +1124,7 @@ func (rs *RedisStorage) RemoveDispatcherHostDrv(tenant, id string) (err error) { } func (rs *RedisStorage) GetStorageType() string { - return utils.Redis + return utils.MetaRedis } func (rs *RedisStorage) GetItemLoadIDsDrv(itemIDPrefix string) (loadIDs map[string]int64, err error) { diff --git a/engine/storage_utils.go b/engine/storage_utils.go index b4ec76e8a..bcae67497 100644 --- a/engine/storage_utils.go +++ b/engine/storage_utils.go @@ -35,7 +35,7 @@ func NewDataDBConn(dbType, host, port, name, user, pass, marshaler string, opts *config.DataDBOpts, itmsCfg map[string]*config.ItemOpt) (d DataDB, err error) { switch dbType { - case utils.Redis: + case utils.MetaRedis: var dbNo int dbNo, err = strconv.Atoi(name) if err != nil { @@ -49,9 +49,9 @@ func NewDataDBConn(dbType, host, port, name, user, opts.RedisSentinel, opts.RedisCluster, opts.RedisClusterSync, opts.RedisClusterOndownDelay, opts.RedisConnectTimeout, opts.RedisReadTimeout, opts.RedisWriteTimeout, opts.RedisTLS, opts.RedisClientCertificate, opts.RedisClientKey, opts.RedisCACertificate) - case utils.Mongo: + case utils.MetaMongo: d, err = NewMongoStorage(host, port, name, user, pass, marshaler, utils.DataDB, nil, opts.MongoQueryTimeout) - case utils.Internal: + case utils.MetaInternal: d = NewInternalDB(nil, nil, true, itmsCfg) default: err = fmt.Errorf("unsupported db_type <%s>", dbType) @@ -64,19 +64,19 @@ func NewStorDBConn(dbType, host, port, name, user, pass, marshaler string, stringIndexedFields, prefixIndexedFields []string, opts *config.StorDBOpts, itmsCfg map[string]*config.ItemOpt) (db StorDB, err error) { switch dbType { - case utils.Mongo: + case utils.MetaMongo: db, err = NewMongoStorage(host, port, name, user, pass, marshaler, utils.StorDB, stringIndexedFields, opts.MongoQueryTimeout) - case utils.Postgres: + case utils.MetaPostgres: db, err = NewPostgresStorage(host, port, name, user, pass, opts.PgSSLMode, opts.SQLMaxOpenConns, opts.SQLMaxIdleConns, opts.SQLConnMaxLifetime) - case utils.MySQL: + case utils.MetaMySQL: db, err = NewMySQLStorage(host, port, name, user, pass, opts.SQLMaxOpenConns, opts.SQLMaxIdleConns, opts.SQLConnMaxLifetime, opts.MySQLLocation, opts.MySQLDSNParams) - case utils.Internal: + case utils.MetaInternal: db = NewInternalDB(stringIndexedFields, prefixIndexedFields, false, itmsCfg) default: - err = fmt.Errorf("unknown db '%s' valid options are [%s, %s, %s, %s]", - dbType, utils.MySQL, utils.Mongo, utils.Postgres, utils.Internal) + err = fmt.Errorf("unknown db 1'%s' valid options are [%s, %s, %s, %s]", + dbType, utils.MetaMySQL, utils.MetaMongo, utils.MetaPostgres, utils.MetaInternal) } return } diff --git a/engine/version.go b/engine/version.go index ba509b4c8..aa8456e54 100644 --- a/engine/version.go +++ b/engine/version.go @@ -123,17 +123,17 @@ func OverwriteDBVersions(storage Storage) (err error) { func (vers Versions) Compare(curent Versions, storType string, isDataDB bool) string { var message map[string]string switch storType { - case utils.Mongo: + case utils.MetaMongo: if isDataDB { message = dataDBVers } else { message = storDBVers } - case utils.Internal: + case utils.MetaInternal: message = allVers - case utils.Postgres, utils.MySQL: + case utils.MetaPostgres, utils.MetaMySQL: message = storDBVers - case utils.Redis: + case utils.MetaRedis: message = dataDBVers } for subsis, reason := range message { @@ -217,16 +217,16 @@ func CurrentAllDBVersions() Versions { // CurrentDBVersions returns versions based on dbType func CurrentDBVersions(storType string, isDataDB bool) Versions { switch storType { - case utils.Mongo: + case utils.MetaMongo: if isDataDB { return CurrentDataDBVersions() } return CurrentStorDBVersions() - case utils.Internal: + case utils.MetaInternal: return CurrentAllDBVersions() - case utils.Postgres, utils.MySQL: + case utils.MetaPostgres, utils.MetaMySQL: return CurrentStorDBVersions() - case utils.Redis: + case utils.MetaRedis: return CurrentDataDBVersions() } return nil diff --git a/engine/version_test.go b/engine/version_test.go index d0a20eb4c..b7ca3c4be 100644 --- a/engine/version_test.go +++ b/engine/version_test.go @@ -49,37 +49,37 @@ func TestVersionCompare(t *testing.T) { utils.SharedGroups: 2, utils.CostDetails: 2, utils.SessionSCosts: 2} - message1 := y.Compare(x, utils.Mongo, true) + message1 := y.Compare(x, utils.MetaMongo, true) if message1 != "cgr-migrator -exec=*accounts" { t.Errorf("Error failed to compare to curent version expected: %s received: %s", "cgr-migrator -exec=*accounts", message1) } - message2 := z.Compare(x, utils.Mongo, true) + message2 := z.Compare(x, utils.MetaMongo, true) if message2 != "cgr-migrator -exec=*action_plans" { t.Errorf("Error failed to compare to curent version expected: %s received: %s", "cgr-migrator -exec=*action_plans", message2) } - message3 := q.Compare(x, utils.Mongo, true) + message3 := q.Compare(x, utils.MetaMongo, true) if message3 != "cgr-migrator -exec=*shared_groups" { t.Errorf("Error failed to compare to curent version expected: %s received: %s", "cgr-migrator -exec=*shared_groups", message3) } - message4 := c.Compare(x, utils.Mongo, false) + message4 := c.Compare(x, utils.MetaMongo, false) if message4 != "cgr-migrator -exec=*cost_details" { t.Errorf("Error failed to compare to curent version expected: %s received: %s", "cgr-migrator -exec=*cost_details", message4) } - message5 := a.Compare(b, utils.MySQL, false) + message5 := a.Compare(b, utils.MetaMySQL, false) if message5 != "cgr-migrator -exec=*sessions_costs" { t.Errorf("Error failed to compare to curent version expected: %s received: %s", "cgr-migrator -exec=*sessions_costs", message5) } - message6 := a.Compare(b, utils.Postgres, false) + message6 := a.Compare(b, utils.MetaPostgres, false) if message6 != "cgr-migrator -exec=*sessions_costs" { t.Errorf("Error failed to compare to curent version expected: %s received: %s", "cgr-migrator -exec=*sessions_costs", message6) } - message7 := y.Compare(x, utils.Redis, true) + message7 := y.Compare(x, utils.MetaRedis, true) if message7 != "cgr-migrator -exec=*accounts" { t.Errorf("Error failed to compare to curent version expected: %s received: %s", "cgr-migrator -exec=*accounts", message7) } y[utils.Accounts] = 2 - message8 := y.Compare(x, utils.Redis, true) + message8 := y.Compare(x, utils.MetaRedis, true) if message8 != utils.EmptyString { t.Errorf("Expected %+v, received %+v", utils.EmptyString, message8) } @@ -105,19 +105,19 @@ func TestCurrentDBVersions(t *testing.T) { utils.TpResource: 1, utils.TpDestinations: 1, utils.TpRatingPlan: 1, utils.TpRatingProfile: 1, utils.TpChargers: 1, utils.TpDispatchers: 1, } - if vrs := CurrentDBVersions(utils.Mongo, true); !reflect.DeepEqual(expVersDataDB, vrs) { + if vrs := CurrentDBVersions(utils.MetaMongo, true); !reflect.DeepEqual(expVersDataDB, vrs) { t.Errorf("Expectred %+v, received %+v", expVersDataDB, vrs) } - if vrs := CurrentDBVersions(utils.Mongo, false); !reflect.DeepEqual(expVersStorDB, vrs) { + if vrs := CurrentDBVersions(utils.MetaMongo, false); !reflect.DeepEqual(expVersStorDB, vrs) { t.Errorf("Expectred %+v, received %+v", expVersStorDB, vrs) } - if vrs := CurrentDBVersions(utils.Postgres, false); !reflect.DeepEqual(expVersStorDB, vrs) { + if vrs := CurrentDBVersions(utils.MetaPostgres, false); !reflect.DeepEqual(expVersStorDB, vrs) { t.Errorf("Expectred %+v, received %+v", expVersStorDB, vrs) } - if vrs := CurrentDBVersions(utils.Redis, true); !reflect.DeepEqual(expVersDataDB, vrs) { + if vrs := CurrentDBVersions(utils.MetaRedis, true); !reflect.DeepEqual(expVersDataDB, vrs) { t.Errorf("Expectred %+v, received %+v", expVersDataDB, vrs) } @@ -127,7 +127,7 @@ func TestCurrentDBVersions(t *testing.T) { //Compare AllVersions expStr := "cgr-migrator" - if rcv := expVersDataDB.Compare(expVersStorDB, utils.Internal, true); !strings.Contains(rcv, expStr) { + if rcv := expVersDataDB.Compare(expVersStorDB, utils.MetaInternal, true); !strings.Contains(rcv, expStr) { t.Errorf("Expected %+v, received %+v", expStr, rcv) } } @@ -188,7 +188,7 @@ func (sM *storageMock) SelectDatabase(dbName string) (err error) { func (sM *storageMock) GetStorageType() string { switch sM.testcase { case "Compare returns non-nil message": - return utils.Postgres + return utils.MetaPostgres } return "" } diff --git a/engine/z_stordb_it_test.go b/engine/z_stordb_it_test.go index d0f441e25..015924c88 100644 --- a/engine/z_stordb_it_test.go +++ b/engine/z_stordb_it_test.go @@ -130,14 +130,14 @@ func TestStorDBit(t *testing.T) { func testStorDBitIsDBEmpty(t *testing.T) { x := storDB.GetStorageType() switch x { - case utils.Mongo: + case utils.MetaMongo: test, err := storDB.IsDBEmpty() if err != nil { t.Error(err) } else if test != true { t.Errorf("Expecting: true got :%+v", test) } - case utils.Postgres, utils.MySQL: + case utils.MetaPostgres, utils.MetaMySQL: test, err := storDB.IsDBEmpty() if err != nil { t.Error(err) diff --git a/engine/z_versions_it_test.go b/engine/z_versions_it_test.go index 9f2b00e05..3de1784a9 100644 --- a/engine/z_versions_it_test.go +++ b/engine/z_versions_it_test.go @@ -152,7 +152,7 @@ func testVersion(t *testing.T) { testVersion = allVersions testVersion[utils.Accounts] = 1 test = "Migration needed: please backup cgr data and run : " - case utils.Mongo, utils.Redis: + case utils.MetaMongo, utils.MetaRedis: currentVersion = dataDbVersions testVersion = dataDbVersions testVersion[utils.Accounts] = 1 @@ -189,12 +189,12 @@ func testVersion(t *testing.T) { } storType = storageDb.GetStorageType() switch storType { - case utils.Internal: + case utils.MetaInternal: currentVersion = allVersions testVersion = allVersions testVersion[utils.Accounts] = 1 test = "Migration needed: please backup cgr data and run : " - case utils.Mongo, utils.Postgres, utils.MySQL: + case utils.MetaMongo, utils.MetaPostgres, utils.MetaMySQL: currentVersion = storDbVersions testVersion = allVersions testVersion[utils.CostDetails] = 1 diff --git a/migrator/accounts2_it_test.go b/migrator/accounts2_it_test.go index 0f7b861db..882646e9d 100644 --- a/migrator/accounts2_it_test.go +++ b/migrator/accounts2_it_test.go @@ -124,13 +124,13 @@ func testAcc2ITFlush(t *testing.T) { if err := engine.SetDBVersions(acc2Migrator.dmIN.DataManager().DataDB()); err != nil { t.Error("Error ", err.Error()) } - if acc2Migrator.dmOut.DataManager().DataDB().GetStorageType() != utils.Redis { + if acc2Migrator.dmOut.DataManager().DataDB().GetStorageType() != utils.MetaRedis { t.Errorf("Unexpected datadb type : %+v", acc2Migrator.dmOut.DataManager().DataDB().GetStorageType()) } - if acc2Migrator.storDBIn.StorDB().GetStorageType() != utils.Internal { + if acc2Migrator.storDBIn.StorDB().GetStorageType() != utils.MetaInternal { t.Errorf("Unexpected datadb type : %+v", acc2Migrator.storDBIn.StorDB().GetStorageType()) } - if acc2Migrator.storDBOut.StorDB().GetStorageType() != utils.Internal { + if acc2Migrator.storDBOut.StorDB().GetStorageType() != utils.MetaInternal { t.Errorf("Unexpected datadb type : %+v", acc2Migrator.storDBOut.StorDB().GetStorageType()) } } diff --git a/migrator/action_plan.go b/migrator/action_plan.go index be986e912..80c2b825c 100644 --- a/migrator/action_plan.go +++ b/migrator/action_plan.go @@ -102,7 +102,7 @@ func (m *Migrator) migrateActionPlans() (err error) { if vrs, err = m.getVersions(utils.ActionPlans); err != nil { return } - if m.dmIN.DataManager().DataDB().GetStorageType() == utils.Redis { // if redis rebuild action plans indexes + if m.dmIN.DataManager().DataDB().GetStorageType() == utils.MetaRedis { // if redis rebuild action plans indexes redisDB, can := m.dmIN.DataManager().DataDB().(*engine.RedisStorage) if !can { return fmt.Errorf("Storage type %s could not be casted to <*engine.RedisStorage>", m.dmIN.DataManager().DataDB().GetStorageType()) diff --git a/migrator/migrator.go b/migrator/migrator.go index bd639d7f8..709da5540 100644 --- a/migrator/migrator.go +++ b/migrator/migrator.go @@ -88,22 +88,22 @@ func (m *Migrator) Migrate(taskIDs []string) (err error, stats map[string]int) { fmt.Sprintf("error: <%s> when seting versions for StorDB", err.Error())), nil } case utils.MetaEnsureIndexes: - if m.storDBOut.StorDB().GetStorageType() == utils.Mongo { + if m.storDBOut.StorDB().GetStorageType() == utils.MetaMongo { mgo := m.storDBOut.StorDB().(*engine.MongoStorage) if err = mgo.EnsureIndexes(); err != nil { return } } else { - log.Printf("The StorDB type has to be %s .\n ", utils.Mongo) + log.Printf("The StorDB type has to be %s .\n ", utils.MetaMongo) } - if m.dmOut.DataManager().DataDB().GetStorageType() == utils.Mongo { + if m.dmOut.DataManager().DataDB().GetStorageType() == utils.MetaMongo { mgo := m.dmOut.DataManager().DataDB().(*engine.MongoStorage) if err = mgo.EnsureIndexes(); err != nil { return } } else { - log.Printf("The DataDB type has to be %s .\n ", utils.Mongo) + log.Printf("The DataDB type has to be %s .\n ", utils.MetaMongo) } case utils.MetaCDRs: err = m.migrateCDRs() @@ -333,7 +333,7 @@ func (m *Migrator) Migrate(taskIDs []string) (err error, stats map[string]int) { } func (m *Migrator) ensureIndexesDataDB(cols ...string) error { - if m.dmOut.DataManager().DataDB().GetStorageType() != utils.Mongo { + if m.dmOut.DataManager().DataDB().GetStorageType() != utils.MetaMongo { return nil } mgo := m.dmOut.DataManager().DataDB().(*engine.MongoStorage) @@ -341,7 +341,7 @@ func (m *Migrator) ensureIndexesDataDB(cols ...string) error { } func (m *Migrator) ensureIndexesStorDB(cols ...string) error { - if m.storDBOut.StorDB().GetStorageType() != utils.Mongo { + if m.storDBOut.StorDB().GetStorageType() != utils.MetaMongo { return nil } mgo := m.storDBOut.StorDB().(*engine.MongoStorage) diff --git a/migrator/migrator_utils.go b/migrator/migrator_utils.go index 033062464..321970260 100644 --- a/migrator/migrator_utils.go +++ b/migrator/migrator_utils.go @@ -41,15 +41,15 @@ func NewMigratorDataDB(db_type, host, port, name, user, pass, } dm := engine.NewDataManager(dbCon, cacheCfg, nil) switch db_type { - case utils.Redis: + case utils.MetaRedis: db = newRedisMigrator(dm) - case utils.Mongo: + case utils.MetaMongo: db = newMongoMigrator(dm) - case utils.Internal: + case utils.MetaInternal: db = newInternalMigrator(dm) default: err = fmt.Errorf("unknown db '%s' valid options are '%s' or '%s or '%s'", - db_type, utils.Redis, utils.Mongo, utils.Internal) + db_type, utils.MetaRedis, utils.MetaMongo, utils.MetaInternal) } return } @@ -63,17 +63,17 @@ func NewMigratorStorDB(db_type, host, port, name, user, pass, marshaler string, return } switch db_type { - case utils.Mongo: + case utils.MetaMongo: db = newMongoStorDBMigrator(storDb) - case utils.MySQL: + case utils.MetaMySQL: db = newMigratorSQL(storDb) - case utils.Postgres: + case utils.MetaPostgres: db = newMigratorSQL(storDb) - case utils.Internal: + case utils.MetaInternal: db = newInternalStorDBMigrator(storDb) default: err = fmt.Errorf("Unknown db '%s' valid options are [%s, %s, %s, %s]", - db_type, utils.MySQL, utils.Mongo, utils.Postgres, utils.Internal) + db_type, utils.MetaMySQL, utils.MetaMongo, utils.MetaPostgres, utils.MetaInternal) } return } diff --git a/migrator/storage_sql.go b/migrator/storage_sql.go index 3b42dd3ed..33c443eb3 100644 --- a/migrator/storage_sql.go +++ b/migrator/storage_sql.go @@ -97,7 +97,7 @@ func (mgSQL *migratorSQL) remV1CDRs(v1Cdr *v1Cdrs) (err error) { func (mgSQL *migratorSQL) renameV1SMCosts() (err error) { qry := "RENAME TABLE sm_costs TO session_costs;" - if mgSQL.StorDB().GetStorageType() == utils.Postgres { + if mgSQL.StorDB().GetStorageType() == utils.MetaPostgres { qry = "ALTER TABLE sm_costs RENAME TO session_costs" } if _, err := mgSQL.sqlStorage.Db.Exec(qry); err != nil { @@ -108,7 +108,7 @@ func (mgSQL *migratorSQL) renameV1SMCosts() (err error) { func (mgSQL *migratorSQL) createV1SMCosts() (err error) { qry := "CREATE TABLE sm_costs ( id int(11) NOT NULL AUTO_INCREMENT, cgrid varchar(40) NOT NULL, run_id varchar(64) NOT NULL, origin_host varchar(64) NOT NULL, origin_id varchar(128) NOT NULL, cost_source varchar(64) NOT NULL, `usage` BIGINT NOT NULL, cost_details MEDIUMTEXT, created_at TIMESTAMP NULL,deleted_at TIMESTAMP NULL, PRIMARY KEY (`id`),UNIQUE KEY costid (cgrid, run_id),KEY origin_idx (origin_host, origin_id),KEY run_origin_idx (run_id, origin_id),KEY deleted_at_idx (deleted_at));" - if mgSQL.StorDB().GetStorageType() == utils.Postgres { + if mgSQL.StorDB().GetStorageType() == utils.MetaPostgres { qry = ` CREATE TABLE sm_costs ( id SERIAL PRIMARY KEY, diff --git a/services/datadb.go b/services/datadb.go index d7d8cbbdc..3a65aa21a 100644 --- a/services/datadb.go +++ b/services/datadb.go @@ -93,7 +93,7 @@ func (db *DataDBService) Reload() (err error) { db.oldDBCfg = db.cfg.DataDbCfg().Clone() return } - if db.cfg.DataDbCfg().Type == utils.Mongo { + if db.cfg.DataDbCfg().Type == utils.MetaMongo { mgo, canCast := db.dm.DataDB().(*engine.MongoStorage) if !canCast { return fmt.Errorf("can't conver DataDB of type %s to MongoStorage", @@ -165,7 +165,7 @@ func (db *DataDBService) needsConnectionReload() bool { } } } - return db.oldDBCfg.Type == utils.Redis && + return db.oldDBCfg.Type == utils.MetaRedis && (db.oldDBCfg.Opts.RedisMaxConns != db.cfg.DataDbCfg().Opts.RedisMaxConns || db.oldDBCfg.Opts.RedisConnectAttempts != db.cfg.DataDbCfg().Opts.RedisConnectAttempts || db.oldDBCfg.Opts.RedisSentinel != db.cfg.DataDbCfg().Opts.RedisSentinel || diff --git a/services/datadb_it_test.go b/services/datadb_it_test.go index 2cee8a55c..d92344579 100644 --- a/services/datadb_it_test.go +++ b/services/datadb_it_test.go @@ -83,7 +83,7 @@ func TestDataDBReload(t *testing.T) { t.Errorf("\nExpecting <%+v>,\n Received <%+v>", db.dm, getDm) } oldcfg := &config.DataDbCfg{ - Type: utils.Mongo, + Type: utils.MetaMongo, Host: "127.0.0.1", Port: "27017", Name: "10", @@ -211,7 +211,7 @@ func TestDataDBReloadBadType(t *testing.T) { cM := engine.NewConnManager(cfg, nil) db := NewDataDBService(cfg, cM, srvDep) db.oldDBCfg = &config.DataDbCfg{ - Type: utils.Mongo, + Type: utils.MetaMongo, Host: "127.0.0.1", Port: "27017", Name: "10", @@ -333,7 +333,7 @@ func TestDataDBReloadErrorMarsheler(t *testing.T) { t.Errorf("Expected service to be down") } db.oldDBCfg = &config.DataDbCfg{ - Type: utils.Mongo, + Type: utils.MetaMongo, Host: "127.0.0.1", Port: "27017", Name: "10", @@ -550,7 +550,7 @@ func TestDataDBReloadCastError(t *testing.T) { cM := engine.NewConnManager(cfg, nil) db := NewDataDBService(cfg, cM, srvDep) db.oldDBCfg = &config.DataDbCfg{ - Type: utils.Mongo, + Type: utils.MetaMongo, Host: "127.0.0.1", Port: "27017", Name: "10", @@ -691,7 +691,7 @@ func TestDataDBReloadError(t *testing.T) { db := NewDataDBService(cfg, cM, srvDep) cfg.GeneralCfg().DBDataEncoding = utils.JSON db.oldDBCfg = &config.DataDbCfg{ - Type: utils.Mongo, + Type: utils.MetaMongo, Host: "127.0.0.1", Port: "27017", Name: "10", diff --git a/services/datadb_test.go b/services/datadb_test.go index d1f157ad9..331b4b2d9 100644 --- a/services/datadb_test.go +++ b/services/datadb_test.go @@ -48,7 +48,7 @@ func TestDataDBCoverage(t *testing.T) { t.Errorf("Expected service to be running") } oldcfg := &config.DataDbCfg{ - Type: utils.Mongo, + Type: utils.MetaMongo, Host: "127.0.0.1", Port: "27017", Name: "10", diff --git a/services/stordb.go b/services/stordb.go index c2e8f0672..1e137e380 100644 --- a/services/stordb.go +++ b/services/stordb.go @@ -94,15 +94,15 @@ func (db *StorDBService) Reload() (err error) { db.sync() // sync only if needed return } - if db.cfg.StorDbCfg().Type == utils.Mongo { + if db.cfg.StorDbCfg().Type == utils.MetaMongo { mgo, canCast := db.db.(*engine.MongoStorage) if !canCast { return fmt.Errorf("can't conver StorDB of type %s to MongoStorage", db.cfg.StorDbCfg().Type) } mgo.SetTTL(db.cfg.StorDbCfg().Opts.MongoQueryTimeout) - } else if db.cfg.StorDbCfg().Type == utils.Postgres || - db.cfg.StorDbCfg().Type == utils.MySQL { + } else if db.cfg.StorDbCfg().Type == utils.MetaPostgres || + db.cfg.StorDbCfg().Type == utils.MetaMySQL { msql, canCast := db.db.(*engine.SQLStorage) if !canCast { return fmt.Errorf("can't conver StorDB of type %s to SQLStorage", @@ -187,6 +187,6 @@ func (db *StorDBService) needsConnectionReload() bool { db.oldDBCfg.Password != db.cfg.StorDbCfg().Password { return true } - return db.cfg.StorDbCfg().Type == utils.Postgres && + return db.cfg.StorDbCfg().Type == utils.MetaPostgres && db.oldDBCfg.Opts.PgSSLMode != db.cfg.StorDbCfg().Opts.PgSSLMode } diff --git a/utils/consts.go b/utils/consts.go index 6fe50ef76..d4f73b3bd 100644 --- a/utils/consts.go +++ b/utils/consts.go @@ -246,6 +246,7 @@ const ( FWV = "fwv" MetaCombimed = "*combimed" MetaMongo = "*mongo" + MetaRedis = "*redis" MetaPostgres = "*postgres" MetaInternal = "*internal" MetaLocalHost = "*localhost"