Continue caching_delay implementation & tests

This commit is contained in:
arberkatellari
2024-01-08 11:00:10 -05:00
parent 87bb4b1665
commit 0cfc4b5658
23 changed files with 1115 additions and 36 deletions

View File

@@ -415,12 +415,10 @@ func main() {
}
// delay if needed before cache reload
if ldrCfg.GeneralCfg().CachingDelay != 0 {
if *verbose {
log.Printf("Delaying %v", ldrCfg.GeneralCfg().CachingDelay)
}
time.Sleep(ldrCfg.GeneralCfg().CachingDelay)
if *verbose && ldrCfg.GeneralCfg().CachingDelay != 0 {
log.Printf("Delaying cache reload for %v", ldrCfg.GeneralCfg().CachingDelay)
}
time.Sleep(ldrCfg.GeneralCfg().CachingDelay)
// reload cache
if err = tpReader.ReloadCache(ldrCfg.GeneralCfg().DefaultCaching, *verbose, map[string]any{

View File

@@ -115,6 +115,7 @@ func TestLoadConfig(t *testing.T) {
*schedulerAddress = ""
// General
*cachingArg = utils.MetaLoad
*cachingDlay = 5 * time.Second
*dbDataEncoding = utils.MetaJSON
*timezone = utils.Local
ldrCfg := loadConfig()
@@ -138,6 +139,9 @@ func TestLoadConfig(t *testing.T) {
if ldrCfg.GeneralCfg().DefaultCaching != utils.MetaLoad {
t.Errorf("Expected %s received %s", utils.MetaLoad, ldrCfg.GeneralCfg().DefaultCaching)
}
if ldrCfg.GeneralCfg().CachingDelay != 5*time.Second {
t.Errorf("Expected %s received %s", 5*time.Second, ldrCfg.GeneralCfg().CachingDelay)
}
if *importID == utils.EmptyString {
t.Errorf("Expected importID to be populated")
}
@@ -238,6 +242,9 @@ var (
testLoadItCheckAttributes2,
testLoadItStartLoaderFromStorDB,
testLoadItCheckAttributes,
testLoadItStartLoaderWithDelayWConf,
testLoadItStartLoaderWithDelayWFlag,
}
)
@@ -444,3 +451,31 @@ func testLoadItStartLoaderFlushStorDB(t *testing.T) {
t.Fatal(err)
}
}
func testLoadItStartLoaderWithDelayWConf(t *testing.T) {
cmd := exec.Command("cgr-loader", "-config_path="+path.Join(*dataDir, "conf", "samples", "apier_mysql"), "-path="+path.Join(*dataDir, "tariffplans", "tutorial"), "-caches_address=", "-scheduler_address=", "-to_stordb", "-flush_stordb", "-tpid=TPID")
output := bytes.NewBuffer(nil)
outerr := bytes.NewBuffer(nil)
cmd.Stdout = output
cmd.Stderr = outerr
if err := cmd.Run(); err != nil {
t.Log(cmd.Args)
t.Log(output.String())
t.Log(outerr.String())
t.Fatal(err)
}
}
func testLoadItStartLoaderWithDelayWFlag(t *testing.T) {
cmd := exec.Command("cgr-loader", "-path="+path.Join(*dataDir, "tariffplans", "tutorial"), "-caches_address=", "-scheduler_address=", "-to_stordb", "-flush_stordb", "-tpid=TPID", "-caching_delay=5s")
output := bytes.NewBuffer(nil)
outerr := bytes.NewBuffer(nil)
cmd.Stdout = output
cmd.Stderr = outerr
if err := cmd.Run(); err != nil {
t.Log(cmd.Args)
t.Log(output.String())
t.Log(outerr.String())
t.Fatal(err)
}
}