github.com/pluralsh/plural-cli@v0.9.5/pkg/test/e2e/e2e_crypto_test.go (about) 1 //go:build e2e 2 3 package e2e_test 4 5 import ( 6 "fmt" 7 "os" 8 "os/exec" 9 "path" 10 "testing" 11 12 utiltest "github.com/pluralsh/plural-cli/pkg/test" 13 "github.com/stretchr/testify/assert" 14 ) 15 16 func TestKeyValidation(t *testing.T) { 17 homeDir, err := os.UserHomeDir() 18 assert.NoError(t, err) 19 20 testDir := path.Join(homeDir, "test") 21 keyFingerprintFile := path.Join(testDir, ".keyid") 22 err = os.Chdir(testDir) 23 assert.NoError(t, err) 24 25 // generate new validation file 26 cmd := exec.Command("plural", "crypto", "fingerprint") 27 cmdOutput, err := cmd.CombinedOutput() 28 assert.NoError(t, err) 29 assert.Equal(t, "", string(cmdOutput)) 30 utiltest.CheckFingerprint(t, keyFingerprintFile) 31 32 // enforce a new key creation. Validation should fail 33 err = os.Remove(path.Join(homeDir, ".plural", "key")) 34 assert.NoError(t, err) 35 cmd = exec.Command("plural", "crypto", "unlock") 36 cmdOutput, err = cmd.CombinedOutput() 37 assert.Error(t, err, "expected: 'the key fingerprint doesn't match' error") 38 fmt.Println(string(cmdOutput)) 39 } 40 41 func TestRepoSharing(t *testing.T) { 42 homeDir, err := os.UserHomeDir() 43 assert.NoError(t, err) 44 testDir := path.Join(homeDir, "share") 45 err = os.Chdir(testDir) 46 assert.NoError(t, err) 47 48 cmd := exec.Command("plural", "crypto", "init") 49 cmdOutput, err := cmd.CombinedOutput() 50 assert.NoError(t, err) 51 fmt.Println(string(cmdOutput)) 52 cmd = exec.Command("plural", "crypto", "unlock") 53 cmdOutput, err = cmd.CombinedOutput() 54 assert.NoError(t, err) 55 fmt.Println(string(cmdOutput)) 56 }