Add new unit tests on agents

This commit is contained in:
armirveliaj
2024-07-11 10:24:31 -04:00
committed by Dan Christian Bogos
parent ba6f2d9744
commit 8b5e8e7820
2 changed files with 61 additions and 0 deletions

View File

@@ -1845,3 +1845,46 @@ func TestAgReqParseFieldMetaSIPCIDInvalidArgs(t *testing.T) {
t.Errorf("expected: <%+v>, \nreceived: <%+v>", experr, err)
}
}
func TestAgentReqNeedsMaxUsage(t *testing.T) {
tests := []struct {
name string
ralsFlags []string
expected bool
}{
{"No flags", []string{}, false},
{"No matching flags", []string{"flag1", "flag2"}, false},
{"Contains MetaAuthorize", []string{"flag1", utils.MetaAuthorize, "flag2"}, true},
{"Contains MetaInitiate", []string{utils.MetaInitiate}, true},
{"Contains MetaUpdate", []string{"flag1", "flag2", utils.MetaUpdate}, true},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := needsMaxUsage(tt.ralsFlags); got != tt.expected {
t.Errorf("needsMaxUsage() = %v, expected %v", got, tt.expected)
}
})
}
}
func TestAgentReqFieldAsInterfaceDefaultCase(t *testing.T) {
ar := &AgentRequest{}
fldPath := []string{"unsupported"}
_, err := ar.FieldAsInterface(fldPath)
expectedErr := fmt.Sprintf("unsupported field prefix: <%s>", fldPath[0])
if err == nil || err.Error() != expectedErr {
t.Errorf("Expected error %v, but got %v", expectedErr, err)
}
}
func TestAgentReqFieldDefaultCase(t *testing.T) {
ar := &AgentRequest{}
_, err := ar.Field(utils.PathItems{{Field: "unsupported"}})
if err == nil || err.Error() != "unsupported field prefix: <unsupported>" {
t.Errorf("expected error 'unsupported field prefix: <unsupported>', got %v", err)
}
val, err := ar.Field(utils.PathItems{{Field: "MetaDiamreq"}, {Field: "valid"}})
if err == nil {
t.Errorf("expected 'result', got %v, err: %v", val, err)
}
}

View File

@@ -192,3 +192,21 @@ func TestRadiusDPFieldAsString(t *testing.T) {
t.Errorf("Expecting: flopsy, received: <%s>", data)
}
}
func TestRadFieldOutValMetaFiller(t *testing.T) {
pkt := &radigo.Packet{}
agReq := &AgentRequest{}
cfgFld := &config.FCTemplate{}
outVal, err := radFieldOutVal(pkt, agReq, cfgFld)
expectedOutVal := "value"
expectedPadding := utils.MetaRight
if outVal == expectedOutVal {
t.Errorf("radFieldOutVal() returned unexpected outVal. Expected: %s, Got: %s", expectedOutVal, outVal)
}
if cfgFld.Padding == expectedPadding {
t.Errorf("radFieldOutVal() did not set expected padding value. Expected: %s, Got: %s", expectedPadding, cfgFld.Padding)
}
if err == nil {
t.Errorf("radFieldOutVal() returned unexpected error: %v", err)
}
}