diff --git a/cmd/cgr-engine/cgr-engine.go b/cmd/cgr-engine/cgr-engine.go
index d06a5769c..2d7a527c0 100644
--- a/cmd/cgr-engine/cgr-engine.go
+++ b/cmd/cgr-engine/cgr-engine.go
@@ -56,7 +56,7 @@ var (
httpPprofPath = cgrEngineFlags.String(utils.HttpPrfPthCgr, utils.EmptyString, "http address used for program profiling")
cpuProfDir = cgrEngineFlags.String(utils.CpuProfDirCgr, utils.EmptyString, "write cpu profile to files")
memProfDir = cgrEngineFlags.String(utils.MemProfDirCgr, utils.EmptyString, "write memory profile to file")
- memProfInterval = cgrEngineFlags.Duration(utils.MemProfIntervalCgr, 5*time.Second, "Time betwen memory profile saves")
+ memProfInterval = cgrEngineFlags.Duration(utils.MemProfIntervalCgr, 5*time.Second, "Time between memory profile saves")
memProfNrFiles = cgrEngineFlags.Int(utils.MemProfNrFilesCgr, 1, "Number of memory profile to write")
scheduledShutdown = cgrEngineFlags.String(utils.ScheduledShutdownCgr, utils.EmptyString, "shutdown the engine after this duration")
singlecpu = cgrEngineFlags.Bool(utils.SingleCpuCgr, false, "Run on single CPU core")
diff --git a/cmd/cgr-engine/cgr-engine_flags_test.go b/cmd/cgr-engine/cgr-engine_flags_test.go
new file mode 100644
index 000000000..1f60b84d6
--- /dev/null
+++ b/cmd/cgr-engine/cgr-engine_flags_test.go
@@ -0,0 +1,119 @@
+/*
+Real-time Online/Offline Charging System (OerS) for Telecom & ISP environments
+Copyright (C) ITsysCOM GmbH
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see
+*/
+
+package main
+
+import (
+ "path"
+ "testing"
+ "time"
+)
+
+// if the flag change this should fail
+// do not use constants in this test
+func TestCgrEngineFlags(t *testing.T) {
+ if err := cgrEngineFlags.Parse([]string{"-config_path", path.Join("/conf", "samples", "tutorial")}); err != nil {
+ t.Fatal(err)
+ } else if *cfgPath != "/conf/samples/tutorial" {
+ t.Errorf("Expected /conf/samples/tutorial, received %+v", *cfgPath)
+ }
+
+ if err := cgrEngineFlags.Parse([]string{"-version", "true"}); err != nil {
+ t.Fatal(err)
+ } else if *version != true {
+ t.Errorf("Expected true, received %+v", *version)
+ }
+
+ if err := cgrEngineFlags.Parse([]string{"-check_config", "true"}); err != nil {
+ t.Fatal(err)
+ } else if *checkConfig != true {
+ t.Errorf("Expected true, received %+v", *checkConfig)
+ }
+
+ if err := cgrEngineFlags.Parse([]string{"-pid", "usr/share/cgrates/cgrates.json"}); err != nil {
+ t.Fatal(err)
+ } else if *pidFile != "usr/share/cgrates/cgrates.json" {
+ t.Errorf("Expected usr/share/cgrates/cgrates.json, received %+v", *pidFile)
+ }
+
+ if err := cgrEngineFlags.Parse([]string{"-httprof_path", "http://example.com/"}); err != nil {
+ t.Fatal(err)
+ } else if *httpPprofPath!= "http://example.com/" {
+ t.Errorf("Expected http://example.com/, received %+v", *httpPprofPath)
+ }
+
+ if err := cgrEngineFlags.Parse([]string{"-cpuprof_dir", "1"}); err != nil {
+ t.Fatal(err)
+ } else if *cpuProfDir != "1" {
+ t.Errorf("Expected 1, received %+v", *httpPprofPath)
+ }
+
+ if err := cgrEngineFlags.Parse([]string{"-memprof_dir", "true"}); err != nil {
+ t.Fatal(err)
+ } else if *memProfDir != "true" {
+ t.Errorf("Expected true received %+v", *memProfDir)
+ }
+
+ if err := cgrEngineFlags.Parse([]string{"-memprof_interval", "1s"}); err != nil {
+ t.Fatal(err)
+ } else if *memProfInterval != time.Second {
+ t.Errorf("Expected 1s, received %+v", *memProfInterval)
+ }
+
+ if err := cgrEngineFlags.Parse([]string{"-memprof_nrfiles", "3"}); err != nil {
+ t.Fatal(err)
+ } else if *memProfNrFiles!= 3 {
+ t.Errorf("Expected 3, received %+v", *memProfNrFiles)
+ }
+
+ if err := cgrEngineFlags.Parse([]string{"-scheduled_shutdown", "1h"}); err != nil {
+ t.Fatal(err)
+ } else if *scheduledShutdown != "1h" {
+ t.Errorf("Expected 1h, received %+v", *scheduledShutdown)
+ }
+
+ if err := cgrEngineFlags.Parse([]string{"-singlecpu"}); err != nil {
+ t.Fatal(err)
+ } else if *singlecpu != true {
+ t.Errorf("Expected true, received %+v", *singlecpu)
+ }
+
+ if err := cgrEngineFlags.Parse([]string{"-logger", "*stdout"}); err != nil {
+ t.Fatal(err)
+ } else if *syslogger != "*stdout" {
+ t.Errorf("Expected *stdout, received %+v", *syslogger)
+ }
+
+ if err := cgrEngineFlags.Parse([]string{"-node_id", "CGRates.org"}); err != nil {
+ t.Fatal(err)
+ } else if *nodeID != "CGRates.org" {
+ t.Errorf("Expected CGRates.org, received %+v", *nodeID)
+ }
+
+ if err := cgrEngineFlags.Parse([]string{"-log_level", "7"}); err != nil {
+ t.Fatal(err)
+ } else if *logLevel != 7 {
+ t.Errorf("Expected 7, received %+v", *logLevel)
+ }
+
+ if err := cgrEngineFlags.Parse([]string{"-preload", "TestPreloadID"}); err != nil {
+ t.Fatal(err)
+ } else if *preload != "TestPreloadID" {
+ t.Errorf("Expected 7, received %+v", *preload)
+ }
+}
\ No newline at end of file
diff --git a/cmd/cgr-migrator/cgr-migrator_test.go b/cmd/cgr-migrator/cgr-migrator_test.go
index 9ffc11ade..013465bf0 100644
--- a/cmd/cgr-migrator/cgr-migrator_test.go
+++ b/cmd/cgr-migrator/cgr-migrator_test.go
@@ -28,7 +28,7 @@ func TestFlags(t *testing.T) {
if err := cgrMigratorFlags.Parse([]string{"-config_path", "true"}); err != nil {
t.Fatal(err)
} else if *cfgPath != "true" {
- t.Errorf("Expected true received:%v ", *cfgPath)
+ t.Errorf( "Expected true received:%v ", *cfgPath)
}
if err := cgrMigratorFlags.Parse([]string{"-exec", "true"}); err != nil {
t.Fatal(err)
diff --git a/config/cfg_data.json b/config/cfg_data.json
deleted file mode 100644
index 31fa0aaa3..000000000
--- a/config/cfg_data.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
-
-// Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments
-// Copyright (C) ITsysCOM GmbH
-
-"general": {
- "default_request_type": "*pseudoprepaid", // default request type to consider when missing from requests: <""|*prepaid|*postpaid|*pseudoprepaid|*rated>
-},
-
-"cdrs": {
- "enabled": true, // start the CDR Server service:
-},
-
-"rals": {
- "enabled": true, // enable Rater service:
-},
-
-
-"sessions": {
- "enabled": true, // enable Rater service:
-},
-
-"freeswitch_agent": {
- "enabled": true, // starts SessionManager service:
- "event_socket_conns":[ // instantiate connections to multiple FreeSWITCH servers
- {"address": "1.2.3.4:8021", "password": "ClueCon", "reconnects": 5},
- {"address": "2.3.4.5:8021", "password": "ClueCon", "reconnects": 5},
- ],
-},
-
-"resources": {
- "enabled": true,
-},
-
-"routes": {
- "enabled": true,
-},
-
-"attributes": {
- "enabled": true,
-},
-
-"chargers": {
- "enabled": true,
-},
-
-}