tests passing on hapool with response_ttl > 0

This commit is contained in:
Radu Ioan Fericean
2016-05-03 15:17:40 +03:00
parent 83b6c9be65
commit 3db05157ac
14 changed files with 129 additions and 87 deletions

View File

@@ -96,7 +96,7 @@ func TestSMGDataLastUsedData(t *testing.T) {
smgEv := SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123491",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -104,7 +104,7 @@ func TestSMGDataLastUsedData(t *testing.T) {
utils.CATEGORY: "data",
utils.TENANT: "cgrates.org",
utils.REQTYPE: utils.META_PREPAID,
utils.SETUP_TIME: "2016-01-05 18:30:49",
utils.SETUP_TIME: "2016-01-05 18:30:59",
utils.ANSWER_TIME: "2016-01-05 18:31:05",
utils.USAGE: "1048576",
}
@@ -124,7 +124,7 @@ func TestSMGDataLastUsedData(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123491",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -132,6 +132,8 @@ func TestSMGDataLastUsedData(t *testing.T) {
utils.CATEGORY: "data",
utils.TENANT: "cgrates.org",
utils.REQTYPE: utils.META_PREPAID,
utils.SETUP_TIME: "2016-01-05 18:30:59",
utils.ANSWER_TIME: "2016-01-05 18:31:05",
utils.USAGE: "1048576",
utils.LastUsed: "20000",
}
@@ -150,7 +152,7 @@ func TestSMGDataLastUsedData(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123491",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -158,6 +160,8 @@ func TestSMGDataLastUsedData(t *testing.T) {
utils.CATEGORY: "data",
utils.TENANT: "cgrates.org",
utils.REQTYPE: utils.META_PREPAID,
utils.SETUP_TIME: "2016-01-05 18:30:59",
utils.ANSWER_TIME: "2016-01-05 18:31:05",
utils.LastUsed: "0",
}
var rpl string
@@ -187,7 +191,7 @@ func TestSMGDataLastUsedMultipleData(t *testing.T) {
smgEv := SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123492",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -195,7 +199,7 @@ func TestSMGDataLastUsedMultipleData(t *testing.T) {
utils.CATEGORY: "data",
utils.TENANT: "cgrates.org",
utils.REQTYPE: utils.META_PREPAID,
utils.SETUP_TIME: "2016-01-05 18:30:49",
utils.SETUP_TIME: "2016-01-05 18:30:50",
utils.ANSWER_TIME: "2016-01-05 18:31:05",
utils.USAGE: "1048576",
}
@@ -221,7 +225,7 @@ func TestSMGDataLastUsedMultipleData(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123492",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -252,7 +256,7 @@ func TestSMGDataLastUsedMultipleData(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123492",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -283,7 +287,7 @@ func TestSMGDataLastUsedMultipleData(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123492",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -314,7 +318,7 @@ func TestSMGDataLastUsedMultipleData(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123492",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -345,7 +349,7 @@ func TestSMGDataLastUsedMultipleData(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123492",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -387,7 +391,7 @@ func TestSMGDataDerivedChargingNoCredit(t *testing.T) {
smgEv := SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.VOICE,
utils.ACCID: "12349",
utils.ACCID: "1234967",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1011",
utils.SUBJECT: "1011",
@@ -403,6 +407,8 @@ func TestSMGDataDerivedChargingNoCredit(t *testing.T) {
if err := smgRPC.Call("SMGenericV1.SessionStart", smgEv, &maxUsage); err != nil {
t.Error(err)
}
// the second derived charging run has no credit
if maxUsage != 0 {
t.Error("Bad max usage: ", maxUsage)
}
@@ -429,7 +435,7 @@ func TestSMGDataTTLExpired(t *testing.T) {
smgEv := SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123494",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -437,7 +443,7 @@ func TestSMGDataTTLExpired(t *testing.T) {
utils.CATEGORY: "data",
utils.TENANT: "cgrates.org",
utils.REQTYPE: utils.META_PREPAID,
utils.SETUP_TIME: "2016-01-05 18:30:49",
utils.SETUP_TIME: "2016-01-05 18:30:52",
utils.ANSWER_TIME: "2016-01-05 18:31:05",
utils.USAGE: "1048576",
}
@@ -478,7 +484,7 @@ func TestSMGDataTTLExpiredMultiUpdates(t *testing.T) {
smgEv := SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123495",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -486,7 +492,7 @@ func TestSMGDataTTLExpiredMultiUpdates(t *testing.T) {
utils.CATEGORY: "data",
utils.TENANT: "cgrates.org",
utils.REQTYPE: utils.META_PREPAID,
utils.SETUP_TIME: "2016-01-05 18:30:49",
utils.SETUP_TIME: "2016-01-05 18:30:53",
utils.ANSWER_TIME: "2016-01-05 18:31:05",
utils.USAGE: "1048576",
}
@@ -513,7 +519,7 @@ func TestSMGDataTTLExpiredMultiUpdates(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123495",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -566,7 +572,7 @@ func TestSMGDataMultipleDataNoUsage(t *testing.T) {
smgEv := SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123496",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -574,7 +580,7 @@ func TestSMGDataMultipleDataNoUsage(t *testing.T) {
utils.CATEGORY: "data",
utils.TENANT: "cgrates.org",
utils.REQTYPE: utils.META_PREPAID,
utils.SETUP_TIME: "2016-01-05 18:30:49",
utils.SETUP_TIME: "2016-01-05 18:30:54",
utils.ANSWER_TIME: "2016-01-05 18:31:05",
utils.USAGE: "1048576",
}
@@ -600,7 +606,7 @@ func TestSMGDataMultipleDataNoUsage(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123496",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -631,7 +637,7 @@ func TestSMGDataMultipleDataNoUsage(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123496",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -662,7 +668,7 @@ func TestSMGDataMultipleDataNoUsage(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123496",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -693,7 +699,7 @@ func TestSMGDataMultipleDataNoUsage(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123496",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -724,7 +730,7 @@ func TestSMGDataMultipleDataNoUsage(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123496",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -766,7 +772,7 @@ func TestSMGDataMultipleDataConstantUsage(t *testing.T) {
smgEv := SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123497",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -774,7 +780,7 @@ func TestSMGDataMultipleDataConstantUsage(t *testing.T) {
utils.CATEGORY: "data",
utils.TENANT: "cgrates.org",
utils.REQTYPE: utils.META_PREPAID,
utils.SETUP_TIME: "2016-01-05 18:30:49",
utils.SETUP_TIME: "2016-01-05 18:30:55",
utils.ANSWER_TIME: "2016-01-05 18:31:05",
utils.USAGE: "1048576",
}
@@ -801,7 +807,7 @@ func TestSMGDataMultipleDataConstantUsage(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123497",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -832,7 +838,7 @@ func TestSMGDataMultipleDataConstantUsage(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123497",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -863,7 +869,7 @@ func TestSMGDataMultipleDataConstantUsage(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123497",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -894,7 +900,7 @@ func TestSMGDataMultipleDataConstantUsage(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123497",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",
@@ -925,7 +931,7 @@ func TestSMGDataMultipleDataConstantUsage(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.DATA,
utils.ACCID: "12349",
utils.ACCID: "123497",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1010",
utils.SUBJECT: "1010",

View File

@@ -117,7 +117,7 @@ func TestSMGVoiceMonetaryRefund(t *testing.T) {
smgEv := SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.VOICE,
utils.ACCID: "12345",
utils.ACCID: "123451",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1001",
utils.SUBJECT: "1001",
@@ -147,7 +147,7 @@ func TestSMGVoiceMonetaryRefund(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.VOICE,
utils.ACCID: "12345",
utils.ACCID: "123451",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1001",
utils.SUBJECT: "1001",
@@ -178,7 +178,7 @@ func TestSMGVoiceVoiceRefund(t *testing.T) {
smgEv := SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.VOICE,
utils.ACCID: "12345",
utils.ACCID: "123452",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1001",
utils.SUBJECT: "1001",
@@ -208,7 +208,7 @@ func TestSMGVoiceVoiceRefund(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.VOICE,
utils.ACCID: "12345",
utils.ACCID: "123452",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1001",
utils.SUBJECT: "1001",
@@ -246,7 +246,7 @@ func TestSMGVoiceMixedRefund(t *testing.T) {
smgEv := SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.VOICE,
utils.ACCID: "12345",
utils.ACCID: "123453",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1001",
utils.SUBJECT: "1001",
@@ -278,7 +278,7 @@ func TestSMGVoiceMixedRefund(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.VOICE,
utils.ACCID: "12345",
utils.ACCID: "123453",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1001",
utils.SUBJECT: "1001",
@@ -438,7 +438,7 @@ func TestSMGVoiceLastUsedEnd(t *testing.T) {
smgEv := SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.VOICE,
utils.ACCID: "12349",
utils.ACCID: "1234911",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1001",
utils.SUBJECT: "1001",
@@ -466,7 +466,7 @@ func TestSMGVoiceLastUsedEnd(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.VOICE,
utils.ACCID: "12349",
utils.ACCID: "1234911",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1001",
utils.SUBJECT: "1001",
@@ -492,7 +492,7 @@ func TestSMGVoiceLastUsedEnd(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.VOICE,
utils.ACCID: "12349",
utils.ACCID: "1234911",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1001",
utils.SUBJECT: "1001",
@@ -529,7 +529,7 @@ func TestSMGVoiceLastUsedNotFixed(t *testing.T) {
smgEv := SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.VOICE,
utils.ACCID: "12349",
utils.ACCID: "1234922",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1001",
utils.SUBJECT: "1001",
@@ -557,7 +557,7 @@ func TestSMGVoiceLastUsedNotFixed(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.VOICE,
utils.ACCID: "12349",
utils.ACCID: "1234922",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1001",
utils.SUBJECT: "1001",
@@ -583,7 +583,7 @@ func TestSMGVoiceLastUsedNotFixed(t *testing.T) {
smgEv = SMGenericEvent{
utils.EVENT_NAME: "TEST_EVENT",
utils.TOR: utils.VOICE,
utils.ACCID: "12349",
utils.ACCID: "1234922",
utils.DIRECTION: utils.OUT,
utils.ACCOUNT: "1001",
utils.SUBJECT: "1001",

View File

@@ -192,8 +192,10 @@ func (self *SMGSession) refund(refundDuration time.Duration) error {
if len(refundIncrements) > 0 {
cd := firstCC.CreateCallDescriptor()
cd.Increments = refundIncrements
cd.CgrID = self.cd.CgrID
cd.RunID = self.cd.RunID
cd.Increments.Compress()
utils.Logger.Info(fmt.Sprintf("Refunding duration %v with cd: %s", initialRefundDuration, utils.ToJSON(cd)))
utils.Logger.Info(fmt.Sprintf("Refunding %s duration %v with incerements: %s", cd.CgrID, initialRefundDuration, utils.ToJSON(cd.Increments)))
var response float64
err := self.rater.Call("Responder.RefundIncrements", cd, &response)
if err != nil {
@@ -253,6 +255,8 @@ func (self *SMGSession) saveOperations(originID string) error {
roundIncrements := firstCC.GetRoundIncrements()
if len(roundIncrements) != 0 {
cd := firstCC.CreateCallDescriptor()
cd.CgrID = self.cd.CgrID
cd.RunID = self.cd.RunID
cd.Increments = roundIncrements
var response float64
if err := self.rater.Call("Responder.RefundRounding", cd, &response); err != nil {

View File

@@ -423,16 +423,10 @@ func (self *SMGeneric) ChargeEvent(gev SMGenericEvent, clnt *rpc2.Client) (maxDu
}
// refund cc
if len(refundIncrements) > 0 {
cd := &engine.CallDescriptor{
Direction: cc.Direction,
Tenant: cc.Tenant,
Category: cc.Category,
Subject: cc.Subject,
Account: cc.Account,
Destination: cc.Destination,
TOR: cc.TOR,
Increments: refundIncrements,
}
cd := cc.CreateCallDescriptor()
cd.Increments = refundIncrements
cd.CgrID = sR.CallDescriptor.CgrID
cd.RunID = sR.CallDescriptor.RunID
cd.Increments.Compress()
utils.Logger.Info(fmt.Sprintf("Refunding session run callcost: %s", utils.ToJSON(cd)))
var response float64