github.com/argoproj/argo-cd/v3@v3.2.1/test/e2e/fixture/gpgkeys/gpgkeys.go (about)

     1  package gpgkeys
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  	"path/filepath"
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/require"
    10  
    11  	"github.com/argoproj/argo-cd/v3/test/e2e/fixture"
    12  	"github.com/argoproj/argo-cd/v3/util/errors"
    13  )
    14  
    15  // Add GPG public key via API and create appropriate file where the ConfigMap mount would de it as well
    16  func AddGPGPublicKey(t *testing.T) {
    17  	t.Helper()
    18  	keyPath, err := filepath.Abs("../fixture/gpg/" + fixture.GpgGoodKeyID)
    19  	require.NoError(t, err)
    20  	args := []string{"gpg", "add", "--from", keyPath}
    21  	errors.NewHandler(t).FailOnErr(fixture.RunCli(args...))
    22  
    23  	if fixture.IsLocal() {
    24  		keyData, err := os.ReadFile(keyPath)
    25  		require.NoError(t, err)
    26  		err = os.WriteFile(fmt.Sprintf("%s/app/config/gpg/source/%s", fixture.TmpDir, fixture.GpgGoodKeyID), keyData, 0o644)
    27  		require.NoError(t, err)
    28  	} else {
    29  		fixture.RestartRepoServer(t)
    30  	}
    31  }
    32  
    33  func DeleteGPGPublicKey(t *testing.T) {
    34  	t.Helper()
    35  	args := []string{"gpg", "rm", fixture.GpgGoodKeyID}
    36  	errors.NewHandler(t).FailOnErr(fixture.RunCli(args...))
    37  	if fixture.IsLocal() {
    38  		require.NoError(t, os.Remove(fmt.Sprintf("%s/app/config/gpg/source/%s", fixture.TmpDir, fixture.GpgGoodKeyID)))
    39  	} else {
    40  		fixture.RestartRepoServer(t)
    41  	}
    42  }