-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathgoradius_test.go
54 lines (43 loc) · 1.12 KB
/
goradius_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package goradius
import (
"testing"
)
func TestUDPServer(t *testing.T) {
r := NewGoRadius("dict/radius-dict.json", "dict/vendor-dict.json", true, true)
if r == nil {
t.FailNow()
}
avps, err := r.StartUDPServer(1812, SampleSharedSecret)
acct, err := r.StartUDPServer(1813, SampleSharedSecret)
if err != nil {
t.Fatalf("Unable to start server: %s\n", err.Error())
}
for {
select {
case p := <-avps:
t.Logf("Got packet: %s\n", p.String())
for _, avp := range p.AVPS {
t.Logf("Received AVP %s %s %+v\n", avp.Name, avp.Type, avp.Content)
}
if p.PacketType == "Access-Request" {
// Send a sample "Access-Accept" Response
resp := new(RadiusPacket)
resp.Code = uint(2)
resp.PacketId = p.PacketId
resp.Authenticator = p.Authenticator
resp.SharedSecret = "testing123"
resp.Originator = p.Originator
r.SendPacket(resp)
}
return
case p := acct:
t.Logf("Got Acct packet: %s\n", p.String())
for _, avp := range p.AVPS {
t.Logf("Received AVP %s %s %+v\n", avp.Name, avp.Type, avp.Content)
}
}
}
}
func SampleSharedSecret(nas string) string {
return "testing123"
}