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

     1  package host
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/docker/docker/libnetwork/types"
     7  )
     8  
     9  func TestDriver(t *testing.T) {
    10  	d := &driver{}
    11  
    12  	if d.Type() != networkType {
    13  		t.Fatal("Unexpected network type returned by driver")
    14  	}
    15  
    16  	err := d.CreateNetwork("first", nil, nil, nil, nil)
    17  	if err != nil {
    18  		t.Fatal(err)
    19  	}
    20  
    21  	if d.network != "first" {
    22  		t.Fatal("Unexpected network id stored")
    23  	}
    24  
    25  	err = d.CreateNetwork("second", nil, nil, nil, nil)
    26  	if err == nil {
    27  		t.Fatal("Second network creation should fail on this driver")
    28  	}
    29  	if _, ok := err.(types.ForbiddenError); !ok {
    30  		t.Fatal("Second network creation failed with unexpected error type")
    31  	}
    32  
    33  	err = d.DeleteNetwork("first")
    34  	if err == nil {
    35  		t.Fatal("network deletion should fail on this driver")
    36  	}
    37  	if _, ok := err.(types.ForbiddenError); !ok {
    38  		t.Fatal("network deletion failed with unexpected error type")
    39  	}
    40  
    41  	// we don't really check if it is there or not, delete is not allowed for this driver, period.
    42  	err = d.DeleteNetwork("unknown")
    43  	if err == nil {
    44  		t.Fatal("any network deletion should fail on this driver")
    45  	}
    46  	if _, ok := err.(types.ForbiddenError); !ok {
    47  		t.Fatal("any network deletion failed with unexpected error type")
    48  	}
    49  }