mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-21 07:08:45 +05:00
Merge fixes
This commit is contained in:
@@ -20,6 +20,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
package v1
|
||||
|
||||
import (
|
||||
"github.com/cgrates/cgrates/config"
|
||||
"github.com/cgrates/cgrates/engine"
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
"math/rand"
|
||||
"net/rpc"
|
||||
"net/rpc/jsonrpc"
|
||||
@@ -27,10 +30,6 @@ import (
|
||||
"reflect"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/cgrates/cgrates/config"
|
||||
"github.com/cgrates/cgrates/engine"
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -47,12 +46,14 @@ var evs = []*engine.StatEvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "event1",
|
||||
Fields: map[string]interface{}{
|
||||
utils.ANSWER_TIME: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC).Local()}},
|
||||
utils.ANSWER_TIME: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC).Local(),
|
||||
}},
|
||||
&engine.StatEvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "event2",
|
||||
Fields: map[string]interface{}{
|
||||
utils.ANSWER_TIME: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC).Local()}},
|
||||
utils.ANSWER_TIME: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC).Local(),
|
||||
}},
|
||||
&engine.StatEvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "event3",
|
||||
@@ -75,7 +76,6 @@ var sTestsStatSV1 = []func(t *testing.T){
|
||||
testV1STSSetStatQueueProfile,
|
||||
testV1STSUpdateStatQueueProfile,
|
||||
testV1STSRemoveStatQueueProfile,
|
||||
//testV1STSGetStatQueueProfileAfterRemove,
|
||||
testV1STSStopEngine,
|
||||
}
|
||||
|
||||
@@ -149,9 +149,12 @@ func testV1STSGetStats(t *testing.T) {
|
||||
expectedMetrics := map[string]string{
|
||||
utils.MetaASR: utils.NOT_AVAILABLE,
|
||||
utils.MetaACD: utils.NOT_AVAILABLE,
|
||||
utils.MetaTCC: utils.NOT_AVAILABLE,
|
||||
utils.MetaTCD: utils.NOT_AVAILABLE,
|
||||
utils.MetaACC: utils.NOT_AVAILABLE,
|
||||
}
|
||||
if err := stsV1Rpc.Call("StatSV1.GetQueueStringMetrics",
|
||||
&utils.TenantID{"cgrates.org", expectedIDs[0]}, &metrics); err != nil {
|
||||
&utils.TenantID{Tenant: "cgrates.org", ID: expectedIDs[0]}, &metrics); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(expectedMetrics, metrics) {
|
||||
t.Errorf("expecting: %+v, received reply: %s", expectedMetrics, metrics)
|
||||
@@ -160,51 +163,52 @@ func testV1STSGetStats(t *testing.T) {
|
||||
|
||||
func testV1STSProcessEvent(t *testing.T) {
|
||||
var reply string
|
||||
if err := stsV1Rpc.Call("StatSV1.ProcessEvent",
|
||||
engine.StatEvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "event1",
|
||||
Fields: map[string]interface{}{
|
||||
utils.ACCOUNT: "1001",
|
||||
utils.ANSWER_TIME: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC),
|
||||
utils.USAGE: time.Duration(125 * time.Second)}},
|
||||
&reply); err != nil {
|
||||
ev1 := engine.StatEvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "event1",
|
||||
Fields: map[string]interface{}{
|
||||
utils.ACCOUNT: "1001",
|
||||
utils.ANSWER_TIME: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC),
|
||||
utils.USAGE: time.Duration(135 * time.Second),
|
||||
utils.COST: 123.0}}
|
||||
if err := stsV1Rpc.Call("StatSV1.ProcessEvent", &ev1, &reply); err != nil {
|
||||
t.Error(err)
|
||||
} else if reply != utils.OK {
|
||||
t.Errorf("received reply: %s", reply)
|
||||
}
|
||||
if err := stsV1Rpc.Call("StatSV1.ProcessEvent",
|
||||
engine.StatEvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "event2",
|
||||
Fields: map[string]interface{}{
|
||||
utils.ACCOUNT: "1002",
|
||||
utils.ANSWER_TIME: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC),
|
||||
utils.USAGE: time.Duration(45 * time.Second)}},
|
||||
&reply); err != nil {
|
||||
ev2 := engine.StatEvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "event2",
|
||||
Fields: map[string]interface{}{
|
||||
utils.ACCOUNT: "1002",
|
||||
utils.ANSWER_TIME: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC),
|
||||
utils.USAGE: time.Duration(45 * time.Second)}}
|
||||
if err := stsV1Rpc.Call("StatSV1.ProcessEvent", &ev2, &reply); err != nil {
|
||||
t.Error(err)
|
||||
} else if reply != utils.OK {
|
||||
t.Errorf("received reply: %s", reply)
|
||||
}
|
||||
if err := stsV1Rpc.Call("StatSV1.ProcessEvent",
|
||||
engine.StatEvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "event3",
|
||||
Fields: map[string]interface{}{
|
||||
utils.ACCOUNT: "1002",
|
||||
utils.SETUP_TIME: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC),
|
||||
utils.USAGE: 0}},
|
||||
&reply); err != nil {
|
||||
ev3 := engine.StatEvent{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "event3",
|
||||
Fields: map[string]interface{}{
|
||||
utils.ACCOUNT: "1002",
|
||||
utils.SETUP_TIME: time.Date(2014, 7, 14, 14, 25, 0, 0, time.UTC),
|
||||
utils.USAGE: 0}}
|
||||
if err := stsV1Rpc.Call("StatSV1.ProcessEvent", &ev3, &reply); err != nil {
|
||||
t.Error(err)
|
||||
} else if reply != utils.OK {
|
||||
t.Errorf("received reply: %s", reply)
|
||||
}
|
||||
expectedMetrics := map[string]string{
|
||||
utils.MetaASR: "66.66667%",
|
||||
utils.MetaACD: "170s",
|
||||
utils.MetaACD: "1m30s",
|
||||
utils.MetaACC: "61.5",
|
||||
utils.MetaTCD: "3m0s",
|
||||
utils.MetaTCC: "123",
|
||||
}
|
||||
var metrics map[string]string
|
||||
if err := stsV1Rpc.Call("StatSV1.GetQueueStringMetrics", &utils.TenantID{"cgrates.org", "STATS_1"}, &metrics); err != nil {
|
||||
if err := stsV1Rpc.Call("StatSV1.GetQueueStringMetrics", &utils.TenantID{Tenant: "cgrates.org", ID: "STATS_1"}, &metrics); err != nil {
|
||||
t.Error(err)
|
||||
} else if !reflect.DeepEqual(expectedMetrics, metrics) {
|
||||
t.Errorf("expecting: %+v, received reply: %s", expectedMetrics, metrics)
|
||||
@@ -332,14 +336,4 @@ func BenchmarkStatSV1SetEvent(b *testing.B) {
|
||||
}
|
||||
}
|
||||
|
||||
// BenchmarkStatSV1GetQueueStringMetrics 20000 94607 ns/op
|
||||
func BenchmarkStatSV1GetQueueStringMetrics(b *testing.B) {
|
||||
for i := 0; i < b.N; i++ {
|
||||
var metrics map[string]string
|
||||
if err := stsV1Rpc.Call("StatSV1.GetQueueStringMetrics", "Stats1",
|
||||
&metrics); err != nil {
|
||||
b.Error(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
// BenchmarkStatSV1GetQueueStringMetrics 20000
|
||||
Reference in New Issue
Block a user