mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Test fixes for multiple cdrc, CheckVersion taking now db as input, InitDataDb saving also version
This commit is contained in:
@@ -1274,7 +1274,7 @@ func TestApierLoadTariffPlanFromFolder(t *testing.T) {
|
||||
} else if reply != "OK" {
|
||||
t.Error("Calling ApierV1.LoadTariffPlanFromFolder got reply: ", reply)
|
||||
}
|
||||
time.Sleep(time.Duration(2**waitRater) * time.Millisecond)
|
||||
time.Sleep(time.Duration(3**waitRater) * time.Millisecond)
|
||||
}
|
||||
|
||||
func TestApierResetDataAfterLoadFromFolder(t *testing.T) {
|
||||
|
||||
@@ -508,7 +508,7 @@ func main() {
|
||||
}
|
||||
defer accountDb.Close()
|
||||
engine.SetAccountingStorage(accountDb)
|
||||
if err := engine.CheckVersion(); err != nil {
|
||||
if err := engine.CheckVersion(nil); err != nil {
|
||||
fmt.Println(err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
@@ -48,6 +48,7 @@ func InitDataDb(cfg *config.CGRConfig) error {
|
||||
}
|
||||
}
|
||||
ratingDb.CacheRatingAll()
|
||||
CheckVersion(accountDb) // Write version before starting
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -7,13 +7,16 @@ import (
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
)
|
||||
|
||||
func CheckVersion() error {
|
||||
func CheckVersion(acntDB AccountingStorage) error {
|
||||
// get current db version
|
||||
dbVersion, err := accountingStorage.GetStructVersion()
|
||||
if acntDB == nil {
|
||||
acntDB = accountingStorage
|
||||
}
|
||||
dbVersion, err := acntDB.GetStructVersion()
|
||||
if err != nil {
|
||||
if lhList, err := accountingStorage.GetLoadHistory(1, true); err != nil || len(lhList) == 0 {
|
||||
if lhList, err := acntDB.GetLoadHistory(1, true); err != nil || len(lhList) == 0 {
|
||||
// no data, write version
|
||||
if err := accountingStorage.SetStructVersion(CurrentVersion); err != nil {
|
||||
if err := acntDB.SetStructVersion(CurrentVersion); err != nil {
|
||||
utils.Logger.Warning(fmt.Sprintf("Could not write current version to db: %v", err))
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -77,23 +77,22 @@ func TestMCDRCLoadConfig(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// Remove data in both rating and accounting db
|
||||
func TestMCDRCResetDataDb(t *testing.T) {
|
||||
if !*testLocal {
|
||||
return
|
||||
}
|
||||
if err := engine.InitDataDb(cfg); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMCDRCEmptyTables(t *testing.T) {
|
||||
if !*testLocal {
|
||||
return
|
||||
}
|
||||
if *storDbType != utils.MYSQL {
|
||||
t.Fatal("Unsupported storDbType")
|
||||
}
|
||||
mysql, err := engine.NewMySQLStorage(cfg.StorDBHost, cfg.StorDBPort, cfg.StorDBName, cfg.StorDBUser, cfg.StorDBPass, cfg.StorDBMaxOpenConns, cfg.StorDBMaxIdleConns)
|
||||
if err != nil {
|
||||
t.Fatal("Error on opening database connection: ", err)
|
||||
}
|
||||
if err := mysql.CreateTablesFromScript(path.Join(*dataDir, "storage", *storDbType, utils.CREATE_CDRS_TABLES_SQL)); err != nil {
|
||||
t.Fatal("Error on mysql creation: ", err.Error())
|
||||
return // No point in going further
|
||||
}
|
||||
if _, err := mysql.Db.Query(fmt.Sprintf("SELECT 1 from %s", utils.TBL_CDRS)); err != nil {
|
||||
t.Fatal(err.Error())
|
||||
if err := engine.InitStorDb(cfg); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user