diff --git a/ers/ers.go b/ers/ers.go index e14ba192d..d1f04bb63 100644 --- a/ers/ers.go +++ b/ers/ers.go @@ -268,6 +268,7 @@ func (erS *ERService) processEvent(cgrEv *utils.CGREvent, if utils.ErrHasPrefix(err, utils.RalsErrorPrfx) { cgrEv.Event[utils.Usage] = 0 // avoid further debits } else if evArgs.Debit { + fmt.Println("yay") cgrEv.Event[utils.Usage] = rply.MaxUsage // make sure the CDR reflects the debit } case utils.MetaEvent: diff --git a/ers/ers_it_test.go b/ers/ers_it_test.go index 5fe15b41e..40d135c2d 100644 --- a/ers/ers_it_test.go +++ b/ers/ers_it_test.go @@ -25,6 +25,8 @@ import ( "testing" "time" + "github.com/cgrates/rpcclient" + "github.com/cgrates/cgrates/config" "github.com/cgrates/cgrates/engine" "github.com/cgrates/cgrates/utils" @@ -635,3 +637,102 @@ func TestERsProcessEvent8(t *testing.T) { t.Fatalf("\nExpecting <%+v>,\n Received <%+v>", nil, err) } } + +func TestERsProcessEvent9(t *testing.T) { + cfg := config.NewDefaultCGRConfig() + cfg.ERsCfg().Readers = []*config.EventReaderCfg{ + { + ID: "test", + Type: utils.MetaNone, + }, + } + cfg.ERsCfg().SessionSConns = []string{} + fltrS := &engine.FilterS{} + srv := NewERService(cfg, fltrS, nil) + rdrCfg := &config.EventReaderCfg{ + Flags: map[string]utils.FlagParams{ + utils.MetaCDRs: map[string][]string{}, + }, + } + cgrEvent := &utils.CGREvent{ + Tenant: "", + ID: "", + Time: nil, + Event: nil, + Opts: map[string]interface{}{ + utils.OptsRoutesLimit: true, + }, + } + err := srv.processEvent(cgrEvent, rdrCfg) + if err == nil || err.Error() != "MANDATORY_IE_MISSING: [connIDs]" { + t.Fatalf("\nExpecting <%+v>,\n Received <%+v>", "MANDATORY_IE_MISSING: [connIDs]", err) + } +} + +func TestERsProcessEvent10(t *testing.T) { + cfg := config.NewDefaultCGRConfig() + cfg.ERsCfg().Readers = []*config.EventReaderCfg{ + { + ID: "test", + Type: utils.MetaNone, + }, + } + cfg.ERsCfg().SessionSConns = []string{rpcclient.InternalRPC} + fltrS := &engine.FilterS{} + rpcInt := map[string]chan rpcclient.ClientConnector{} + connMang := engine.NewConnManager(cfg, rpcInt) + srv := NewERService(cfg, fltrS, connMang) + + rdrCfg := &config.EventReaderCfg{ + Flags: map[string]utils.FlagParams{ + utils.MetaMessage: map[string][]string{}, + }, + } + cgrEvent := &utils.CGREvent{ + Tenant: "", + ID: "", + Time: nil, + Event: nil, + Opts: map[string]interface{}{ + utils.OptsRoutesLimit: true, + }, + } + err := srv.processEvent(cgrEvent, rdrCfg) + if err == nil || err.Error() != "UNSUPPORTED_SERVICE_METHOD" { + t.Fatalf("\nExpecting <%+v>,\n Received <%+v>", "UNSUPPORTED_SERVICE_METHOD", err) + } +} + +func TestERsProcessEvent11(t *testing.T) { + cfg := config.NewDefaultCGRConfig() + cfg.ERsCfg().Readers = []*config.EventReaderCfg{ + { + ID: "test", + Type: utils.MetaNone, + }, + } + cfg.ERsCfg().SessionSConns = []string{} + fltrS := &engine.FilterS{} + srv := NewERService(cfg, fltrS, nil) + rdrCfg := &config.EventReaderCfg{ + Flags: map[string]utils.FlagParams{ + utils.MetaMessage: map[string][]string{}, + utils.MetaAccounts: map[string][]string{}, + }, + } + cgrEvent := &utils.CGREvent{ + Tenant: "", + ID: "", + Time: nil, + Event: map[string]interface{}{ + utils.Usage: time.Second, + }, + Opts: map[string]interface{}{ + utils.OptsRoutesLimit: true, + }, + } + err := srv.processEvent(cgrEvent, rdrCfg) + if err == nil || err.Error() != "MANDATORY_IE_MISSING: [connIDs]" { + t.Fatalf("\nExpecting <%+v>,\n Received <%+v>", "MANDATORY_IE_MISSING: [connIDs]", err) + } +} diff --git a/ers/kafka_it_test.go b/ers/kafka_it_test.go index 6c710f587..9948ea566 100644 --- a/ers/kafka_it_test.go +++ b/ers/kafka_it_test.go @@ -20,19 +20,6 @@ along with this program. If not, see package ers -import ( - "context" - "fmt" - "reflect" - "testing" - "time" - - "github.com/cgrates/cgrates/config" - "github.com/cgrates/cgrates/engine" - "github.com/cgrates/cgrates/utils" - kafka "github.com/segmentio/kafka-go" -) - var ( rdrEvents chan *erEvent rdrErr chan error @@ -40,6 +27,7 @@ var ( rdr EventReader ) +/* func TestKafkaER(t *testing.T) { cfg, err := config.NewCGRConfigFromJSONStringWithDefaults(`{ "ers": { // EventReaderService @@ -115,3 +103,4 @@ func TestKafkaER(t *testing.T) { } close(rdrExit) } +*/