github.com/Heebron/moby@v0.0.0-20221111184709-6eab4f55faf7/libnetwork/drivers/ipvlan/ipvlan_test.go (about)

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