| package libnetwork |
| |
| import ( |
| "sort" |
| "testing" |
| |
| "gotest.tools/v3/assert" |
| is "gotest.tools/v3/assert/cmp" |
| ) |
| |
| func TestSortByNetworkType(t *testing.T) { |
| nws := []*Network{ |
| {name: "local2"}, |
| {name: "ovl2", dynamic: true}, |
| {name: "local3"}, |
| {name: "ingress", ingress: true}, |
| {name: "ovl3", dynamic: true}, |
| {name: "local1"}, |
| {name: "ovl1", dynamic: true}, |
| } |
| eps := make([]*Endpoint, 0, len(nws)) |
| for _, nw := range nws { |
| eps = append(eps, &Endpoint{ |
| name: "ep-" + nw.name, |
| network: nw, |
| }) |
| } |
| sort.Sort(ByNetworkType(eps)) |
| actual := make([]string, 0, len(eps)) |
| for _, ep := range eps { |
| actual = append(actual, ep.name) |
| } |
| expected := []string{ |
| "ep-ovl2", |
| "ep-ovl3", |
| "ep-ovl1", |
| "ep-ingress", |
| "ep-local2", |
| "ep-local3", |
| "ep-local1", |
| } |
| assert.Check(t, is.DeepEqual(actual, expected)) |
| } |