gitee.com/leisunstar/runtime@v0.0.0-20200521203717-5cef3e7b53f9/virtcontainers/netmon_test.go (about)

     1  // Copyright (c) 2018 Intel Corporation
     2  //
     3  // SPDX-License-Identifier: Apache-2.0
     4  //
     5  
     6  package virtcontainers
     7  
     8  import (
     9  	"reflect"
    10  	"testing"
    11  
    12  	"github.com/stretchr/testify/assert"
    13  )
    14  
    15  const (
    16  	testNetmonPath  = "/foo/bar/netmon"
    17  	testRuntimePath = "/foo/bar/runtime"
    18  )
    19  
    20  func TestNetmonLogger(t *testing.T) {
    21  	got := netmonLogger()
    22  	expected := virtLog.WithField("subsystem", "netmon")
    23  	assert.True(t, reflect.DeepEqual(expected, got),
    24  		"Got %+v\nExpected %+v", got, expected)
    25  }
    26  
    27  func TestPrepareNetMonParams(t *testing.T) {
    28  	// Empty netmon path
    29  	params := netmonParams{}
    30  	got, err := prepareNetMonParams(params)
    31  	assert.NotNil(t, err)
    32  	assert.Equal(t, got, []string{})
    33  
    34  	// Empty runtime path
    35  	params.netmonPath = testNetmonPath
    36  	got, err = prepareNetMonParams(params)
    37  	assert.NotNil(t, err)
    38  	assert.Equal(t, got, []string{})
    39  
    40  	// Empty sandbox ID
    41  	params.runtime = testRuntimePath
    42  	got, err = prepareNetMonParams(params)
    43  	assert.NotNil(t, err)
    44  	assert.Equal(t, got, []string{})
    45  
    46  	// Successful case
    47  	params.sandboxID = testSandboxID
    48  	got, err = prepareNetMonParams(params)
    49  	assert.Nil(t, err)
    50  	expected := []string{testNetmonPath,
    51  		"-r", testRuntimePath,
    52  		"-s", testSandboxID}
    53  	assert.True(t, reflect.DeepEqual(expected, got),
    54  		"Got %+v\nExpected %+v", got, expected)
    55  }
    56  
    57  func TestStopNetmon(t *testing.T) {
    58  	pid := -1
    59  	err := stopNetmon(pid)
    60  	assert.Nil(t, err)
    61  }