@ -37,6 +37,8 @@ func TestEnvSettings(t *testing.T) {
// expected values
// expected values
home , host , ns , kcontext , plugins string
home , host , ns , kcontext , plugins string
debug bool
debug bool
tlsca , tlscert , tlskey string
tlsenable , tlsverify bool
} {
} {
{
{
name : "defaults" ,
name : "defaults" ,
@ -44,6 +46,11 @@ func TestEnvSettings(t *testing.T) {
home : DefaultHelmHome ,
home : DefaultHelmHome ,
plugins : helmpath . Home ( DefaultHelmHome ) . Plugins ( ) ,
plugins : helmpath . Home ( DefaultHelmHome ) . Plugins ( ) ,
ns : "kube-system" ,
ns : "kube-system" ,
tlsca : helmpath . Home ( DefaultHelmHome ) . TLSCaCert ( ) ,
tlscert : helmpath . Home ( DefaultHelmHome ) . TLSCert ( ) ,
tlskey : helmpath . Home ( DefaultHelmHome ) . TLSKey ( ) ,
tlsenable : false ,
tlsverify : false ,
} ,
} ,
{
{
name : "with flags set" ,
name : "with flags set" ,
@ -53,6 +60,11 @@ func TestEnvSettings(t *testing.T) {
host : "here" ,
host : "here" ,
ns : "myns" ,
ns : "myns" ,
debug : true ,
debug : true ,
tlsca : helmpath . Home ( "/foo" ) . TLSCaCert ( ) ,
tlscert : helmpath . Home ( "/foo" ) . TLSCert ( ) ,
tlskey : helmpath . Home ( "/foo" ) . TLSKey ( ) ,
tlsenable : false ,
tlsverify : false ,
} ,
} ,
{
{
name : "with envvars set" ,
name : "with envvars set" ,
@ -63,6 +75,11 @@ func TestEnvSettings(t *testing.T) {
host : "there" ,
host : "there" ,
ns : "yourns" ,
ns : "yourns" ,
debug : true ,
debug : true ,
tlsca : helmpath . Home ( "/bar" ) . TLSCaCert ( ) ,
tlscert : helmpath . Home ( "/bar" ) . TLSCert ( ) ,
tlskey : helmpath . Home ( "/bar" ) . TLSKey ( ) ,
tlsenable : false ,
tlsverify : false ,
} ,
} ,
{
{
name : "with flags and envvars set" ,
name : "with flags and envvars set" ,
@ -73,6 +90,50 @@ func TestEnvSettings(t *testing.T) {
host : "here" ,
host : "here" ,
ns : "myns" ,
ns : "myns" ,
debug : true ,
debug : true ,
tlsca : helmpath . Home ( "/foo" ) . TLSCaCert ( ) ,
tlscert : helmpath . Home ( "/foo" ) . TLSCert ( ) ,
tlskey : helmpath . Home ( "/foo" ) . TLSKey ( ) ,
tlsenable : false ,
tlsverify : false ,
} ,
{
name : "with TLS flags set" ,
args : [ ] string { "--home" , "/bar" , "--tls-ca-cert" , "/a/ca.crt" , "--tls-cert=/a/client.crt" , "--tls-key" , "/a/client.key" , "--tls-verify" , "--tls" } ,
home : "/bar" ,
plugins : helmpath . Home ( "/bar" ) . Plugins ( ) ,
ns : "kube-system" ,
debug : false ,
tlsca : "/a/ca.crt" ,
tlscert : "/a/client.crt" ,
tlskey : "/a/client.key" ,
tlsenable : true ,
tlsverify : true ,
} ,
{
name : "with TLS envvars set" ,
args : [ ] string { } ,
envars : map [ string ] string { "HELM_HOME" : "/bar" , "HELM_TLS_CA_CERT" : "/e/ca.crt" , "HELM_TLS_CERT" : "/e/client.crt" , "HELM_TLS_KEY" : "/e/client.key" , "HELM_TLS_VERIFY" : "true" , "HELM_TLS_ENABLE" : "true" } ,
home : "/bar" ,
plugins : helmpath . Home ( "/bar" ) . Plugins ( ) ,
ns : "kube-system" ,
tlsca : "/e/ca.crt" ,
tlscert : "/e/client.crt" ,
tlskey : "/e/client.key" ,
tlsenable : true ,
tlsverify : true ,
} ,
{
name : "with TLS flags and envvars set" ,
args : [ ] string { "--tls-ca-cert" , "/a/ca.crt" , "--tls-cert=/a/client.crt" , "--tls-key" , "/a/client.key" , "--tls-verify" } ,
envars : map [ string ] string { "HELM_HOME" : "/bar" , "HELM_TLS_CA_CERT" : "/e/ca.crt" , "HELM_TLS_CERT" : "/e/client.crt" , "HELM_TLS_KEY" : "/e/client.key" , "HELM_TLS_VERIFY" : "true" , "HELM_TLS_ENABLE" : "true" } ,
home : "/bar" ,
plugins : helmpath . Home ( "/bar" ) . Plugins ( ) ,
ns : "kube-system" ,
tlsca : "/a/ca.crt" ,
tlscert : "/a/client.crt" ,
tlskey : "/a/client.key" ,
tlsenable : true ,
tlsverify : true ,
} ,
} ,
}
}
@ -111,7 +172,25 @@ func TestEnvSettings(t *testing.T) {
if settings . KubeContext != tt . kcontext {
if settings . KubeContext != tt . kcontext {
t . Errorf ( "expected kube-context %q, got %q" , tt . kcontext , settings . KubeContext )
t . Errorf ( "expected kube-context %q, got %q" , tt . kcontext , settings . KubeContext )
}
}
if settings . TLSCaCertFile != tt . tlsca {
t . Errorf ( "expected tls-ca-cert %q, got %q" , tt . tlsca , settings . TLSCaCertFile )
}
if settings . TLSCertFile != tt . tlscert {
t . Errorf ( "expected tls-cert %q, got %q" , tt . tlscert , settings . TLSCertFile )
}
if settings . TLSKeyFile != tt . tlskey {
t . Errorf ( "expected tls-key %q, got %q" , tt . tlskey , settings . TLSKeyFile )
}
if settings . TLSEnable != tt . tlsenable {
t . Errorf ( "expected tls %t, got %t" , tt . tlsenable , settings . TLSEnable )
}
if settings . TLSVerify != tt . tlsverify {
t . Errorf ( "expected tls-verify %t, got %t" , tt . tlsverify , settings . TLSVerify )
}
for k := range tt . envars {
os . Unsetenv ( k )
}
cleanup ( )
cleanup ( )
} )
} )
}
}