github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/libnetwork/ipams/null/null_test.go (about)

     1  package null
     2  
     3  import (
     4  	"testing"
     5  
     6  	_ "github.com/docker/libnetwork/testutils"
     7  	"github.com/docker/libnetwork/types"
     8  )
     9  
    10  func TestPoolRequest(t *testing.T) {
    11  	a := allocator{}
    12  
    13  	pid, pool, _, err := a.RequestPool(defaultAS, "", "", nil, false)
    14  	if err != nil {
    15  		t.Fatal(err)
    16  	}
    17  	if !types.CompareIPNet(defaultPool, pool) {
    18  		t.Fatalf("Unexpected pool returned. Expected %v. Got: %v", defaultPool, pool)
    19  	}
    20  	if pid != defaultPoolID {
    21  		t.Fatalf("Unexpected pool id returned. Expected: %s. Got: %s", defaultPoolID, pid)
    22  	}
    23  
    24  	_, _, _, err = a.RequestPool("default", "", "", nil, false)
    25  	if err == nil {
    26  		t.Fatal("Unexpected success")
    27  	}
    28  
    29  	_, _, _, err = a.RequestPool(defaultAS, "192.168.0.0/16", "", nil, false)
    30  	if err == nil {
    31  		t.Fatal("Unexpected success")
    32  	}
    33  
    34  	_, _, _, err = a.RequestPool(defaultAS, "", "192.168.0.0/24", nil, false)
    35  	if err == nil {
    36  		t.Fatal("Unexpected success")
    37  	}
    38  
    39  	_, _, _, err = a.RequestPool(defaultAS, "", "", nil, true)
    40  	if err == nil {
    41  		t.Fatal("Unexpected success")
    42  	}
    43  }
    44  
    45  func TestOtherRequests(t *testing.T) {
    46  	a := allocator{}
    47  
    48  	ip, _, err := a.RequestAddress(defaultPoolID, nil, nil)
    49  	if err != nil {
    50  		t.Fatal(err)
    51  	}
    52  	if ip != nil {
    53  		t.Fatalf("Unexpected address returned: %v", ip)
    54  	}
    55  
    56  	_, _, err = a.RequestAddress("anypid", nil, nil)
    57  	if err == nil {
    58  		t.Fatal("Unexpected success")
    59  	}
    60  
    61  }