Files
kubelogin/pkg/tlsclientconfig/loader/load_test.go
renovate[bot] b640aa17df chore(deps): update module go to 1.19 (#751)
* chore(deps): update module go to 1.19

* Fix deprecations

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hidetake Iwata <int128@gmail.com>
2022-11-19 21:45:08 +09:00

61 lines
1.3 KiB
Go

package loader
import (
"os"
"testing"
"github.com/int128/kubelogin/pkg/tlsclientconfig"
)
func TestLoader_Load(t *testing.T) {
var loader Loader
t.Run("Zero", func(t *testing.T) {
cfg, err := loader.Load(tlsclientconfig.Config{})
if err != nil {
t.Errorf("Load error: %s", err)
}
if cfg.RootCAs != nil {
t.Errorf("RootCAs wants nil but was %+v", cfg.RootCAs)
}
})
t.Run("ValidFile", func(t *testing.T) {
cfg, err := loader.Load(tlsclientconfig.Config{
CACertFilename: []string{"testdata/ca1.crt"},
})
if err != nil {
t.Errorf("Load error: %s", err)
}
if cfg.RootCAs == nil {
t.Errorf("RootCAs wants non-nil but was nil")
}
})
t.Run("InvalidFile", func(t *testing.T) {
_, err := loader.Load(tlsclientconfig.Config{
CACertFilename: []string{"testdata/Makefile"},
})
if err == nil {
t.Errorf("AddFile wants an error but was nil")
}
})
t.Run("ValidBase64", func(t *testing.T) {
cfg, err := loader.Load(tlsclientconfig.Config{
CACertData: []string{readFile(t, "testdata/ca2.crt.base64")},
})
if err != nil {
t.Errorf("Load error: %s", err)
}
if cfg.RootCAs == nil {
t.Errorf("RootCAs wants non-nil but was nil")
}
})
}
func readFile(t *testing.T, filename string) string {
t.Helper()
b, err := os.ReadFile(filename)
if err != nil {
t.Fatalf("ReadFile error: %s", err)
}
return string(b)
}