github.com/pwn-term/docker@v0.0.0-20210616085119-6e977cce2565/libnetwork/drivers/host/host_test.go (about)

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