1package ipvlan
2
3import (
4	"testing"
5
6	"github.com/docker/docker/pkg/plugingetter"
7	"github.com/docker/libnetwork/driverapi"
8	_ "github.com/docker/libnetwork/testutils"
9)
10
11const testNetworkType = "ipvlan"
12
13type driverTester struct {
14	t *testing.T
15	d *driver
16}
17
18func (dt *driverTester) GetPluginGetter() plugingetter.PluginGetter {
19	return nil
20}
21
22func (dt *driverTester) RegisterDriver(name string, drv driverapi.Driver,
23	cap driverapi.Capability) error {
24	if name != testNetworkType {
25		dt.t.Fatalf("Expected driver register name to be %q. Instead got %q",
26			testNetworkType, name)
27	}
28
29	if _, ok := drv.(*driver); !ok {
30		dt.t.Fatalf("Expected driver type to be %T. Instead got %T",
31			&driver{}, drv)
32	}
33
34	dt.d = drv.(*driver)
35	return nil
36}
37
38func TestIpvlanInit(t *testing.T) {
39	if err := Init(&driverTester{t: t}, nil); err != nil {
40		t.Fatal(err)
41	}
42}
43
44func TestIpvlanNilConfig(t *testing.T) {
45	dt := &driverTester{t: t}
46	if err := Init(dt, nil); err != nil {
47		t.Fatal(err)
48	}
49
50	if err := dt.d.initStore(nil); err != nil {
51		t.Fatal(err)
52	}
53}
54
55func TestIpvlanType(t *testing.T) {
56	dt := &driverTester{t: t}
57	if err := Init(dt, nil); err != nil {
58		t.Fatal(err)
59	}
60
61	if dt.d.Type() != testNetworkType {
62		t.Fatalf("Expected Type() to return %q. Instead got %q", testNetworkType,
63			dt.d.Type())
64	}
65}
66