github.com/aporeto-inc/trireme-lib@v10.358.0+incompatible/monitor/internal/kubernetes/monitor_test.go (about)

     1  // +build !windows
     2  
     3  package kubernetesmonitor
     4  
     5  import (
     6  	"testing"
     7  
     8  	"go.aporeto.io/trireme-lib/monitor/config"
     9  	"go.aporeto.io/trireme-lib/monitor/extractors"
    10  	dockermonitor "go.aporeto.io/trireme-lib/monitor/internal/docker"
    11  	"go.aporeto.io/trireme-lib/monitor/registerer"
    12  	"k8s.io/client-go/kubernetes"
    13  	kubecache "k8s.io/client-go/tools/cache"
    14  )
    15  
    16  func TestKubernetesMonitor_SetupConfig(t *testing.T) {
    17  
    18  	type fields struct {
    19  		dockerMonitor       *dockermonitor.DockerMonitor
    20  		kubeClient          kubernetes.Interface
    21  		localNode           string
    22  		handlers            *config.ProcessorConfig
    23  		cache               *cache
    24  		kubernetesExtractor extractors.KubernetesMetadataExtractorType
    25  		podStore            kubecache.Store
    26  		podController       kubecache.Controller
    27  		podControllerStop   chan struct{}
    28  		enableHostPods      bool
    29  	}
    30  	type args struct {
    31  		registerer registerer.Registerer
    32  		cfg        interface{}
    33  	}
    34  	tests := []struct {
    35  		name    string
    36  		fields  fields
    37  		args    args
    38  		wantErr bool
    39  	}{
    40  		{
    41  			name:   "random config",
    42  			fields: fields{},
    43  			args: args{
    44  				registerer: nil,
    45  				cfg:        "123",
    46  			},
    47  			wantErr: true,
    48  		},
    49  	}
    50  	for _, tt := range tests {
    51  		t.Run(tt.name, func(t *testing.T) {
    52  			m := &KubernetesMonitor{
    53  				dockerMonitor:       tt.fields.dockerMonitor,
    54  				kubeClient:          tt.fields.kubeClient,
    55  				localNode:           tt.fields.localNode,
    56  				handlers:            tt.fields.handlers,
    57  				cache:               tt.fields.cache,
    58  				kubernetesExtractor: tt.fields.kubernetesExtractor,
    59  				podStore:            tt.fields.podStore,
    60  				podController:       tt.fields.podController,
    61  				podControllerStop:   tt.fields.podControllerStop,
    62  				enableHostPods:      tt.fields.enableHostPods,
    63  			}
    64  			if err := m.SetupConfig(tt.args.registerer, tt.args.cfg); (err != nil) != tt.wantErr {
    65  				t.Errorf("KubernetesMonitor.SetupConfig() error = %v, wantErr %v", err, tt.wantErr)
    66  			}
    67  		})
    68  	}
    69  }