From 1140de6a6cebaccab97b2de06618e2904ad343fd Mon Sep 17 00:00:00 2001 From: andronache Date: Mon, 5 Apr 2021 16:50:30 +0300 Subject: [PATCH] Added tests in ers and in dispatchers --- dispatchers/attributes_it_test.go | 60 +++++++++++++++++++++++++++++++ ers/sql_it_test.go | 47 ++++++++++++------------ 2 files changed, 84 insertions(+), 23 deletions(-) diff --git a/dispatchers/attributes_it_test.go b/dispatchers/attributes_it_test.go index 865dcc6e0..63ee7e462 100644 --- a/dispatchers/attributes_it_test.go +++ b/dispatchers/attributes_it_test.go @@ -642,3 +642,63 @@ func testDspAttrPingNoArgDispatcher(t *testing.T) { t.Errorf("Received: %s", reply) } } + +func TestDspAttributeSv1PingError(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrEvent := &utils.CGREvent{} + var reply *string + err := dspSrv.AttributeSv1Ping(cgrEvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if err == nil || err.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, err) + } +} + +func TestDspAttributeSv1PingErrorTenant(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrEvent := &utils.CGREvent{ + Tenant: "tenant", + ID: "", + Time: nil, + Event: nil, + APIOpts: nil, + } + var reply *string + err := dspSrv.AttributeSv1Ping(cgrEvent, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if err == nil || err.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, err) + } +} + +func TestDspAttributeSv1PingErrorNil(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + var reply *string + err := dspSrv.AttributeSv1Ping(nil, reply) + expected := "DISPATCHER_ERROR:NOT_FOUND" + if err == nil || err.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, err) + } +} + +func TestDspAttributeSv1PingErrorAttributeSConns(t *testing.T) { + cgrCfg := config.NewDefaultCGRConfig() + cgrCfg.DispatcherSCfg().AttributeSConns = []string{"test"} + dspSrv := NewDispatcherService(nil, cgrCfg, nil, nil) + cgrEvent := &utils.CGREvent{ + Tenant: "tenant", + ID: "ID", + Time: nil, + Event: nil, + APIOpts: nil, + } + var reply *string + err := dspSrv.AttributeSv1Ping(cgrEvent, reply) + expected := "MANDATORY_IE_MISSING: [ApiKey]" + if err == nil || err.Error() != expected { + t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, err) + } +} diff --git a/ers/sql_it_test.go b/ers/sql_it_test.go index 4421d03b7..2dd04192e 100644 --- a/ers/sql_it_test.go +++ b/ers/sql_it_test.go @@ -660,30 +660,31 @@ func TestSQLSetURLError2(t *testing.T) { } } -/* -func TestSQLProcessMessageError2(t *testing.T) { +func TestErsSqlPostCDRS(t *testing.T) { + tmp := logger.Default + logger.Default = logger.Default.LogMode(logger.Silent) cfg := config.NewDefaultCGRConfig() - testSQLEventReader := &SQLEventReader{ - cgrCfg: cfg, - cfgIdx: 0, - fltrS: &engine.FilterS{}, - connString: "", - connType: "", - tableName: "testName", - expConnString: "", - expConnType: utils.Postgres, - expTableName: "", - rdrEvents: nil, - rdrExit: nil, - rdrErr: nil, - cap: nil, + fltr := &engine.FilterS{} + reader := cfg.ERsCfg().Readers[0].Clone() + reader.Type = utils.MetaSQL + reader.ID = "file_reader" + reader.ConcurrentReqs = -1 + reader.Opts = map[string]interface{}{"db_name": "cgrates2"} + reader.SourcePath = "*mysql://cgrates:CGRateS.org@127.0.0.1:3306" + reader.ProcessedPath = "" + cfg.ERsCfg().Readers = append(cfg.ERsCfg().Readers, reader) + if len(cfg.ERsCfg().Readers) != 2 { + t.Errorf("Expecting: <2>, received: <%+v>", len(cfg.ERsCfg().Readers)) } - testSQLEventReader.Config().Filters = []string{"*apiban:~*req.IP:*single"} - msg := map[string]interface{}{} - err := testSQLEventReader.processMessage(msg) - expected := "" - if err == nil || err.Error() != expected { - t.Errorf("\nExpected <%+v>, \nReceived <%+v>", expected, err) + sqlEvReader, err := NewSQLEventReader(cfg, 1, nil, nil, fltr, nil) + if err != nil { + t.Errorf("Expecting: , received: <%+v>", err) } + sqlEvReader.(*SQLEventReader).expConnType = utils.MySQL + result := sqlEvReader.(*SQLEventReader).postCDR([]interface{}{}) + expected := "Error 1045: Access denied for user ''@'localhost' (using password: NO)" + if result == nil { + t.Errorf("\nExpected: <%+v>, \nreceived: <%+v>", expected, result) + } + logger.Default = tmp } -*/