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  }