github.com/rish1988/moby@v25.0.2+incompatible/libnetwork/endpoint_test.go (about)

     1  package libnetwork
     2  
     3  import (
     4  	"sort"
     5  	"testing"
     6  
     7  	"gotest.tools/v3/assert"
     8  	is "gotest.tools/v3/assert/cmp"
     9  )
    10  
    11  func TestSortByNetworkType(t *testing.T) {
    12  	nws := []*Network{
    13  		{name: "local2"},
    14  		{name: "ovl2", dynamic: true},
    15  		{name: "local3"},
    16  		{name: "ingress", ingress: true},
    17  		{name: "ovl3", dynamic: true},
    18  		{name: "local1"},
    19  		{name: "ovl1", dynamic: true},
    20  	}
    21  	eps := make([]*Endpoint, 0, len(nws))
    22  	for _, nw := range nws {
    23  		eps = append(eps, &Endpoint{
    24  			name:    "ep-" + nw.name,
    25  			network: nw,
    26  		})
    27  	}
    28  	sort.Sort(ByNetworkType(eps))
    29  	actual := make([]string, 0, len(eps))
    30  	for _, ep := range eps {
    31  		actual = append(actual, ep.name)
    32  	}
    33  	expected := []string{
    34  		"ep-ovl2",
    35  		"ep-ovl3",
    36  		"ep-ovl1",
    37  		"ep-ingress",
    38  		"ep-local2",
    39  		"ep-local3",
    40  		"ep-local1",
    41  	}
    42  	assert.Check(t, is.DeepEqual(actual, expected))
    43  }