Add version check for sessions_cost and cdrs test in migrator

This commit is contained in:
TeoV
2018-05-08 05:03:46 -04:00
committed by Dan Christian Bogos
parent acba5c0f74
commit 90c9835c1e
4 changed files with 31 additions and 14 deletions

View File

@@ -130,7 +130,7 @@ type v1Cdrs struct {
CostDetails *engine.CallCost // Attach the cost details to CDR when possible
}
func (v1Cdr v1Cdrs) V1toV2Cdr() (cdr *engine.CDR) {
func (v1Cdr *v1Cdrs) V1toV2Cdr() (cdr *engine.CDR) {
cdr = &engine.CDR{
CGRID: v1Cdr.CGRID,
RunID: v1Cdr.RunID,
@@ -198,7 +198,7 @@ func NewV1CDRFromCDRSql(cdrSql *engine.CDRsql) (cdr *v1Cdrs, err error) {
return
}
func (cdr v1Cdrs) AsCDRsql() (cdrSql *engine.CDRsql) {
func (cdr *v1Cdrs) AsCDRsql() (cdrSql *engine.CDRsql) {
cdrSql = new(engine.CDRsql)
cdrSql.Cgrid = cdr.CGRID
cdrSql.RunID = cdr.RunID

View File

@@ -192,14 +192,18 @@ func testCdrITMigrateAndMove(t *testing.T) {
t.Error(err)
}
currentVersion := engine.Versions{
utils.COST_DETAILS: 2,
utils.SessionSCosts: 3,
utils.CDRs: 1,
utils.COST_DETAILS: 2,
utils.CDRs: 1,
}
err = cdrMigrator.storDBOut.SetVersions(currentVersion, false)
if err != nil {
t.Error("Error when setting version for CDRs ", err.Error())
}
if vrs, err := cdrMigrator.storDBOut.GetVersions(""); err != nil {
t.Error(err)
} else if vrs[utils.CDRs] != 1 {
t.Errorf("Unexpected version returned: %d", vrs[utils.CDRs])
}
err, _ = cdrMigrator.Migrate([]string{utils.MetaCDRs})
if err != nil {
t.Error("Error when migrating CDRs ", err.Error())
@@ -209,4 +213,9 @@ func testCdrITMigrateAndMove(t *testing.T) {
} else if len(rcvCDRs) != 1 {
t.Errorf("Unexpected number of CDRs returned: %d", len(rcvCDRs))
}
if vrs, err := cdrMigrator.storDBOut.GetVersions(""); err != nil {
t.Error(err)
} else if vrs[utils.CDRs] != 2 {
t.Errorf("Unexpected version returned: %d", vrs[utils.CDRs])
}
}

View File

@@ -87,7 +87,7 @@ func (m *Migrator) migrateSessionSCosts() (err error) {
return err
}
fallthrough // incremental updates
case 2: // Simply removing them should be enough since if the system is offline they are most probably stale already
case 2:
if err := m.migrateV2SessionSCosts(); err != nil {
return err
}
@@ -124,7 +124,7 @@ func (m *Migrator) migrateV2SessionSCosts() (err error) {
}
if m.dryRun != true {
// All done, update version wtih current one
vrs := engine.Versions{utils.CDRs: engine.CurrentStorDBVersions()[utils.SessionSCosts]}
vrs := engine.Versions{utils.SessionSCosts: engine.CurrentStorDBVersions()[utils.SessionSCosts]}
if err = m.storDBOut.SetVersions(vrs, false); err != nil {
return utils.NewCGRError(utils.Migrator,
utils.ServerErrorCaps,
@@ -145,7 +145,7 @@ type v2SessionsCost struct {
CostDetails *engine.CallCost
}
func (v2Cost v2SessionsCost) V2toV3Cost() (cost *engine.SMCost) {
func (v2Cost *v2SessionsCost) V2toV3Cost() (cost *engine.SMCost) {
cost = &engine.SMCost{
CGRID: v2Cost.CGRID,
RunID: v2Cost.RunID,
@@ -173,7 +173,7 @@ func NewV2SessionsCostFromSessionsCostSql(smSql *engine.SessionsCostsSQL) (smV2
return
}
func (v2Cost v2SessionsCost) AsSessionsCostSql() (smSql *engine.SessionsCostsSQL) {
func (v2Cost *v2SessionsCost) AsSessionsCostSql() (smSql *engine.SessionsCostsSQL) {
smSql = new(engine.SessionsCostsSQL)
smSql.Cgrid = v2Cost.CGRID
smSql.RunID = v2Cost.RunID

View File

@@ -190,21 +190,29 @@ func testSessionCostITMigrateAndMove(t *testing.T) {
t.Error(err)
}
currentVersion := engine.Versions{
utils.COST_DETAILS: 2,
utils.SessionSCosts: 2,
utils.CDRs: 1,
}
err = sCostMigrator.storDBOut.SetVersions(currentVersion, false)
if err != nil {
t.Error("Error when setting version for CDRs ", err.Error())
t.Error("Error when setting version for SessionsCosts ", err.Error())
}
if vrs, err := sCostMigrator.storDBOut.GetVersions(""); err != nil {
t.Error(err)
} else if vrs[utils.SessionSCosts] != 2 {
t.Errorf("Unexpected version returned: %d", vrs[utils.SessionSCosts])
}
err, _ = sCostMigrator.Migrate([]string{utils.MetaSessionsCosts})
if err != nil {
t.Error("Error when migrating CDRs ", err.Error())
t.Error("Error when migrating SessionsCosts ", err.Error())
}
if rcvCosts, err := sCostMigrator.storDBOut.GetSMCosts("", utils.DEFAULT_RUNID, "", ""); err != nil {
t.Error(err)
} else if len(rcvCosts) != 1 {
t.Errorf("Unexpected number of CDRs returned: %d", len(rcvCosts))
t.Errorf("Unexpected number of SessionsCosts returned: %d", len(rcvCosts))
}
if vrs, err := sCostMigrator.storDBOut.GetVersions(""); err != nil {
t.Error(err)
} else if vrs[utils.SessionSCosts] != 3 {
t.Errorf("Unexpected version returned: %d", vrs[utils.SessionSCosts])
}
}