mirror of
https://github.com/aljazceru/kata-containers.git
synced 2026-01-29 11:14:31 +01:00
Split network_test.go into separate test files. Signed-off-by: Archana Shinde <archana.m.shinde@intel.com>
103 lines
2.5 KiB
Go
103 lines
2.5 KiB
Go
// Copyright (c) 2018 Intel Corporation
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
|
|
package virtcontainers
|
|
|
|
import (
|
|
"net"
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestCreateVirtualNetworkEndpoint(t *testing.T) {
|
|
macAddr := net.HardwareAddr{0x02, 0x00, 0xCA, 0xFE, 0x00, 0x04}
|
|
|
|
expected := &VirtualEndpoint{
|
|
NetPair: NetworkInterfacePair{
|
|
ID: "uniqueTestID-4",
|
|
Name: "br4_kata",
|
|
VirtIface: NetworkInterface{
|
|
Name: "eth4",
|
|
HardAddr: macAddr.String(),
|
|
},
|
|
TAPIface: NetworkInterface{
|
|
Name: "tap4_kata",
|
|
},
|
|
NetInterworkingModel: DefaultNetInterworkingModel,
|
|
},
|
|
EndpointType: VirtualEndpointType,
|
|
}
|
|
|
|
result, err := createVirtualNetworkEndpoint(4, "", DefaultNetInterworkingModel)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
// the resulting ID will be random - so let's overwrite to test the rest of the flow
|
|
result.NetPair.ID = "uniqueTestID-4"
|
|
|
|
// the resulting mac address will be random - so lets overwrite it
|
|
result.NetPair.VirtIface.HardAddr = macAddr.String()
|
|
|
|
if reflect.DeepEqual(result, expected) == false {
|
|
t.Fatalf("\nGot: %+v, \n\nExpected: %+v", result, expected)
|
|
}
|
|
}
|
|
|
|
func TestCreateVirtualNetworkEndpointChooseIfaceName(t *testing.T) {
|
|
macAddr := net.HardwareAddr{0x02, 0x00, 0xCA, 0xFE, 0x00, 0x04}
|
|
|
|
expected := &VirtualEndpoint{
|
|
NetPair: NetworkInterfacePair{
|
|
ID: "uniqueTestID-4",
|
|
Name: "br4_kata",
|
|
VirtIface: NetworkInterface{
|
|
Name: "eth1",
|
|
HardAddr: macAddr.String(),
|
|
},
|
|
TAPIface: NetworkInterface{
|
|
Name: "tap4_kata",
|
|
},
|
|
NetInterworkingModel: DefaultNetInterworkingModel,
|
|
},
|
|
EndpointType: VirtualEndpointType,
|
|
}
|
|
|
|
result, err := createVirtualNetworkEndpoint(4, "eth1", DefaultNetInterworkingModel)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
// the resulting ID will be random - so let's overwrite to test the rest of the flow
|
|
result.NetPair.ID = "uniqueTestID-4"
|
|
|
|
// the resulting mac address will be random - so lets overwrite it
|
|
result.NetPair.VirtIface.HardAddr = macAddr.String()
|
|
|
|
if reflect.DeepEqual(result, expected) == false {
|
|
t.Fatalf("\nGot: %+v, \n\nExpected: %+v", result, expected)
|
|
}
|
|
}
|
|
|
|
func TestCreateVirtualNetworkEndpointInvalidArgs(t *testing.T) {
|
|
type endpointValues struct {
|
|
idx int
|
|
ifName string
|
|
}
|
|
|
|
// all elements are expected to result in failure
|
|
failingValues := []endpointValues{
|
|
{-1, "bar"},
|
|
{-1, ""},
|
|
}
|
|
|
|
for _, d := range failingValues {
|
|
result, err := createVirtualNetworkEndpoint(d.idx, d.ifName, DefaultNetInterworkingModel)
|
|
if err == nil {
|
|
t.Fatalf("expected invalid endpoint for %v, got %v", d, result)
|
|
}
|
|
}
|
|
}
|