github.com/jlmeeker/kismatic@v1.10.1-0.20180612190640-57f9005a1f1a/pkg/inspector/check/tcp_test.go (about)

     1  package check
     2  
     3  import "testing"
     4  
     5  func TestGetProcNameFromSockStatLine(t *testing.T) {
     6  	tests := []struct {
     7  		line         string
     8  		expectedProc string
     9  	}{
    10  		{
    11  			line:         `0      128               *:80                            *:*                   users:(("nginx",pid=30729,fd=10),("nginx",pid=30728,fd=10),("nginx",pid=30721,fd=10))`,
    12  			expectedProc: "nginx",
    13  		},
    14  		{
    15  			line:         `0      128              :::6443                         :::*                   users:(("kube-apiserver",pid=21199,fd=59))`,
    16  			expectedProc: "kube-apiserver",
    17  		},
    18  		{
    19  			line:         `0      128              :::2379                         :::*                   users:(("docker-proxy",pid=18718,fd=4))`,
    20  			expectedProc: "docker-proxy",
    21  		},
    22  		{
    23  			line:         `0      128              :::10251                        :::*                   users:(("kube-scheduler",pid=21506,fd=12))`,
    24  			expectedProc: "kube-scheduler",
    25  		},
    26  		{
    27  			line:         `0      128                                                              :::10251                                                                        :::*                   users:(("kube-scheduler",pid=21506,fd=12))`,
    28  			expectedProc: "kube-scheduler",
    29  		},
    30  		{
    31  			line:         `0      128                                                              :::10254                                                                        :::*                   users:(("nginx-ingress-c",pid=30704,fd=6))`,
    32  			expectedProc: "nginx-ingress-c",
    33  		},
    34  	}
    35  	for _, test := range tests {
    36  		t.Run(test.expectedProc, func(t *testing.T) {
    37  			got, err := getProcNameFromTCPSockStatLine(test.line)
    38  			if err != nil {
    39  				t.Errorf("error getting process: %v", err)
    40  			}
    41  			if got != test.expectedProc {
    42  				t.Errorf("expected process name to be %q, but got %q", test.expectedProc, got)
    43  			}
    44  		})
    45  	}
    46  }