Files
weave-scope/test/weave/mock.go

77 lines
1.6 KiB
Go

package weave
import (
"net"
"github.com/weaveworks/scope/common/weave"
)
// Constants used for testing
const (
MockWeavePeerName = "winnebago"
MockWeavePeerNickName = "winny"
MockWeaveDefaultSubnet = "10.32.0.1/12"
MockContainerID = "83183a667c01"
MockContainerMAC = "d6:f2:5a:12:36:a8"
MockContainerIP = "10.0.0.123"
MockHostname = "hostname.weave.local"
)
// MockClient is a mock version of weave.Client
type MockClient struct{}
// Status implements weave.Client
func (MockClient) Status() (weave.Status, error) {
return weave.Status{
Router: weave.Router{
Name: MockWeavePeerName,
Peers: []struct {
Name string
NickName string
}{
{
Name: MockWeavePeerName,
NickName: MockWeavePeerNickName,
},
},
},
DNS: weave.DNS{
Entries: []struct {
Hostname string
ContainerID string
Tombstone int64
}{
{
Hostname: MockHostname + ".",
ContainerID: MockContainerID,
Tombstone: 0,
},
},
},
IPAM: weave.IPAM{
DefaultSubnet: MockWeaveDefaultSubnet,
},
}, nil
}
// AddDNSEntry implements weave.Client
func (MockClient) AddDNSEntry(fqdn, containerid string, ip net.IP) error {
return nil
}
// PS implements weave.Client
func (MockClient) PS() (map[string]weave.PSEntry, error) {
return map[string]weave.PSEntry{
MockContainerID: {
ContainerIDPrefix: MockContainerID,
MACAddress: MockContainerMAC,
IPs: []string{MockContainerIP},
},
}, nil
}
// Expose implements weave.Client
func (MockClient) Expose() error {
return nil
}