From dd94117e5d3ad60506c7a742d3a309b3deff4e08 Mon Sep 17 00:00:00 2001 From: DanB Date: Wed, 1 Jun 2016 18:42:45 +0200 Subject: [PATCH] Test fixes for multiple cdrc, CheckVersion taking now db as input, InitDataDb saving also version --- apier/v1/apier_local_test.go | 2 +- cmd/cgr-engine/cgr-engine.go | 2 +- engine/libtest.go | 1 + engine/version.go | 11 +++++++---- general_tests/multiplecdrc_local_test.go | 25 ++++++++++++------------ 5 files changed, 22 insertions(+), 19 deletions(-) diff --git a/apier/v1/apier_local_test.go b/apier/v1/apier_local_test.go index 50e71ef13..34028cfd0 100644 --- a/apier/v1/apier_local_test.go +++ b/apier/v1/apier_local_test.go @@ -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) { diff --git a/cmd/cgr-engine/cgr-engine.go b/cmd/cgr-engine/cgr-engine.go index 1a1af55a1..8c0f62af0 100644 --- a/cmd/cgr-engine/cgr-engine.go +++ b/cmd/cgr-engine/cgr-engine.go @@ -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 } diff --git a/engine/libtest.go b/engine/libtest.go index 99877e0be..f45288566 100644 --- a/engine/libtest.go +++ b/engine/libtest.go @@ -48,6 +48,7 @@ func InitDataDb(cfg *config.CGRConfig) error { } } ratingDb.CacheRatingAll() + CheckVersion(accountDb) // Write version before starting return nil } diff --git a/engine/version.go b/engine/version.go index 08849db5c..6d69f6f6b 100644 --- a/engine/version.go +++ b/engine/version.go @@ -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 { diff --git a/general_tests/multiplecdrc_local_test.go b/general_tests/multiplecdrc_local_test.go index 651404bda..0804282a3 100644 --- a/general_tests/multiplecdrc_local_test.go +++ b/general_tests/multiplecdrc_local_test.go @@ -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) } }