mirror of
https://github.com/rancher/k3k.git
synced 2026-08-19 04:16:16 +00:00
* Adding new k3s function to get the config * Adding a new way to get the bootstrap data directly from the server Pod * Gate the bootstrap fetch if external datastore is in use --------- Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
51 lines
1.2 KiB
Go
51 lines
1.2 KiB
Go
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)
|
|
}
|
|
})
|
|
}
|
|
}
|