11package secrets
22
33import (
4+ "bytes"
45 "io/ioutil"
6+ "os"
57 "testing"
68
79 kapi "k8s.io/kubernetes/pkg/api"
@@ -40,11 +42,16 @@ func TestValidate(t *testing.T) {
4042}
4143
4244func TestCreateSecret (t * testing.T ) {
45+ os .Symlink ("." , "./bsFixtures/dir/symbolic" )
46+ defer os .Remove ("./bsFixtures/dir/symbolic" )
47+
4348 tests := []struct {
4449 testName string
4550 args []string
4651 expErr bool
4752 quiet bool
53+
54+ errStreamContent string
4855 }{
4956 {
5057 testName : "validSources" ,
@@ -70,9 +77,9 @@ func TestCreateSecret(t *testing.T) {
7077 quiet : true ,
7178 },
7279 {
73- testName : "testQuietFalse" ,
74- args : []string {"testSecret" , "./bsFixtures/dir" },
75- expErr : true , // "Skipping resource <resource path>"
80+ testName : "testQuietFalse" ,
81+ args : []string {"testSecret" , "./bsFixtures/dir" },
82+ errStreamContent : "Skipping resource bsFixtures/dir/symbolic \n " ,
7683 },
7784 {
7885 testName : "testNamedKeys" ,
@@ -116,7 +123,9 @@ func TestCreateSecret(t *testing.T) {
116123 },
117124 }
118125 for _ , test := range tests {
126+ errStream := & bytes.Buffer {}
119127 options := NewCreateSecretOptions ()
128+ options .Stderr = errStream
120129 options .Complete (test .args , nil )
121130 options .Quiet = test .quiet
122131
@@ -128,6 +137,12 @@ func TestCreateSecret(t *testing.T) {
128137 if err != nil && ! test .expErr {
129138 t .Errorf ("%s: unexpected error: %s" , test .testName , err )
130139 }
140+ if err == nil && test .expErr {
141+ t .Errorf ("%s: missing expected error" , test .testName )
142+ }
143+ if string (errStream .Bytes ()) != test .errStreamContent {
144+ t .Errorf ("%s: expected %s, got %v" , test .testName , test .errStreamContent , string (errStream .Bytes ()))
145+ }
131146 }
132147}
133148
0 commit comments