mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Improve logger and libindex tests
This commit is contained in:
committed by
Dan Christian Bogos
parent
db3ff231c6
commit
f912ab04e8
@@ -2444,3 +2444,210 @@ func TestUpdateFilterIndexRateProfilesErr2(t *testing.T) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestUpdateFilterIndexDispatcherIndex(t *testing.T) {
|
||||
tmp := Cache
|
||||
defer func() {
|
||||
Cache = tmp
|
||||
}()
|
||||
Cache.Clear(nil)
|
||||
|
||||
cfg := config.NewDefaultCGRConfig()
|
||||
dataDB := NewInternalDB(nil, nil, cfg.DataDbCfg().Items)
|
||||
dm := NewDataManager(dataDB, cfg.CacheCfg(), nil)
|
||||
|
||||
oldFlt := &Filter{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "fltr_test",
|
||||
Rules: []*FilterRule{
|
||||
{
|
||||
Type: utils.MetaString,
|
||||
Element: "~*req.Cost",
|
||||
Values: []string{"unRegVal2"},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
if err := oldFlt.Compile(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
if err := dm.SetFilter(context.Background(), oldFlt, true); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
dpp := &DispatcherProfile{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "ID",
|
||||
FilterIDs: []string{"fltr_test"},
|
||||
Weight: 65,
|
||||
Strategy: utils.MetaLoad,
|
||||
StrategyParams: map[string]interface{}{"k": "v"},
|
||||
Hosts: DispatcherHostProfiles{
|
||||
{
|
||||
ID: "C2",
|
||||
FilterIDs: []string{"fltr3"},
|
||||
Weight: 10,
|
||||
Params: map[string]interface{}{
|
||||
"param3": "value3",
|
||||
},
|
||||
Blocker: false,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
if err := dm.SetDispatcherProfile(context.Background(), dpp, true); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
expindx := map[string]utils.StringSet{
|
||||
"*string:*req.Cost:unRegVal2": {"ID": {}},
|
||||
}
|
||||
|
||||
getindx, err := dm.GetIndexes(context.Background(), utils.CacheDispatcherFilterIndexes, utils.CGRateSorg, utils.EmptyString, utils.EmptyString, true, true)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(expindx, getindx) {
|
||||
t.Errorf("Expected \n<%v>, \nReceived \n<%v>", utils.ToJSON(expindx), utils.ToJSON(getindx))
|
||||
}
|
||||
|
||||
newFlt := &Filter{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "fltr_test",
|
||||
Rules: []*FilterRule{
|
||||
{
|
||||
Type: utils.MetaPrefix,
|
||||
Element: "~*req.Usage",
|
||||
Values: []string{"10s"},
|
||||
},
|
||||
},
|
||||
}
|
||||
if err := newFlt.Compile(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := dm.SetFilter(context.Background(), newFlt, false); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
if err := UpdateFilterIndex(context.Background(), dm, oldFlt, newFlt); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
expindxNew := map[string]utils.StringSet{
|
||||
"*prefix:*req.Usage:10s": {"ID": {}},
|
||||
}
|
||||
getindxNew, err := dm.GetIndexes(context.Background(), utils.CacheDispatcherFilterIndexes, utils.CGRateSorg, utils.EmptyString, utils.EmptyString, true, true)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(expindxNew, getindxNew) {
|
||||
t.Errorf("Expected \n<%v>, \nReceived \n<%v>", utils.ToJSON(expindxNew), utils.ToJSON(getindxNew))
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestUpdateFilterDispatcherIndexErr1(t *testing.T) {
|
||||
tmp := Cache
|
||||
defer func() {
|
||||
Cache = tmp
|
||||
}()
|
||||
Cache.Clear(nil)
|
||||
|
||||
cfg := config.NewDefaultCGRConfig()
|
||||
dataDB := NewInternalDB(nil, nil, cfg.DataDbCfg().Items)
|
||||
dm := NewDataManager(dataDB, cfg.CacheCfg(), nil)
|
||||
|
||||
dm.dataDB = &DataDBMock{
|
||||
GetIndexesDrvF: func(ctx *context.Context, idxItmType, tntCtx, idxKey, transactionID string) (indexes map[string]utils.StringSet, err error) {
|
||||
return map[string]utils.StringSet{
|
||||
utils.CacheDispatcherFilterIndexes: {
|
||||
"ATTR_TEST": {},
|
||||
},
|
||||
}, nil
|
||||
},
|
||||
SetIndexesDrvF: func(ctx *context.Context, idxItmType, tntCtx string, indexes map[string]utils.StringSet, commit bool, transactionID string) (err error) {
|
||||
return utils.ErrNotImplemented
|
||||
},
|
||||
}
|
||||
|
||||
oldFlt := &Filter{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "fltr_test",
|
||||
Rules: []*FilterRule{
|
||||
{
|
||||
Type: utils.MetaString,
|
||||
Element: "~*req.Cost",
|
||||
Values: []string{"unRegVal2"},
|
||||
},
|
||||
},
|
||||
}
|
||||
newFlt := &Filter{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "fltr_test",
|
||||
Rules: []*FilterRule{
|
||||
{
|
||||
Type: utils.MetaPrefix,
|
||||
Element: "~*req.Usage",
|
||||
Values: []string{"10s"},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
expErr := utils.ErrNotImplemented
|
||||
if err := UpdateFilterIndex(context.Background(), dm, oldFlt, newFlt); err != expErr {
|
||||
t.Errorf("Expected error <%v>, Received error <%v>", expErr, err)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestUpdateFilterIndexDispatcherErr2(t *testing.T) {
|
||||
tmp := Cache
|
||||
defer func() {
|
||||
Cache = tmp
|
||||
}()
|
||||
Cache.Clear(nil)
|
||||
|
||||
cfg := config.NewDefaultCGRConfig()
|
||||
dataDB := NewInternalDB(nil, nil, cfg.DataDbCfg().Items)
|
||||
dm := NewDataManager(dataDB, cfg.CacheCfg(), nil)
|
||||
|
||||
dm.dataDB = &DataDBMock{
|
||||
GetIndexesDrvF: func(ctx *context.Context, idxItmType, tntCtx, idxKey, transactionID string) (indexes map[string]utils.StringSet, err error) {
|
||||
return map[string]utils.StringSet{
|
||||
utils.CacheDispatcherFilterIndexes: {
|
||||
"ATTR_TEST": {},
|
||||
},
|
||||
}, nil
|
||||
},
|
||||
SetIndexesDrvF: func(ctx *context.Context, idxItmType, tntCtx string, indexes map[string]utils.StringSet, commit bool, transactionID string) (err error) {
|
||||
return nil
|
||||
},
|
||||
}
|
||||
|
||||
oldFlt := &Filter{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "fltr_test",
|
||||
Rules: []*FilterRule{
|
||||
{
|
||||
Type: utils.MetaString,
|
||||
Element: "~*req.Cost",
|
||||
Values: []string{"unRegVal2"},
|
||||
},
|
||||
},
|
||||
}
|
||||
newFlt := &Filter{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "fltr_test",
|
||||
Rules: []*FilterRule{
|
||||
{
|
||||
Type: utils.MetaPrefix,
|
||||
Element: "~*req.Usage",
|
||||
Values: []string{"10s"},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
expErr := "SERVER_ERROR: NOT_IMPLEMENTED"
|
||||
if err := UpdateFilterIndex(context.Background(), dm, oldFlt, newFlt); err.Error() != expErr {
|
||||
t.Errorf("Expected error <%v>, Received error <%v>", expErr, err)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -124,6 +124,12 @@ func testEmergencyLogger(t *testing.T) {
|
||||
if err := newLogger.Emerg("emergency_panic"); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
newLogger.SetLogLevel(-1)
|
||||
|
||||
if err := newLogger.Emerg("emergency_panic2"); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := writer.Close(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
@@ -133,8 +139,11 @@ func testEmergencyLogger(t *testing.T) {
|
||||
t.Error(err)
|
||||
}
|
||||
expected := "emergency_panic"
|
||||
expected2 := "emergency_panic2"
|
||||
if rcv := l.String(); !strings.Contains(rcv, expected) {
|
||||
t.Errorf("Expected %q, received %q", expected, rcv)
|
||||
} else if strings.Contains(rcv, expected2) {
|
||||
t.Errorf("Expected %q to not exist, received %q", expected, rcv)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -160,6 +169,12 @@ func testAlertLogger(t *testing.T) {
|
||||
if err := newLogger.Alert("emergency_alert"); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
newLogger.SetLogLevel(0)
|
||||
|
||||
if err := newLogger.Alert("emergency_alert2"); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := writer.Close(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
@@ -169,8 +184,11 @@ func testAlertLogger(t *testing.T) {
|
||||
t.Error(err)
|
||||
}
|
||||
expected := "emergency_alert"
|
||||
expected2 := "emergency_alert2"
|
||||
if rcv := l.String(); !strings.Contains(rcv, expected) {
|
||||
t.Errorf("Expected %q, received %q", expected, rcv)
|
||||
} else if strings.Contains(rcv, expected2) {
|
||||
t.Errorf("Expected %q to not exist, received %q", expected, rcv)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -195,6 +213,13 @@ func testCriticalLogger(t *testing.T) {
|
||||
if err := newLogger.Crit("critical_panic"); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
newLogger.SetLogLevel(1)
|
||||
|
||||
if err := newLogger.Crit("critical_panic2"); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
if err := writer.Close(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
@@ -204,8 +229,11 @@ func testCriticalLogger(t *testing.T) {
|
||||
t.Error(err)
|
||||
}
|
||||
expected := "critical_panic"
|
||||
expected2 := "critical_panic2"
|
||||
if rcv := l.String(); !strings.Contains(rcv, expected) {
|
||||
t.Errorf("Expected %q, received %q", expected, rcv)
|
||||
} else if strings.Contains(rcv, expected2) {
|
||||
t.Errorf("Expected %q to not exist, received %q", expected, rcv)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -301,6 +329,12 @@ func testNoticeLogger(t *testing.T) {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
newLogger.SetLogLevel(4)
|
||||
|
||||
if err := newLogger.Notice("notice_panic2"); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
if err := writer.Close(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
@@ -310,8 +344,11 @@ func testNoticeLogger(t *testing.T) {
|
||||
t.Error(err)
|
||||
}
|
||||
expected := "notice_panic"
|
||||
expected2 := "notice_panic2"
|
||||
if rcv := l.String(); !strings.Contains(rcv, expected) {
|
||||
t.Errorf("Expected %q, received %q", expected, rcv)
|
||||
} else if strings.Contains(rcv, expected2) {
|
||||
t.Errorf("Expected %q to not exist, received %q", expected, rcv)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -371,6 +408,12 @@ func testDebugLogger(t *testing.T) {
|
||||
if err := newLogger.Debug("debug_panic"); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
newLogger.SetLogLevel(6)
|
||||
|
||||
if err := newLogger.Debug("debug_panic2"); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
if err := writer.Close(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
@@ -380,7 +423,10 @@ func testDebugLogger(t *testing.T) {
|
||||
t.Error(err)
|
||||
}
|
||||
expected := "debug_panic"
|
||||
expected2 := "debug_panic2"
|
||||
if rcv := l.String(); !strings.Contains(rcv, expected) {
|
||||
t.Errorf("Expected %q, received %q", expected, rcv)
|
||||
} else if strings.Contains(rcv, expected2) {
|
||||
t.Errorf("Expected %q to not exist, received %q", expected, rcv)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -235,18 +235,6 @@ func TestLoggerStdLoggerDebug(t *testing.T) {
|
||||
t.Errorf("expected: <%s>, \nreceived: <%s>", expMsg, buf.String())
|
||||
}
|
||||
}
|
||||
|
||||
func TestCloseSysLogger(t *testing.T) {
|
||||
if noSysLog {
|
||||
t.SkipNow()
|
||||
}
|
||||
sl, _ := NewSysLogger("test", 2)
|
||||
|
||||
if err := sl.Close(); err != nil {
|
||||
t.Errorf("Expected <nil>, received %v", err)
|
||||
}
|
||||
|
||||
}
|
||||
func TestWriteSysLogger(t *testing.T) {
|
||||
if noSysLog {
|
||||
t.SkipNow()
|
||||
@@ -261,125 +249,6 @@ func TestWriteSysLogger(t *testing.T) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestAlertSysLogger(t *testing.T) {
|
||||
if noSysLog {
|
||||
t.SkipNow()
|
||||
}
|
||||
sl, _ := NewSysLogger("test", 0)
|
||||
|
||||
if err := sl.Alert("Alert Message"); err != nil {
|
||||
t.Errorf("Expected <nil>, received %v", err)
|
||||
}
|
||||
sl, _ = NewSysLogger("test2", 2)
|
||||
if err := sl.Alert("Alert Message 2"); err != nil {
|
||||
t.Errorf("Expected <nil>, received %v", err)
|
||||
}
|
||||
}
|
||||
func TestCritSysLogger(t *testing.T) {
|
||||
if noSysLog {
|
||||
t.SkipNow()
|
||||
}
|
||||
sl, _ := NewSysLogger("test", 1)
|
||||
|
||||
if err := sl.Crit("Critical Message"); err != nil {
|
||||
t.Errorf("Expected <nil>, received %v", err)
|
||||
}
|
||||
sl, _ = NewSysLogger("test2", 4)
|
||||
if err := sl.Crit("Critical Message 2"); err != nil {
|
||||
t.Errorf("Expected <nil>, received %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDebugSysLogger(t *testing.T) {
|
||||
if noSysLog {
|
||||
t.SkipNow()
|
||||
}
|
||||
sl, _ := NewSysLogger("test", 6)
|
||||
|
||||
if err := sl.Debug("Debug Message"); err != nil {
|
||||
t.Errorf("Expected <nil>, received %v", err)
|
||||
}
|
||||
sl, _ = NewSysLogger("test2", 8)
|
||||
if err := sl.Debug("Debug Message 2"); err != nil {
|
||||
t.Errorf("Expected <nil>, received %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestEmergSysLogger(t *testing.T) {
|
||||
if noSysLog {
|
||||
t.SkipNow()
|
||||
}
|
||||
sl, _ := NewSysLogger("test", -1)
|
||||
|
||||
if err := sl.Emerg("Emergency Message"); err != nil {
|
||||
t.Errorf("Expected <nil>, received %v", err)
|
||||
}
|
||||
// always broadcasts message from journal
|
||||
// sl, _ = NewSysLogger("test2", 1)
|
||||
// if err := sl.Emerg("Emergency Message 2"); err != nil {
|
||||
// t.Errorf("Expected <nil>, received %v", err)
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
func TestErrSysLogger(t *testing.T) {
|
||||
if noSysLog {
|
||||
t.SkipNow()
|
||||
}
|
||||
sl, _ := NewSysLogger("test", 2)
|
||||
|
||||
if err := sl.Err("Error Message"); err != nil {
|
||||
t.Errorf("Expected <nil>, received %v", err)
|
||||
}
|
||||
sl, _ = NewSysLogger("test2", 4)
|
||||
if err := sl.Err("Error Message 2"); err != nil {
|
||||
t.Errorf("Expected <nil>, received %v", err)
|
||||
}
|
||||
}
|
||||
func TestInfoSysLogger(t *testing.T) {
|
||||
if noSysLog {
|
||||
t.SkipNow()
|
||||
}
|
||||
sl, _ := NewSysLogger("test", 5)
|
||||
|
||||
if err := sl.Info("Info Message"); err != nil {
|
||||
t.Errorf("Expected <nil>, received %v", err)
|
||||
}
|
||||
sl, _ = NewSysLogger("test2", 7)
|
||||
if err := sl.Info("Info Message 2"); err != nil {
|
||||
t.Errorf("Expected <nil>, received %v", err)
|
||||
}
|
||||
}
|
||||
func TestNoticeSysLogger(t *testing.T) {
|
||||
if noSysLog {
|
||||
t.SkipNow()
|
||||
}
|
||||
sl, _ := NewSysLogger("test", 4)
|
||||
|
||||
if err := sl.Notice("Notice Message"); err != nil {
|
||||
t.Errorf("Expected <nil>, received %v", err)
|
||||
}
|
||||
sl, _ = NewSysLogger("test2", 6)
|
||||
if err := sl.Notice("Notice Message 2"); err != nil {
|
||||
t.Errorf("Expected <nil>, received %v", err)
|
||||
}
|
||||
}
|
||||
func TestWarningSysLogger(t *testing.T) {
|
||||
if noSysLog {
|
||||
t.SkipNow()
|
||||
}
|
||||
sl, _ := NewSysLogger("test", 3)
|
||||
|
||||
if err := sl.Warning("Warning Message"); err != nil {
|
||||
t.Errorf("Expected <nil>, received %v", err)
|
||||
}
|
||||
sl, _ = NewSysLogger("test2", 5)
|
||||
if err := sl.Warning("Warning Message 2"); err != nil {
|
||||
t.Errorf("Expected <nil>, received %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCloseNopCloser(t *testing.T) {
|
||||
var nC NopCloser
|
||||
|
||||
|
||||
Reference in New Issue
Block a user