...

Source file src/github.com/Microsoft/hcsshim/hcn/hnsv1_test.go

Documentation: github.com/Microsoft/hcsshim/hcn

     1  //go:build windows && integration
     2  // +build windows,integration
     3  
     4  package hcn
     5  
     6  import (
     7  	"os"
     8  	"testing"
     9  
    10  	"github.com/Microsoft/hcsshim"
    11  )
    12  
    13  const (
    14  	NatTestNetworkName     string = "GoTestNat"
    15  	NatTestEndpointName    string = "GoTestNatEndpoint"
    16  	OverlayTestNetworkName string = "GoTestOverlay"
    17  	BridgeTestNetworkName  string = "GoTestL2Bridge"
    18  )
    19  
    20  func TestMain(m *testing.M) {
    21  	os.Exit(m.Run())
    22  }
    23  
    24  func CreateTestNetwork() (*hcsshim.HNSNetwork, error) {
    25  	network := &hcsshim.HNSNetwork{
    26  		Type: "NAT",
    27  		Name: NatTestNetworkName,
    28  		Subnets: []hcsshim.Subnet{
    29  			{
    30  				AddressPrefix:  "192.168.100.0/24",
    31  				GatewayAddress: "192.168.100.1",
    32  			},
    33  		},
    34  	}
    35  
    36  	return network.Create()
    37  }
    38  
    39  func TestEndpoint(t *testing.T) {
    40  	network, err := CreateTestNetwork()
    41  	if err != nil {
    42  		t.Fatal(err)
    43  	}
    44  
    45  	Endpoint := &hcsshim.HNSEndpoint{
    46  		Name: NatTestEndpointName,
    47  	}
    48  
    49  	Endpoint, err = network.CreateEndpoint(Endpoint)
    50  	if err != nil {
    51  		t.Fatal(err)
    52  	}
    53  
    54  	err = Endpoint.HostAttach(1)
    55  	if err != nil {
    56  		t.Fatal(err)
    57  	}
    58  
    59  	err = Endpoint.HostDetach()
    60  	if err != nil {
    61  		t.Fatal(err)
    62  	}
    63  
    64  	_, err = Endpoint.Delete()
    65  	if err != nil {
    66  		t.Fatal(err)
    67  	}
    68  
    69  	_, err = network.Delete()
    70  	if err != nil {
    71  		t.Fatal(err)
    72  	}
    73  }
    74  
    75  func TestEndpointGetAll(t *testing.T) {
    76  	_, err := hcsshim.HNSListEndpointRequest()
    77  	if err != nil {
    78  		t.Fatal(err)
    79  	}
    80  }
    81  
    82  func TestEndpointStatsAll(t *testing.T) {
    83  	network, err := CreateTestNetwork()
    84  	if err != nil {
    85  		t.Fatal(err)
    86  	}
    87  
    88  	Endpoint := &hcsshim.HNSEndpoint{
    89  		Name: NatTestEndpointName,
    90  	}
    91  
    92  	_, err = network.CreateEndpoint(Endpoint)
    93  	if err != nil {
    94  		t.Fatal(err)
    95  	}
    96  
    97  	epList, err := hcsshim.HNSListEndpointRequest()
    98  	if err != nil {
    99  		t.Fatal(err)
   100  	}
   101  
   102  	for _, e := range epList {
   103  		_, err := hcsshim.GetHNSEndpointStats(e.Id)
   104  		if err != nil {
   105  			t.Fatal(err)
   106  		}
   107  	}
   108  
   109  	_, err = network.Delete()
   110  	if err != nil {
   111  		t.Fatal(err)
   112  	}
   113  }
   114  
   115  func TestNetworkGetAll(t *testing.T) {
   116  	_, err := hcsshim.HNSListNetworkRequest("GET", "", "")
   117  	if err != nil {
   118  		t.Fatal(err)
   119  	}
   120  }
   121  
   122  func TestNetwork(t *testing.T) {
   123  	network, err := CreateTestNetwork()
   124  	if err != nil {
   125  		t.Fatal(err)
   126  	}
   127  	_, err = network.Delete()
   128  	if err != nil {
   129  		t.Fatal(err)
   130  	}
   131  }
   132  

View as plain text