11package kubetmuxp_test
22
33import (
4- "io"
54 "strings"
65 "testing"
76
@@ -20,37 +19,38 @@ func getKubeCfg(ctrl *gomock.Controller) kubeconfig.KubeConfig {
2019 return kubeCfg
2120}
2221
23- func TestNew (t * testing.T ) {
24- ctrl := gomock .NewController (t )
25- defer ctrl .Finish ()
22+ func TestNewConfig (t * testing.T ) {
23+ t .Run ("should create a new kube-tmuxp config" , func (t * testing.T ) {
24+ ctrl := gomock .NewController (t )
25+ defer ctrl .Finish ()
2626
27- var reader io. Reader
28- kubeCfg := getKubeCfg (ctrl )
29- kubetmuxpCfg := kubetmuxp .New (reader , kubeCfg )
27+ reader := strings . NewReader ( "" )
28+ kubeCfg := getKubeCfg (ctrl )
29+ kubetmuxpCfg , err := kubetmuxp .NewConfig (reader , kubeCfg )
3030
31- assert .NotNil (t , kubetmuxpCfg )
32- }
31+ assert .Nil (t , err )
32+ assert .NotNil (t , kubetmuxpCfg )
33+ })
3334
34- func TestLoadConfig (t * testing.T ) {
35- t .Run ("should load the config" , func (t * testing.T ) {
35+ t .Run ("should read the kube-tmuxp configs" , func (t * testing.T ) {
3636 ctrl := gomock .NewController (t )
3737 defer ctrl .Finish ()
3838
3939 content := `
4040projects:
41- - name: test-project
42- clusters:
43- - name: test-cluster
44- zone: test-zone
45- region: test-region
46- context: test-ctx
47- envs:
48- TEST_ENV: test-value`
41+ - name: test-project
42+ clusters:
43+ - name: test-cluster
44+ zone: test-zone
45+ region: test-region
46+ context: test-ctx
47+ envs:
48+ TEST_ENV: test-value`
4949 reader := strings .NewReader (content )
5050 kubeCfg := getKubeCfg (ctrl )
51- kubetmuxpCfg := kubetmuxp .New (reader , kubeCfg )
51+ kubetmuxpCfg , _ := kubetmuxp .NewConfig (reader , kubeCfg )
5252
53- err := kubetmuxpCfg . Load ( )
53+ assert . NotNil ( t , kubetmuxpCfg )
5454
5555 expectedProjects := kubetmuxp.Projects {
5656 {
@@ -68,23 +68,18 @@ projects:
6868 },
6969 },
7070 }
71-
72- assert .Nil (t , err )
7371 assert .Equal (t , expectedProjects , kubetmuxpCfg .Projects )
7472 })
7573
76- t .Run ("should return error if loading fails " , func (t * testing.T ) {
74+ t .Run ("should return error if config cannot be read " , func (t * testing.T ) {
7775 ctrl := gomock .NewController (t )
7876 defer ctrl .Finish ()
7977
8078 reader := strings .NewReader ("invalid yaml" )
8179 kubeCfg := getKubeCfg (ctrl )
82- kubetmuxpCfg := kubetmuxp .New (reader , kubeCfg )
83-
84- err := kubetmuxpCfg .Load ()
80+ _ , err := kubetmuxp .NewConfig (reader , kubeCfg )
8581
8682 assert .NotNil (t , err )
87- assert .Equal (t , kubetmuxp .Projects (nil ), kubetmuxpCfg .Projects )
8883 })
8984}
9085
0 commit comments