Skip to content

Commit ef97227

Browse files
committed
pan: add some more unit tests for DNS resolver
1 parent bb14e40 commit ef97227

File tree

1 file changed

+28
-4
lines changed

1 file changed

+28
-4
lines changed

pkg/pan/dns_txt_test.go

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,18 @@ func TestDNSResolver(t *testing.T) {
2929
expected scionAddr
3030
}{
3131
{"example.com", assert.NoError, mustParse("1-ff00:0:f00,[192.0.2.1]")},
32-
{"example.net", assert.NoError, mustParse("1-ff00:0:ba5,[192.0.2.1]")},
32+
{"example.net", assert.NoError, mustParse("1-ff00:0:ba5,[192.0.2.38]")},
33+
{"example.org", assert.Error, scionAddr{}},
34+
{"noia.example.org", assert.Error, scionAddr{}},
35+
{"noip.example.org", assert.Error, scionAddr{}},
36+
{"trailing.example.org", assert.Error, scionAddr{}},
37+
{"example.edu", assertErrHostNotFound, scionAddr{}},
38+
{"empty.example.edu", assertErrHostNotFound, scionAddr{}},
3339
{"dummy4", assertErrHostNotFound, scionAddr{}},
3440
{"barbaz", assertErrHostNotFound, scionAddr{}},
3541
}
36-
var m *mockResolver
37-
resolver := &dnsResolver{res: m}
42+
var m mockResolver
43+
resolver := &dnsResolver{res: &m}
3844
for _, c := range cases {
3945
actual, err := resolver.Resolve(context.TODO(), c.name)
4046
if !c.assertErr(t, err) {
@@ -63,10 +69,28 @@ func (r *mockResolver) LookupTXT(ctx context.Context, name string) ([]string, er
6369
"scion=1-ff00:0:f00,[192.0.2.1]",
6470
},
6571
"example.net.": {
66-
"scion=1-ff00:0:ba5,[192.0.2.1]",
72+
"scion=1-ff00:0:ba5,[192.0.2.38]",
6773
"BOOM_verify_3ovqPKkST76TzF2c7b13YA",
6874
"v=spf1 include:_id.example.net ip4:192.0.2.38 ip4:192.0.2.197 ~all",
6975
},
76+
"example.org.": {
77+
"scion=1-ff00:0:invalid,[192.0.2.1]",
78+
},
79+
"noip.example.org.": {
80+
"scion=1-ff00:0:f01",
81+
},
82+
"noia.example.org.": {
83+
"scion=192.0.2.100",
84+
},
85+
"trailing.example.org.": {
86+
"scion=1-ff00:0:f01,[192.0.2.100] something more",
87+
},
88+
"example.edu.": {
89+
"v=spf1 include:_id.example.org ip4:192.0.2.203 ip4:192.0.2.213 ~all",
90+
},
91+
"empty.example.edu.": {
92+
"",
93+
},
7094
}[name]
7195
if !ok {
7296
return nil, &net.DNSError{IsNotFound: true}

0 commit comments

Comments
 (0)