all: assert internal objects implement interfaces

This commit is contained in:
Dan Williams
2016-12-14 17:09:01 -06:00
parent 20ae9e156d
commit 5852c60bc4
6 changed files with 22 additions and 0 deletions

View File

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

View File

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

View File

@ -62,6 +62,9 @@ type netNS struct {
closed bool closed bool
} }
// netNS implements the NetNS interface
var _ NetNS = &netNS{}
func getCurrentThreadNetNSPath() string { func getCurrentThreadNetNSPath() string {
// /proc/self/ns/net returns the namespace of the main thread, not // /proc/self/ns/net returns the namespace of the main thread, not
// of whatever thread this goroutine is running on. Make sure we // 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"` SupportedVersions_ []string `json:"supportedVersions,omitempty"`
} }
// pluginInfo implements the PluginInfo interface
var _ PluginInfo = &pluginInfo{}
func (p *pluginInfo) Encode(w io.Writer) error { func (p *pluginInfo) Encode(w io.Writer) error {
return json.NewEncoder(w).Encode(p) return json.NewEncoder(w).Encode(p)
} }

View File

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

View File

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