Tests for processEvent function in ers/ers.go

This commit is contained in:
andronache
2021-03-02 10:26:46 +02:00
committed by Dan Christian Bogos
parent 966f3c2c93
commit a87e2f5695
3 changed files with 104 additions and 13 deletions

View File

@@ -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:

View File

@@ -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)
}
}

View File

@@ -20,19 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
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)
}
*/