From 4aa45461afa4cdf3e5ddead52e84e3a4031375b0 Mon Sep 17 00:00:00 2001 From: Trial97 Date: Tue, 15 Jan 2019 16:18:22 +0200 Subject: [PATCH] Switched dmOut with dmIn when checking version for migration --- migrator/action.go | 2 +- migrator/action_it_test.go | 2 -- migrator/action_plan.go | 2 +- migrator/action_plan_it_test.go | 22 ++++++++++++++++++++++ migrator/action_trigger.go | 2 +- migrator/attributes.go | 2 +- migrator/attributes_it_test.go | 26 +++++++++++++++++++++++++- migrator/chargers.go | 2 +- migrator/derived_chargers.go | 2 +- migrator/destinations.go | 2 +- migrator/dispatchers.go | 2 +- migrator/filters.go | 2 +- migrator/rating_plan.go | 2 +- migrator/rating_profile.go | 2 +- migrator/resource.go | 2 +- migrator/storage_mongo_datadb.go | 8 +++++++- migrator/storage_redis.go | 2 +- migrator/subscribers.go | 2 +- migrator/suppliers.go | 2 +- migrator/timings.go | 2 +- migrator/user.go | 2 +- 21 files changed, 71 insertions(+), 21 deletions(-) diff --git a/migrator/action.go b/migrator/action.go index 5cd9f5fbb..c418fc431 100644 --- a/migrator/action.go +++ b/migrator/action.go @@ -104,7 +104,7 @@ func (m *Migrator) migrateV1Actions() (err error) { func (m *Migrator) migrateActions() (err error) { var vrs engine.Versions current := engine.CurrentDataDBVersions() - vrs, err = m.dmOut.DataManager().DataDB().GetVersions("") + vrs, err = m.dmIN.DataManager().DataDB().GetVersions("") if err != nil { return utils.NewCGRError(utils.Migrator, utils.ServerErrorCaps, diff --git a/migrator/action_it_test.go b/migrator/action_it_test.go index d06cf2e86..6c2833ec5 100644 --- a/migrator/action_it_test.go +++ b/migrator/action_it_test.go @@ -116,7 +116,6 @@ func TestActionITMoveEncoding(t *testing.T) { } } -/* func TestActionITMigrateMongo2Redis(t *testing.T) { var err error actPathIn = path.Join(*dataDir, "conf", "samples", "tutmongo") @@ -134,7 +133,6 @@ func TestActionITMigrateMongo2Redis(t *testing.T) { t.Run("TestActionITMigrateMongo2Redis", stest) } } -*/ func TestActionITMoveEncoding2(t *testing.T) { var err error diff --git a/migrator/action_plan.go b/migrator/action_plan.go index b2b822847..a44b459f9 100644 --- a/migrator/action_plan.go +++ b/migrator/action_plan.go @@ -112,7 +112,7 @@ func (m *Migrator) migrateV1ActionPlans() (err error) { func (m *Migrator) migrateActionPlans() (err error) { var vrs engine.Versions current := engine.CurrentDataDBVersions() - vrs, err = m.dmOut.DataManager().DataDB().GetVersions("") + vrs, err = m.dmIN.DataManager().DataDB().GetVersions("") if err != nil { return utils.NewCGRError(utils.Migrator, utils.ServerErrorCaps, diff --git a/migrator/action_plan_it_test.go b/migrator/action_plan_it_test.go index 0a927b40f..f6e07c8f2 100644 --- a/migrator/action_plan_it_test.go +++ b/migrator/action_plan_it_test.go @@ -98,6 +98,24 @@ func TestActionPlanITMove(t *testing.T) { } } +func TestActionPlanITMigrateMongo2Redis(t *testing.T) { + var err error + actPlnPathIn = path.Join(*dataDir, "conf", "samples", "tutmongo") + actPlnCfgIn, err = config.NewCGRConfigFromFolder(actPlnPathIn) + if err != nil { + t.Fatal(err) + } + actPlnPathOut = path.Join(*dataDir, "conf", "samples", "tutmysql") + actPlnCfgOut, err = config.NewCGRConfigFromFolder(actPlnPathOut) + if err != nil { + t.Fatal(err) + } + actActionPlan = utils.Migrate + for _, stest := range sTestsActPlnIT { + t.Run("TestActionPlanITMigrateMongo2Redis", stest) + } +} + func TestActionPlanITMoveEncoding(t *testing.T) { var err error actPlnPathIn = path.Join(*dataDir, "conf", "samples", "tutmongo") @@ -164,6 +182,10 @@ func testActPlnITFlush(t *testing.T) { if err := engine.SetDBVersions(actPlnMigrator.dmOut.DataManager().DataDB()); err != nil { t.Error("Error ", err.Error()) } + actPlnMigrator.dmIN.DataManager().DataDB().Flush("") + if err := engine.SetDBVersions(actPlnMigrator.dmIN.DataManager().DataDB()); err != nil { + t.Error("Error ", err.Error()) + } } func testActPlnITMigrateAndMove(t *testing.T) { diff --git a/migrator/action_trigger.go b/migrator/action_trigger.go index fb7f5b313..9816c8004 100644 --- a/migrator/action_trigger.go +++ b/migrator/action_trigger.go @@ -116,7 +116,7 @@ func (m *Migrator) migrateV1ActionTrigger() (err error) { func (m *Migrator) migrateActionTriggers() (err error) { var vrs engine.Versions current := engine.CurrentDataDBVersions() - vrs, err = m.dmOut.DataManager().DataDB().GetVersions("") + vrs, err = m.dmIN.DataManager().DataDB().GetVersions("") if err != nil { return utils.NewCGRError(utils.Migrator, utils.ServerErrorCaps, diff --git a/migrator/attributes.go b/migrator/attributes.go index 5f20aa807..8189bef27 100644 --- a/migrator/attributes.go +++ b/migrator/attributes.go @@ -115,7 +115,7 @@ func (m *Migrator) migrateV1Attributes() (err error) { func (m *Migrator) migrateAttributeProfile() (err error) { var vrs engine.Versions current := engine.CurrentDataDBVersions() - vrs, err = m.dmOut.DataManager().DataDB().GetVersions("") + vrs, err = m.dmIN.DataManager().DataDB().GetVersions("") if err != nil { return utils.NewCGRError(utils.Migrator, utils.ServerErrorCaps, diff --git a/migrator/attributes_it_test.go b/migrator/attributes_it_test.go index 1b0d9dc72..616604c08 100755 --- a/migrator/attributes_it_test.go +++ b/migrator/attributes_it_test.go @@ -99,6 +99,24 @@ func TestAttributeITMove1(t *testing.T) { } } +func TestAttributeITMigrateMongo2Redis(t *testing.T) { + var err error + attrPathIn = path.Join(*dataDir, "conf", "samples", "tutmongo") + attrCfgIn, err = config.NewCGRConfigFromFolder(attrPathIn) + if err != nil { + t.Fatal(err) + } + attrPathOut = path.Join(*dataDir, "conf", "samples", "tutmysql") + attrCfgOut, err = config.NewCGRConfigFromFolder(attrPathOut) + if err != nil { + t.Fatal(err) + } + attrAction = utils.Migrate + for _, stest := range sTestsAttrIT { + t.Run("TestAttributeITMigrateMongo2Redis", stest) + } +} + func TestAttributeITMove2(t *testing.T) { var err error attrPathIn = path.Join(*dataDir, "conf", "samples", "tutmysql") @@ -187,6 +205,9 @@ func testAttrITFlush(t *testing.T) { } else if isEmpty != true { t.Errorf("\nExpecting: true got :%+v", isEmpty) } + if err := engine.SetDBVersions(attrMigrator.dmOut.DataManager().DataDB()); err != nil { + t.Error("Error ", err.Error()) + } if err := attrMigrator.dmIN.DataManager().DataDB().Flush(""); err != nil { t.Error(err) } @@ -195,6 +216,9 @@ func testAttrITFlush(t *testing.T) { } else if isEmpty != true { t.Errorf("\nExpecting: true got :%+v", isEmpty) } + if err := engine.SetDBVersions(attrMigrator.dmIN.DataManager().DataDB()); err != nil { + t.Error("Error ", err.Error()) + } } func testAttrITMigrateAndMove(t *testing.T) { @@ -298,7 +322,7 @@ func testAttrITMigrateAndMove(t *testing.T) { result, err := attrMigrator.dmOut.DataManager().GetAttributeProfile("cgrates.org", "ATTR_1", false, false, utils.NonTransactional) if err != nil { - t.Error(err) + t.Fatal(err) } result.Compile() attrPrf.Compile() diff --git a/migrator/chargers.go b/migrator/chargers.go index 98cae1e78..dd6423e62 100755 --- a/migrator/chargers.go +++ b/migrator/chargers.go @@ -55,7 +55,7 @@ func (m *Migrator) migrateCurrentCharger() (err error) { func (m *Migrator) migrateChargers() (err error) { var vrs engine.Versions current := engine.CurrentDataDBVersions() - vrs, err = m.dmOut.DataManager().DataDB().GetVersions("") + vrs, err = m.dmIN.DataManager().DataDB().GetVersions("") if err != nil { return utils.NewCGRError(utils.Migrator, utils.ServerErrorCaps, diff --git a/migrator/derived_chargers.go b/migrator/derived_chargers.go index b72bf8389..0393d07ae 100644 --- a/migrator/derived_chargers.go +++ b/migrator/derived_chargers.go @@ -53,7 +53,7 @@ func (m *Migrator) migrateCurrentDerivedChargers() (err error) { func (m *Migrator) migrateDerivedChargers() (err error) { var vrs engine.Versions current := engine.CurrentDataDBVersions() - vrs, err = m.dmOut.DataManager().DataDB().GetVersions("") + vrs, err = m.dmIN.DataManager().DataDB().GetVersions("") if err != nil { return utils.NewCGRError(utils.Migrator, utils.ServerErrorCaps, diff --git a/migrator/destinations.go b/migrator/destinations.go index 93eeb9826..fc31461aa 100644 --- a/migrator/destinations.go +++ b/migrator/destinations.go @@ -53,7 +53,7 @@ func (m *Migrator) migrateCurrentDestinations() (err error) { func (m *Migrator) migrateDestinations() (err error) { var vrs engine.Versions current := engine.CurrentDataDBVersions() - vrs, err = m.dmOut.DataManager().DataDB().GetVersions("") + vrs, err = m.dmIN.DataManager().DataDB().GetVersions("") if err != nil { return utils.NewCGRError(utils.Migrator, utils.ServerErrorCaps, diff --git a/migrator/dispatchers.go b/migrator/dispatchers.go index 4869990d2..e0da36d74 100644 --- a/migrator/dispatchers.go +++ b/migrator/dispatchers.go @@ -59,7 +59,7 @@ func (m *Migrator) migrateCurrentDispatcher() (err error) { func (m *Migrator) migrateDispatchers() (err error) { var vrs engine.Versions current := engine.CurrentDataDBVersions() - vrs, err = m.dmOut.DataManager().DataDB().GetVersions("") + vrs, err = m.dmIN.DataManager().DataDB().GetVersions("") if err != nil { return utils.NewCGRError(utils.Migrator, utils.ServerErrorCaps, diff --git a/migrator/filters.go b/migrator/filters.go index 348769ec3..b07eaac43 100644 --- a/migrator/filters.go +++ b/migrator/filters.go @@ -55,7 +55,7 @@ func (m *Migrator) migrateCurrentRequestFilter() (err error) { func (m *Migrator) migrateRequestFilter() (err error) { var vrs engine.Versions current := engine.CurrentDataDBVersions() - vrs, err = m.dmOut.DataManager().DataDB().GetVersions("") + vrs, err = m.dmIN.DataManager().DataDB().GetVersions("") if err != nil { return utils.NewCGRError(utils.Migrator, utils.ServerErrorCaps, diff --git a/migrator/rating_plan.go b/migrator/rating_plan.go index 05b43b84b..dadbc809c 100644 --- a/migrator/rating_plan.go +++ b/migrator/rating_plan.go @@ -53,7 +53,7 @@ func (m *Migrator) migrateCurrentRatingPlans() (err error) { func (m *Migrator) migrateRatingPlans() (err error) { var vrs engine.Versions current := engine.CurrentDataDBVersions() - vrs, err = m.dmOut.DataManager().DataDB().GetVersions("") + vrs, err = m.dmIN.DataManager().DataDB().GetVersions("") if err != nil { return utils.NewCGRError(utils.Migrator, utils.ServerErrorCaps, diff --git a/migrator/rating_profile.go b/migrator/rating_profile.go index 35d376d6d..4f6cf84b0 100644 --- a/migrator/rating_profile.go +++ b/migrator/rating_profile.go @@ -53,7 +53,7 @@ func (m *Migrator) migrateCurrentRatingProfiles() (err error) { func (m *Migrator) migrateRatingProfiles() (err error) { var vrs engine.Versions current := engine.CurrentDataDBVersions() - vrs, err = m.dmOut.DataManager().DataDB().GetVersions("") + vrs, err = m.dmIN.DataManager().DataDB().GetVersions("") if err != nil { return utils.NewCGRError(utils.Migrator, utils.ServerErrorCaps, diff --git a/migrator/resource.go b/migrator/resource.go index bf5427f93..03d9ec58a 100644 --- a/migrator/resource.go +++ b/migrator/resource.go @@ -55,7 +55,7 @@ func (m *Migrator) migrateCurrentResource() (err error) { func (m *Migrator) migrateResources() (err error) { var vrs engine.Versions current := engine.CurrentDataDBVersions() - vrs, err = m.dmOut.DataManager().DataDB().GetVersions("") + vrs, err = m.dmIN.DataManager().DataDB().GetVersions("") if err != nil { return utils.NewCGRError(utils.Migrator, utils.ServerErrorCaps, diff --git a/migrator/storage_mongo_datadb.go b/migrator/storage_mongo_datadb.go index 07b489521..7ee13bb4e 100644 --- a/migrator/storage_mongo_datadb.go +++ b/migrator/storage_mongo_datadb.go @@ -376,9 +376,15 @@ func (v1ms *mongoMigrator) getV1Alias() (v1a *v1Alias, err error) { return nil, utils.ErrNoMoreData } v1a = new(v1Alias) - if err := (*v1ms.cursor).Decode(v1a); err != nil { + var kv struct { + Key string + Value v1AliasValues + } + if err := (*v1ms.cursor).Decode(&kv); err != nil { return nil, err } + v1a.Values = kv.Value + v1a.SetId(kv.Key) return v1a, nil } diff --git a/migrator/storage_redis.go b/migrator/storage_redis.go index 426a32e0b..e1dff68df 100644 --- a/migrator/storage_redis.go +++ b/migrator/storage_redis.go @@ -486,7 +486,7 @@ func (v1rs *redisMigrator) getV1Alias() (v1a *v1Alias, err error) { if err != nil { return } else if len(v1rs.dataKeys) == 0 { - return nil, utils.ErrNotFound + return nil, utils.ErrNoMoreData } v1rs.qryIdx = utils.IntPointer(0) } diff --git a/migrator/subscribers.go b/migrator/subscribers.go index 1888cd07a..62e8c1d54 100644 --- a/migrator/subscribers.go +++ b/migrator/subscribers.go @@ -46,7 +46,7 @@ func (m *Migrator) migrateCurrentSubscribers() (err error) { func (m *Migrator) migrateSubscribers() (err error) { var vrs engine.Versions current := engine.CurrentDataDBVersions() - vrs, err = m.dmOut.DataManager().DataDB().GetVersions("") + vrs, err = m.dmIN.DataManager().DataDB().GetVersions("") if err != nil { return utils.NewCGRError(utils.Migrator, utils.ServerErrorCaps, diff --git a/migrator/suppliers.go b/migrator/suppliers.go index 5dcfad0e1..85b1523de 100644 --- a/migrator/suppliers.go +++ b/migrator/suppliers.go @@ -55,7 +55,7 @@ func (m *Migrator) migrateCurrentSupplierProfile() (err error) { func (m *Migrator) migrateSupplierProfiles() (err error) { var vrs engine.Versions current := engine.CurrentDataDBVersions() - vrs, err = m.dmOut.DataManager().DataDB().GetVersions("") + vrs, err = m.dmIN.DataManager().DataDB().GetVersions("") if err != nil { return utils.NewCGRError(utils.Migrator, utils.ServerErrorCaps, diff --git a/migrator/timings.go b/migrator/timings.go index 34a59397c..c9ba0377f 100644 --- a/migrator/timings.go +++ b/migrator/timings.go @@ -53,7 +53,7 @@ func (m *Migrator) migrateCurrentTiming() (err error) { func (m *Migrator) migrateTimings() (err error) { var vrs engine.Versions current := engine.CurrentDataDBVersions() - vrs, err = m.dmOut.DataManager().DataDB().GetVersions("") + vrs, err = m.dmIN.DataManager().DataDB().GetVersions("") if err != nil { return utils.NewCGRError(utils.Migrator, utils.ServerErrorCaps, diff --git a/migrator/user.go b/migrator/user.go index 2a22c69c7..3b37c8e15 100644 --- a/migrator/user.go +++ b/migrator/user.go @@ -53,7 +53,7 @@ func (m *Migrator) migrateCurrentUser() (err error) { func (m *Migrator) migrateUser() (err error) { var vrs engine.Versions current := engine.CurrentDataDBVersions() - vrs, err = m.dmOut.DataManager().DataDB().GetVersions("") + vrs, err = m.dmIN.DataManager().DataDB().GetVersions("") if err != nil { return utils.NewCGRError(utils.Migrator, utils.ServerErrorCaps,