package k3s import ( "net/http" "testing" "github.com/stretchr/testify/assert" ) func Test_NewClient(t *testing.T) { tests := []struct { name string clientConfig ClientConfig expectedHeaders http.Header }{ { name: "empty config", clientConfig: ClientConfig{}, expectedHeaders: nil, }, { name: "client config passed", clientConfig: ClientConfig{ Token: "test_token", ServerIP: "0.0.0.0:1234", NodeName: "test_node", AgentIP: "1.1.1.1", PodIP: "2.2.2.2", }, expectedHeaders: map[string][]string{ k3sNodePasswordHeader: {"test_token"}, k3sNodeNameHeader: {"test_node"}, k3sNodeIPHeader: {"1.1.1.1,2.2.2.2"}, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { client := New(tt.clientConfig) assert.Len(t, client.staticHeaders, len(tt.expectedHeaders)) for expectedHeader, expectedValue := range tt.expectedHeaders { value, ok := client.staticHeaders[http.CanonicalHeaderKey(expectedHeader)] assert.True(t, ok, "expected header %s is not found", expectedHeader) assert.Equal(t, expectedValue, value) } }) } }