From 18783cec4603b02fcaa26ac5019693a37daefcbf Mon Sep 17 00:00:00 2001 From: nickolasdaniel Date: Wed, 7 Jul 2021 11:57:33 +0300 Subject: [PATCH] Added tests for StorDB fields with 1+ versions --- engine/version.go | 1 + engine/z_versions_it_test.go | 66 ++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+) diff --git a/engine/version.go b/engine/version.go index a818fcc63..33cc9743d 100644 --- a/engine/version.go +++ b/engine/version.go @@ -43,6 +43,7 @@ var ( storDBVers = map[string]string{ utils.CostDetails: "cgr-migrator -exec=*cost_details", utils.SessionSCosts: "cgr-migrator -exec=*sessions_costs", + utils.CDRs: "cgr-migrator -exec=*cdrs", } allVers map[string]string // init will fill this with a merge of data+stor ) diff --git a/engine/z_versions_it_test.go b/engine/z_versions_it_test.go index 7f4534745..e17098f96 100644 --- a/engine/z_versions_it_test.go +++ b/engine/z_versions_it_test.go @@ -63,6 +63,9 @@ var ( testUpdateVersionsSubscribers, testUpdateVersionsThresholds, testUpdateVersionsTiming, + testUpdateVersionsCostDetails, + testUpdateVersionsSessionSCosts, + testUpdateVersionsCDRs, } ) @@ -251,6 +254,8 @@ func testVersionsWithEngine(t *testing.T) { } } +//Tests for DataDB +//We do a test for each version field in order to test them as a unit and not at as a whole. func testUpdateVersionsAccounts(t *testing.T) { newVersions := CurrentDataDBVersions() newVersions[utils.Accounts] = 2 @@ -649,3 +654,64 @@ func testUpdateVersionsTiming(t *testing.T) { t.Fatalf("Expected %q \n but received: \n %q", errExpect, output.String()) } } + +//Tests for StorDB +func testUpdateVersionsCostDetails(t *testing.T) { + newVersions := CurrentStorDBVersions() + newVersions[utils.CostDetails] = 1 + if err := storageDb.SetVersions(newVersions, true); err != nil { + t.Fatal(err) + } + cmd := exec.Command("cgr-engine", `-config_path=/usr/share/cgrates/conf/samples/tutmysql`, `-scheduled_shutdown=4ms`) + output := bytes.NewBuffer(nil) + cmd.Stdout = output + if err := cmd.Run(); err != nil { + t.Log(cmd.Args) + t.Log(output.String()) + t.Fatal(err) + } + errExpect := "Migration needed: please backup cgr data and run : \n" + if output.String() != errExpect { + t.Fatalf("Expected %q \n but received: \n %q", errExpect, output.String()) + } +} + +func testUpdateVersionsSessionSCosts(t *testing.T) { + newVersions := CurrentStorDBVersions() + newVersions[utils.SessionSCosts] = 2 + if err := storageDb.SetVersions(newVersions, true); err != nil { + t.Fatal(err) + } + cmd := exec.Command("cgr-engine", `-config_path=/usr/share/cgrates/conf/samples/tutmysql`, `-scheduled_shutdown=4ms`) + output := bytes.NewBuffer(nil) + cmd.Stdout = output + if err := cmd.Run(); err != nil { + t.Log(cmd.Args) + t.Log(output.String()) + t.Fatal(err) + } + errExpect := "Migration needed: please backup cgr data and run : \n" + if output.String() != errExpect { + t.Fatalf("Expected %q \n but received: \n %q", errExpect, output.String()) + } +} + +func testUpdateVersionsCDRs(t *testing.T) { + newVersions := CurrentStorDBVersions() + newVersions[utils.CDRs] = 1 + if err := storageDb.SetVersions(newVersions, true); err != nil { + t.Fatal(err) + } + cmd := exec.Command("cgr-engine", `-config_path=/usr/share/cgrates/conf/samples/tutmysql`, `-scheduled_shutdown=4ms`) + output := bytes.NewBuffer(nil) + cmd.Stdout = output + if err := cmd.Run(); err != nil { + t.Log(cmd.Args) + t.Log(output.String()) + t.Fatal(err) + } + errExpect := "Migration needed: please backup cgr data and run : \n" + if output.String() != errExpect { + t.Fatalf("Expected %q \n but received: \n %q", errExpect, output.String()) + } +}