Merge pull request #344 from dcbw/interface-checks

all: assert internal objects implement interfaces
This commit is contained in:
Gabe Rosenhouse 2016-12-15 18:34:57 -08:00 committed by GitHub
commit 47f6604b5a
6 changed files with 22 additions and 0 deletions

View File

@ -43,6 +43,9 @@ type CNIConfig struct {
Path []string
}
// CNIConfig implements the CNI interface
var _ CNI = &CNIConfig{}
// AddNetwork executes the plugin with the ADD command
func (c *CNIConfig) AddNetwork(net *NetworkConfig, rt *RuntimeConf) (*types.Result, error) {
pluginPath, err := invoke.FindInPath(net.Network.Type, c.Path)

View File

@ -47,6 +47,9 @@ type Args struct {
Path string
}
// Args implements the CNIArgs interface
var _ CNIArgs = &Args{}
func (args *Args) AsEnv() []string {
env := os.Environ()
pluginArgsStr := args.PluginArgsStr

View File

@ -62,6 +62,9 @@ type netNS struct {
closed bool
}
// netNS implements the NetNS interface
var _ NetNS = &netNS{}
func getCurrentThreadNetNSPath() string {
// /proc/self/ns/net returns the namespace of the main thread, not
// of whatever thread this goroutine is running on. Make sure we

View File

@ -36,6 +36,9 @@ type pluginInfo struct {
SupportedVersions_ []string `json:"supportedVersions,omitempty"`
}
// pluginInfo implements the PluginInfo interface
var _ PluginInfo = &pluginInfo{}
func (p *pluginInfo) Encode(w io.Writer) error {
return json.NewEncoder(w).Encode(p)
}

View File

@ -21,6 +21,8 @@ import (
"os"
"path/filepath"
"strings"
"github.com/containernetworking/cni/plugins/ipam/host-local/backend"
)
const lastIPFile = "last_reserved_ip"
@ -32,6 +34,9 @@ type Store struct {
dataDir string
}
// Store implements the Store interface
var _ backend.Store = &Store{}
func New(network, dataDir string) (*Store, error) {
if dataDir == "" {
dataDir = defaultDataDir

View File

@ -16,6 +16,8 @@ package testing
import (
"net"
"github.com/containernetworking/cni/plugins/ipam/host-local/backend"
)
type FakeStore struct {
@ -23,6 +25,9 @@ type FakeStore struct {
lastReservedIP net.IP
}
// FakeStore implements the Store interface
var _ backend.Store = &FakeStore{}
func NewFakeStore(ipmap map[string]string, lastIP net.IP) *FakeStore {
return &FakeStore{ipmap, lastIP}
}