Revise and Add new unit tests on agents

This commit is contained in:
armirveliaj
2024-06-05 11:09:50 -04:00
committed by Dan Christian Bogos
parent 36c623599e
commit e20200c30a
3 changed files with 82 additions and 31 deletions

View File

@@ -136,7 +136,7 @@ func TestAgReqSetFields(t *testing.T) {
}
}
func TestAgentRequestSetFields(t *testing.T) {
func TestAgReqSetFieldsComp(t *testing.T) {
req := map[string]any{
utils.AccountField: 1009,
utils.Tenant: "cgrates.org",
@@ -2449,7 +2449,7 @@ func BenchmarkAgReqSetField(b *testing.B) {
}
}
func TestNeedsMaxUsage(t *testing.T) {
func TestAgReqNeedsMaxUsage(t *testing.T) {
if needsMaxUsage(nil) {
t.Error("Expected empty flag to not need maxUsage")
}
@@ -2494,7 +2494,7 @@ func TestAgReqSetFieldsFromCfg(t *testing.T) {
}
func TestFieldAsInterface(t *testing.T) {
func TestAgReqFieldsAsInterface(t *testing.T) {
fldPath := []string{utils.MetaOpts, utils.AccountField}
ar := &AgentRequest{
Request: nil,
@@ -2524,7 +2524,7 @@ func TestFieldAsInterface(t *testing.T) {
}
}
func TestAgentRequestParseFieldDateTimeDaily(t *testing.T) {
func TestAgReqParseFieldDateTimeDaily(t *testing.T) {
tntTpl := config.NewRSRParsersMustCompile("*daily", utils.InfieldSep)
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil)
fctTemp := &config.FCTemplate{
@@ -2553,7 +2553,7 @@ func TestAgentRequestParseFieldDateTimeDaily(t *testing.T) {
}
}
func TestAgentRequestParseFieldDateTimeTimeZone(t *testing.T) {
func TestAgReqParseFieldDateTimeTimeZone(t *testing.T) {
tntTpl := config.NewRSRParsersMustCompile("*daily", utils.InfieldSep)
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil)
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
@@ -2581,7 +2581,7 @@ func TestAgentRequestParseFieldDateTimeTimeZone(t *testing.T) {
}
}
func TestAgentRequestParseFieldDateTimeMonthly(t *testing.T) {
func TestAgReqParseFieldDateTimeMonthly(t *testing.T) {
tntTpl := config.NewRSRParsersMustCompile("*monthly", utils.InfieldSep)
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil)
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
@@ -2609,7 +2609,7 @@ func TestAgentRequestParseFieldDateTimeMonthly(t *testing.T) {
}
}
func TestAgentRequestParseFieldDateTimeMonthlyEstimated(t *testing.T) {
func TestAgReqParseFieldDateTimeMonthlyEstimated(t *testing.T) {
tntTpl := config.NewRSRParsersMustCompile("*monthly_estimated", utils.InfieldSep)
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil)
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
@@ -2637,7 +2637,7 @@ func TestAgentRequestParseFieldDateTimeMonthlyEstimated(t *testing.T) {
}
}
func TestAgentRequestParseFieldDateTimeYearly(t *testing.T) {
func TestAgReqParseFieldDateTimeYearly(t *testing.T) {
tntTpl := config.NewRSRParsersMustCompile("*yearly", utils.InfieldSep)
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil)
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
@@ -2665,7 +2665,7 @@ func TestAgentRequestParseFieldDateTimeYearly(t *testing.T) {
}
}
func TestAgentRequestParseFieldDateTimeMetaUnlimited(t *testing.T) {
func TestAgReqParseFieldDateTimeMetaUnlimited(t *testing.T) {
tntTpl := config.NewRSRParsersMustCompile(utils.MetaUnlimited, utils.InfieldSep)
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil)
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
@@ -2693,7 +2693,7 @@ func TestAgentRequestParseFieldDateTimeMetaUnlimited(t *testing.T) {
}
}
func TestAgentRequestParseFieldDateTimeEmpty(t *testing.T) {
func TestAgReqParseFieldDateTimeEmpty(t *testing.T) {
tntTpl := config.NewRSRParsersMustCompile("", utils.InfieldSep)
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil)
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
@@ -2721,7 +2721,7 @@ func TestAgentRequestParseFieldDateTimeEmpty(t *testing.T) {
}
}
func TestAgentRequestParseFieldDateTimeMonthEnd(t *testing.T) {
func TestAgReqParseFieldDateTimeMonthEnd(t *testing.T) {
tntTpl := config.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep)
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil)
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
@@ -2749,7 +2749,7 @@ func TestAgentRequestParseFieldDateTimeMonthEnd(t *testing.T) {
}
}
func TestAgentRequestParseFieldDateTimeError(t *testing.T) {
func TestAgReqParseFieldDateTimeError(t *testing.T) {
tntTpl := config.NewRSRParsersMustCompile("*month_endTest", utils.InfieldSep)
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil)
fctTemp := &config.FCTemplate{Type: utils.MetaDateTime,
@@ -2765,7 +2765,7 @@ func TestAgentRequestParseFieldDateTimeError(t *testing.T) {
}
}
func TestAgentRequestParseFieldDateTimeError2(t *testing.T) {
func TestAgReqParseFieldDateTimeError2(t *testing.T) {
prsr, err := config.NewRSRParsersFromSlice([]string{"2.", "~*req.CGRID<~*opts.Converter>"})
if err != nil {
t.Fatal(err)
@@ -2784,7 +2784,7 @@ func TestAgentRequestParseFieldDateTimeError2(t *testing.T) {
}
}
func TestAgentRequestRemoveAll(t *testing.T) {
func TestAgReqRemoveAll(t *testing.T) {
tntTpl := config.NewRSRParsersMustCompile("", utils.InfieldSep)
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, nil, tntTpl, "", "", nil, nil)
@@ -2814,7 +2814,7 @@ func TestAgentRequestRemoveAll(t *testing.T) {
}
}
func TestAgentRequestRemove(t *testing.T) {
func TestAgReqRemove(t *testing.T) {
tntTpl := config.NewRSRParsersMustCompile("", utils.InfieldSep)
AgentReq := NewAgentRequest(utils.MapStorage{}, nil, nil, nil, utils.MapStorage{utils.AccountField: "Field1"}, tntTpl, "", "", nil, nil)
testCases := []struct {
@@ -2872,7 +2872,7 @@ func TestAgentRequestRemove(t *testing.T) {
// }
// }
func TestAgentRequestString(t *testing.T) {
func TestAgReqString(t *testing.T) {
sampleRequest := &AgentRequest{
Request: nil,
Vars: nil,

View File

@@ -33,7 +33,7 @@ import (
"github.com/fiorix/go-diameter/v4/diam/datatype"
)
func TestDPFieldAsInterface(t *testing.T) {
func TestLibDiamDPFieldAsInterface(t *testing.T) {
m := diam.NewRequest(diam.CreditControl, 4, nil)
m.NewAVP("Session-Id", avp.Mbit, 0, datatype.UTF8String("simuhuawei;1449573472;00002"))
m.NewAVP(avp.RequestedServiceUnit, avp.Mbit, 0, &diam.GroupedAVP{
@@ -111,7 +111,7 @@ func TestDPFieldAsInterface(t *testing.T) {
}
}
func TestMessageSetAVPsWithPath(t *testing.T) {
func TestLibDiamMessageSetAVPsWithPath(t *testing.T) {
eMessage := diam.NewRequest(diam.CreditControl, 4, nil)
eMessage.NewAVP("Session-Id", avp.Mbit, 0,
datatype.UTF8String("simuhuawei;1449573472;00001"))
@@ -184,7 +184,7 @@ func TestMessageSetAVPsWithPath(t *testing.T) {
}
}
func TestMessageSetAVPsWithPath2(t *testing.T) {
func TestLibDiamMessageSetAVPsWithPath2(t *testing.T) {
eMessage := diam.NewRequest(diam.CreditControl, 4, nil)
eMessage.NewAVP("Multiple-Services-Credit-Control", avp.Mbit, 0, &diam.GroupedAVP{
AVP: []*diam.AVP{
@@ -211,7 +211,7 @@ func TestMessageSetAVPsWithPath2(t *testing.T) {
}
}
func TestMessageSetAVPsWithPath3(t *testing.T) {
func TestLibDiamMessageSetAVPsWithPath3(t *testing.T) {
eMessage := diam.NewRequest(diam.CreditControl, 4, nil)
eMessage.NewAVP("Multiple-Services-Credit-Control", avp.Mbit, 0, &diam.GroupedAVP{
AVP: []*diam.AVP{
@@ -256,7 +256,7 @@ func TestMessageSetAVPsWithPath3(t *testing.T) {
}
}
func TestMessageSetAVPsWithPath4(t *testing.T) {
func TestLibDiamMessageSetAVPsWithPath4(t *testing.T) {
eMessage := diam.NewRequest(diam.CreditControl, 4, nil)
eMessage.NewAVP("Multiple-Services-Credit-Control", avp.Mbit, 0, &diam.GroupedAVP{
AVP: []*diam.AVP{
@@ -300,7 +300,7 @@ func TestMessageSetAVPsWithPath4(t *testing.T) {
}
}
func TestMessageSetAVPsWithPath5(t *testing.T) {
func TestLibDiamMessageSetAVPsWithPath5(t *testing.T) {
eMessage := diam.NewRequest(diam.CreditControl, 4, nil)
eMessage.NewAVP("Multiple-Services-Credit-Control", avp.Mbit, 0, &diam.GroupedAVP{
AVP: []*diam.AVP{
@@ -377,7 +377,7 @@ func TestMessageSetAVPsWithPath6(t *testing.T) {
}
*/
func TestDisectDiamListen(t *testing.T) {
func TestLibDiamDisectDiamListen(t *testing.T) {
expIPs := []net.IP{net.ParseIP("192.168.56.203"), net.ParseIP("192.168.57.203")}
rvc := disectDiamListen("192.168.56.203/192.168.57.203:3869")
if !reflect.DeepEqual(expIPs, rvc) {
@@ -396,7 +396,7 @@ func TestDisectDiamListen(t *testing.T) {
}
func TestUpdateDiamMsgFromNavMap1(t *testing.T) {
func TestLibDiamUpdateDiamMsgFromNavMap1(t *testing.T) {
eMessage := diam.NewRequest(diam.CreditControl, 4, nil)
eMessage.NewAVP("Multiple-Services-Credit-Control", avp.Mbit, 0, &diam.GroupedAVP{
AVP: []*diam.AVP{
@@ -464,7 +464,7 @@ func TestUpdateDiamMsgFromNavMap1(t *testing.T) {
}
}
func TestUpdateDiamMsgFromNavMap2(t *testing.T) {
func TestLibDiamUpdateDiamMsgFromNavMap2(t *testing.T) {
eMessage := diam.NewRequest(diam.CreditControl, 4, nil)
eMessage.NewAVP("Multiple-Services-Credit-Control", avp.Mbit, 0, &diam.GroupedAVP{
AVP: []*diam.AVP{
@@ -558,7 +558,7 @@ func TestUpdateDiamMsgFromNavMap2(t *testing.T) {
}
}
func TestUpdateDiamMsgFromNavMap3(t *testing.T) {
func TestLibDiamUpdateDiamMsgFromNavMap3(t *testing.T) {
eMessage := diam.NewRequest(diam.CreditControl, 4, nil)
eMessage.NewAVP("Multiple-Services-Credit-Control", avp.Mbit, 0, &diam.GroupedAVP{
AVP: []*diam.AVP{
@@ -629,7 +629,7 @@ func TestUpdateDiamMsgFromNavMap3(t *testing.T) {
}
}
func TestUpdateDiamMsgFromNavMap4(t *testing.T) {
func TestLibDiamUpdateDiamMsgFromNavMap4(t *testing.T) {
eMessage := diam.NewRequest(diam.CreditControl, 4, nil)
eMessage.NewAVP("Multiple-Services-Credit-Control", avp.Mbit, 0, &diam.GroupedAVP{
AVP: []*diam.AVP{
@@ -741,7 +741,7 @@ func TestUpdateDiamMsgFromNavMap4(t *testing.T) {
}
}
func TestDiamAVPAsIface(t *testing.T) {
func TestLibDiamAVPAsIface(t *testing.T) {
args := diam.NewAVP(435, avp.Mbit, 0, datatype.Address("127.0.0.1"))
var exp any = net.IP([]byte("127.0.0.1"))
if rply, err := diamAVPAsIface(args); err != nil {
@@ -889,7 +889,7 @@ func TestDiamAVPAsIface(t *testing.T) {
}
}
func TestNewDiamDataType(t *testing.T) {
func TestLibDiamNewDiamDataType(t *testing.T) {
argType := datatype.AddressType
argVal := "127.0.0.1"
var exp datatype.Type = datatype.Address(net.ParseIP("127.0.0.1"))
@@ -1092,7 +1092,7 @@ func TestNewDiamDataType(t *testing.T) {
}
}
func TestDiamAvpGroupIface(t *testing.T) {
func TestLibDiamAvpGroupIface(t *testing.T) {
avps := diam.NewRequest(diam.CreditControl, 4, nil)
avps.NewAVP("Multiple-Services-Credit-Control", avp.Mbit, 0, &diam.GroupedAVP{
AVP: []*diam.AVP{
@@ -1134,7 +1134,7 @@ func TestDiamAvpGroupIface(t *testing.T) {
}
}
func TestFilterWithDiameterDP(t *testing.T) {
func TestLibDiamFilterWithDiameterDP(t *testing.T) {
avps := diam.NewRequest(diam.CreditControl, 4, nil)
avps.NewAVP("Multiple-Services-Credit-Control", avp.Mbit, 0, &diam.GroupedAVP{
AVP: []*diam.AVP{
@@ -1179,3 +1179,30 @@ func TestFilterWithDiameterDP(t *testing.T) {
t.Errorf("Exptected true, received: %+v", pass)
}
}
func TestLibDiamHeaderLen(t *testing.T) {
tests := []struct {
name string
avp *diam.AVP
wantLen int
}{
{
name: "len equals",
avp: &diam.AVP{Flags: avp.Vbit},
wantLen: 12,
},
{
name: "len not set",
avp: &diam.AVP{},
wantLen: 8,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
gotLen := headerLen(tt.avp)
if gotLen != tt.wantLen {
t.Errorf("headerLen() returned %d, want %d", gotLen, tt.wantLen)
}
})
}
}

View File

@@ -141,3 +141,27 @@ func TestRadiusDPFieldAsString(t *testing.T) {
t.Errorf("Expecting: flopsy, received: <%s>", data)
}
}
func TestLibradRadiusDPString(t *testing.T) {
tests := []struct {
name string
req *radigo.Packet
want string
}{
{
name: "NilRequest",
req: nil,
want: "null",
},
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
r := &radiusDP{req: tc.req}
got := r.String()
if got != tc.want {
t.Errorf("Got: %s, Expected: %s", got, tc.want)
}
})
}
}