github.com/argoproj/argo-cd/v3@v3.2.1/cmd/argocd/commands/admin/generatespec_utils_test.go (about) 1 package admin 2 3 import ( 4 "bytes" 5 "os" 6 "testing" 7 8 utilio "github.com/argoproj/argo-cd/v3/util/io" 9 10 "github.com/stretchr/testify/assert" 11 "github.com/stretchr/testify/require" 12 corev1 "k8s.io/api/core/v1" 13 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 14 ) 15 16 func TestGetOutWriter_InlineOff(t *testing.T) { 17 out, closer, err := getOutWriter(false, "") 18 require.NoError(t, err) 19 defer utilio.Close(closer) 20 21 assert.Equal(t, os.Stdout, out) 22 } 23 24 func TestGetOutWriter_InlineOn(t *testing.T) { 25 tmpFile := t.TempDir() 26 defer func() { 27 _ = os.Remove(tmpFile + ".back") 28 }() 29 30 out, closer, err := getOutWriter(true, tmpFile) 31 require.NoError(t, err) 32 defer utilio.Close(closer) 33 34 assert.Equal(t, tmpFile, out.(*os.File).Name()) 35 _, err = os.Stat(tmpFile + ".back") 36 require.NoError(t, err, "Back file must be created") 37 } 38 39 func TestPrintResources_Secret_YAML(t *testing.T) { 40 out := bytes.Buffer{} 41 err := PrintResources("yaml", &out, &corev1.Secret{ 42 ObjectMeta: metav1.ObjectMeta{Name: "my-secret"}, 43 Data: map[string][]byte{"my-secret-key": []byte("my-secret-data")}, 44 }) 45 require.NoError(t, err) 46 47 assert.Equal(t, `apiVersion: v1 48 kind: Secret 49 metadata: 50 name: my-secret 51 stringData: 52 my-secret-key: my-secret-data 53 `, out.String()) 54 }