Added tests for StorDB fields with 1+ versions

This commit is contained in:
nickolasdaniel
2021-07-07 11:57:33 +03:00
committed by Dan Christian Bogos
parent cf4cdbd579
commit 18783cec46
2 changed files with 67 additions and 0 deletions

View File

@@ -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
)

View File

@@ -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 : <cgr-migrator -exec=*cost_details>\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 : <cgr-migrator -exec=*sessions_costs>\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 : <cgr-migrator -exec=*cdrs>\n"
if output.String() != errExpect {
t.Fatalf("Expected %q \n but received: \n %q", errExpect, output.String())
}
}