github.com/castai/kvisor@v1.7.1-0.20240516114728-b3572a2607b5/cmd/agent/daemon/process/process_test.go (about)

     1  package process
     2  
     3  import (
     4  	"fmt"
     5  	"log/slog"
     6  	"testing"
     7  
     8  	"github.com/castai/kvisor/pkg/logging"
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func TestFindContainerID(t *testing.T) {
    13  	log := logging.New(&logging.Config{
    14  		Level: slog.LevelDebug,
    15  	})
    16  	client := NewClient(log, "./testdata")
    17  
    18  	tests := []struct {
    19  		procID              int
    20  		expectedContainerID string
    21  		expectedError       error
    22  	}{
    23  		{procID: 1, expectedContainerID: "3010305da5e9ea6603f01878e99baf14c0a9af276b7b2002ae19e58027e74ab7", expectedError: nil},
    24  		{procID: 2, expectedContainerID: "2c912ceba34be6ea2d15f93f69603542211aaaa6b7a4220e0c8f7cd9aa3b574b", expectedError: nil},
    25  		{procID: 3, expectedContainerID: "d3867876cf98ca70deef61cbec048701ca5a016968582b932fdb2bbf016d3a36", expectedError: nil},
    26  		{procID: 4, expectedError: ErrContainerNotFound},
    27  	}
    28  
    29  	for _, test := range tests {
    30  		t.Run(fmt.Sprintf("proc_%d", test.procID), func(t *testing.T) {
    31  			r := require.New(t)
    32  
    33  			containerID, err := client.GetContainerID(test.procID)
    34  			if test.expectedError != nil {
    35  				r.ErrorIs(err, test.expectedError)
    36  			} else {
    37  				r.NoError(err)
    38  				r.Equal(test.expectedContainerID, containerID)
    39  			}
    40  		})
    41  	}
    42  }