-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathhelpers_test.go
49 lines (41 loc) · 958 Bytes
/
helpers_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
package nameserver
import (
"net"
"strings"
)
const idNum uint16 = 1234
const oneQuery uint16 = 1
const twoAnswers uint16 = 2
const nsPort = 8899
var twTigerInLabels = createLabelsFor("twtiger.com.")
var twTigerInBytes = createBytesForLabels(twTigerInLabels)
var ns Nameserver
var oneInTwoBytes = []byte{0, 1}
func createBytesForHeaders() []byte {
return []byte{4, 210, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0}
}
func createBytesForLabels(l []label) (b []byte) {
for _, e := range l {
b = flattenBytes(b, len(string(e)), string(e))
}
return
}
func createLabelsFor(s string) (labels []label) {
a := strings.Split(s, ".")
for _, l := range a {
labels = append(labels, label(l))
}
return
}
func localhost(port int) *net.UDPAddr {
return &net.UDPAddr{
IP: net.ParseIP("127.0.0.1"),
Port: port,
}
}
func localServer(valid bool) Nameserver {
if !valid {
return Nameserver{Addr: localhost(-1)}
}
return Nameserver{Addr: localhost(nsPort)}
}