wireguard-go/endpoint_test.go
Mathias Hall-Andersen 6cecaf3157 Begin work on full device<->device unit-test
To simulate a full interaction between two WireGuard
instances without networking, using dummy instances of the interfaces
2018-03-08 16:44:46 +01:00

49 lines
798 B
Go

package main
import (
"math/rand"
"net"
)
type DummyEndpoint struct {
src [16]byte
dst [16]byte
}
func CreateDummyEndpoint() (*DummyEndpoint, error) {
var end DummyEndpoint
if _, err := rand.Read(end.src[:]); err != nil {
return nil, err
}
_, err := rand.Read(end.dst[:])
return &end, err
}
func (e *DummyEndpoint) ClearSrc() {}
func (e *DummyEndpoint) SrcToString() string {
var addr net.UDPAddr
addr.IP = e.SrcIP()
addr.Port = 1000
return addr.String()
}
func (e *DummyEndpoint) DstToString() string {
var addr net.UDPAddr
addr.IP = e.DstIP()
addr.Port = 1000
return addr.String()
}
func (e *DummyEndpoint) SrcToBytes() []byte {
return e.src[:]
}
func (e *DummyEndpoint) DstIP() net.IP {
return e.dst[:]
}
func (e *DummyEndpoint) SrcIP() net.IP {
return e.src[:]
}