From 5699d69130292e81f5b87cb87565d60dfbe3359e Mon Sep 17 00:00:00 2001 From: Trial97 Date: Mon, 3 Aug 2020 16:42:12 +0300 Subject: [PATCH] Added tests for ChargerSv1.ProcessEvent --- apier/v1/chargers_it_test.go | 43 +++++++++++++++++++++++++++++++++++- engine/chargers.go | 3 +++ go.mod | 1 + go.sum | 24 ++------------------ 4 files changed, 48 insertions(+), 23 deletions(-) diff --git a/apier/v1/chargers_it_test.go b/apier/v1/chargers_it_test.go index 3eb6359b9..066e32797 100755 --- a/apier/v1/chargers_it_test.go +++ b/apier/v1/chargers_it_test.go @@ -69,6 +69,7 @@ var ( testChargerSRPCConn, testChargerSLoadAddCharger, testChargerSGetChargersForEvent, + testChargerSGetChargersForEvent2, testChargerSProcessEvent, testChargerSSetChargerProfile, testChargerSGetChargerProfileIDs, @@ -159,6 +160,27 @@ func testChargerSLoadAddCharger(t *testing.T) { } else if result != utils.OK { t.Error("Unexpected reply returned", result) } + + chargerProfile = &ChargerWithCache{ + ChargerProfile: &engine.ChargerProfile{ + Tenant: "cgrates.org", + ID: "ChargerNotMatching", + FilterIDs: []string{"*string:~*req.Account:1015", "*gt:~*req.Usage:10"}, + ActivationInterval: &utils.ActivationInterval{ + ActivationTime: time.Date(2014, 7, 29, 15, 0, 0, 0, time.UTC), + }, + RunID: utils.MetaDefault, + AttributeIDs: []string{"*none"}, + Weight: 20, + }, + } + + if err := chargerRPC.Call(utils.APIerSv1SetChargerProfile, chargerProfile, &result); err != nil { + t.Error(err) + } else if result != utils.OK { + t.Error("Unexpected reply returned", result) + } + alsPrf = &AttributeWithCache{ AttributeProfile: &engine.AttributeProfile{ Tenant: "cgrates.org", @@ -212,6 +234,25 @@ func testChargerSGetChargersForEvent(t *testing.T) { } } +func testChargerSGetChargersForEvent2(t *testing.T) { + var result *engine.ChargerProfiles + if err := chargerRPC.Call(utils.ChargerSv1GetChargersForEvent, + &utils.CGREventWithArgDispatcher{ + CGREvent: &utils.CGREvent{ // matching Charger1 + Tenant: "cgrates.org", + ID: "event1", + Event: map[string]interface{}{ + utils.Account: "1015", + utils.Usage: 1, + }, + }, + }, &result); err == nil || + err.Error() != utils.ErrNotFound.Error() { + t.Error(err) + t.Error(utils.ToJSON(result)) + } +} + func testChargerSProcessEvent(t *testing.T) { processedEv := &[]*engine.ChrgSProcessEventReply{ { @@ -272,7 +313,7 @@ func testChargerSSetChargerProfile(t *testing.T) { } func testChargerSGetChargerProfileIDs(t *testing.T) { - expected := []string{"Charger1", "ApierTest"} + expected := []string{"Charger1", "ApierTest", "ChargerNotMatching"} var result []string if err := chargerRPC.Call(utils.APIerSv1GetChargerProfileIDs, utils.TenantArgWithPaginator{TenantArg: utils.TenantArg{Tenant: "cgrates.org"}}, &result); err != nil { t.Error(err) diff --git a/engine/chargers.go b/engine/chargers.go index 8574fbd34..9d2e32a86 100644 --- a/engine/chargers.go +++ b/engine/chargers.go @@ -89,6 +89,9 @@ func (cS *ChargerService) matchingChargerProfilesForEvent(cgrEv *utils.CGREventW } matchingCPs[cpID] = cP } + if len(matchingCPs) == 0 { + return nil, utils.ErrNotFound + } cPs = make(ChargerProfiles, len(matchingCPs)) i := 0 for _, cP := range matchingCPs { diff --git a/go.mod b/go.mod index e5fbc89ea..ced846064 100644 --- a/go.mod +++ b/go.mod @@ -52,6 +52,7 @@ require ( github.com/xdg/stringprep v1.0.1-0.20180714160509-73f8eece6fdc // indirect go.mongodb.org/mongo-driver v1.1.1 go.opencensus.io v0.22.1-0.20190713072201-b4a14686f0a9 // indirect + golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de // indirect golang.org/x/net v0.0.0-20190909003024-a7b16738d86b golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 google.golang.org/api v0.10.0 diff --git a/go.sum b/go.sum index 501a2c2a8..463b9648d 100644 --- a/go.sum +++ b/go.sum @@ -55,34 +55,12 @@ github.com/cgrates/aringo v0.0.0-20181115151919-f996da7890ea h1:KvikDlQoQdSWBc2E github.com/cgrates/aringo v0.0.0-20181115151919-f996da7890ea/go.mod h1:rGqp3Xbv+cXkzlJQ12SEz7a0wx5k7wVsVPAMFszuyCA= github.com/cgrates/fsock v0.0.0-20190623100231-317895b42f1a h1:GTXhk4FSzdyLkJgK5J8l2g1MR6nMnl0KPZKoLlLuEk8= github.com/cgrates/fsock v0.0.0-20190623100231-317895b42f1a/go.mod h1:uWcTZ01eKJdWcoYBhsEXKgSlO6Vv8wT9qcR5JeJovBs= -github.com/cgrates/kamevapi v0.0.0-20190605144325-ec679e017654 h1:D2NqOOYKha71Ab6WfZBCJpWZOyr8BPpAm3q5a1OWFBI= -github.com/cgrates/kamevapi v0.0.0-20190605144325-ec679e017654/go.mod h1:pgHqPlPcEDIQbbs9wyBk7YZTcaVdxMqf3v04XU+mngI= -github.com/cgrates/kamevapi v0.0.0-20191001070356-51d06bab2926 h1:eb9F8blPHqBnAyLkW5U0eTTV0/j2tMrVTIBVxcm8bXY= -github.com/cgrates/kamevapi v0.0.0-20191001070356-51d06bab2926/go.mod h1:pgHqPlPcEDIQbbs9wyBk7YZTcaVdxMqf3v04XU+mngI= github.com/cgrates/kamevapi v0.0.0-20191001125829-7dbc3ad58817 h1:1Tdv6H/usqmkQVeQbd+x87L5xo6DFmbYpbI00qfrWGw= github.com/cgrates/kamevapi v0.0.0-20191001125829-7dbc3ad58817/go.mod h1:pgHqPlPcEDIQbbs9wyBk7YZTcaVdxMqf3v04XU+mngI= github.com/cgrates/ltcache v0.0.0-20181016092649-92fb7fa77cca h1:Ejj4m0Ccl8dMMVnoHk4nQMlbR3w24llqQDy66DO9E0A= github.com/cgrates/ltcache v0.0.0-20181016092649-92fb7fa77cca/go.mod h1:q7c996DUu8OrJRnewVSQzM+y/bRcxZAHoo+zCD8bFBo= -github.com/cgrates/radigo v0.0.0-20181207143118-e5c8f3272ccc h1:vOvPAyI9pNhUM5k/Wc3mYvwmGpDrMg41BMkz4AW1wfg= -github.com/cgrates/radigo v0.0.0-20181207143118-e5c8f3272ccc/go.mod h1:cMU/VXvC9YH2kXbhpgnkppYRjpqS8XgkKb8dI8HpU1I= -github.com/cgrates/radigo v0.0.0-20200101201328-55baf0f8c432 h1:JlaJ1vGsR9EmvamLffFoW5AILBeaoCOhuLLANIUSgpk= -github.com/cgrates/radigo v0.0.0-20200101201328-55baf0f8c432/go.mod h1:mTCzHAYfgZlRe0HorDz+jy2JTrNvNuKkHBAUjDZBWq8= github.com/cgrates/radigo v0.0.0-20200102144505-ef98592ff532 h1:Lyuz+ROAx4d4ep5HKeiBFFC2OaK/yyJ5KTFRquFOyrQ= github.com/cgrates/radigo v0.0.0-20200102144505-ef98592ff532/go.mod h1:mTCzHAYfgZlRe0HorDz+jy2JTrNvNuKkHBAUjDZBWq8= -github.com/cgrates/rpcclient v0.0.0-20190505150825-8fcc68b2c38b h1:GC+/hEDN/2Frh8Tjkf7u1XFxj0Z2XtwjBxj0OH6Mzhw= -github.com/cgrates/rpcclient v0.0.0-20190505150825-8fcc68b2c38b/go.mod h1:Jy5Lv0y57OlxlNATKrkyAxgftYLHqXuxONgd4qsAC1U= -github.com/cgrates/rpcclient v0.0.0-20191115092211-732f09b356e3 h1:Hr038ZfPZz87OKLV4pRSzf3U06lZ8zjl/cXpwrv7hCM= -github.com/cgrates/rpcclient v0.0.0-20191115092211-732f09b356e3/go.mod h1:Jy5Lv0y57OlxlNATKrkyAxgftYLHqXuxONgd4qsAC1U= -github.com/cgrates/rpcclient v0.0.0-20191209100218-70f91dc30ac6 h1:g1LZmbYvqYkGAxM4/bNfTcBooCFf0lK2mgrp3yZERL0= -github.com/cgrates/rpcclient v0.0.0-20191209100218-70f91dc30ac6/go.mod h1:xXLqAKVvcdWeDYwHJYwDgAI3ZOg5LZYxzb72kLjsLZU= -github.com/cgrates/rpcclient v0.0.0-20191212101551-ff9c136f66a7 h1:szJPaMz/49gP0X6M1DhjhImDP3rLN8ul7rio2tzorNc= -github.com/cgrates/rpcclient v0.0.0-20191212101551-ff9c136f66a7/go.mod h1:xXLqAKVvcdWeDYwHJYwDgAI3ZOg5LZYxzb72kLjsLZU= -github.com/cgrates/rpcclient v0.0.0-20200107085551-6be8ad1df845 h1:bzvXBBqUqf2q4nW8RAwy+BXwxzlxFSGUAkW8W0TNLk8= -github.com/cgrates/rpcclient v0.0.0-20200107085551-6be8ad1df845/go.mod h1:xXLqAKVvcdWeDYwHJYwDgAI3ZOg5LZYxzb72kLjsLZU= -github.com/cgrates/rpcclient v0.0.0-20200107134035-188454eb71b3 h1:esWCSaLD2j+zfK9JpyPXFSe3c97MQFhfKp9jDiss1mU= -github.com/cgrates/rpcclient v0.0.0-20200107134035-188454eb71b3/go.mod h1:xXLqAKVvcdWeDYwHJYwDgAI3ZOg5LZYxzb72kLjsLZU= -github.com/cgrates/rpcclient v0.0.0-20200326100105-a579e2c47453 h1:kgIdi3qR/meiWILdmDRuDi1fFgd6A3lutGV6HLiTDyc= -github.com/cgrates/rpcclient v0.0.0-20200326100105-a579e2c47453/go.mod h1:xXLqAKVvcdWeDYwHJYwDgAI3ZOg5LZYxzb72kLjsLZU= github.com/cgrates/rpcclient v0.0.0-20200528120144-984f478f0a69 h1:4vKQbGGdle7SyHMXm9obE2DgSDnsf5ayFSS0cqO16vI= github.com/cgrates/rpcclient v0.0.0-20200528120144-984f478f0a69/go.mod h1:xXLqAKVvcdWeDYwHJYwDgAI3ZOg5LZYxzb72kLjsLZU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= @@ -243,6 +221,8 @@ golang.org/x/crypto v0.0.0-20190506204251-e1dfcc566284/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190829043050-9756ffdc2472 h1:Gv7RPwsi3eZ2Fgewe3CBsuOebPwO27PoXzRpJPsvSSM= golang.org/x/crypto v0.0.0-20190829043050-9756ffdc2472/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de h1:ikNHVSjEfnvz6sxdSPCaPt572qowuyMDMJLLm3Db3ig= +golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=