get.porter.sh/porter@v1.3.0/tests/integration/sensitive_data_test.go (about) 1 //go:build integration 2 3 package integration 4 5 import ( 6 "testing" 7 8 "get.porter.sh/porter/pkg/porter" 9 "github.com/stretchr/testify/assert" 10 "github.com/stretchr/testify/require" 11 ) 12 13 func TestSensitiveData(t *testing.T) { 14 t.Parallel() 15 16 p := porter.NewTestPorter(t) 17 defer p.Close() 18 ctx := p.SetupIntegrationTest() 19 20 bundleName := p.AddTestBundleDir("testdata/bundles/bundle-with-sensitive-data", true) 21 22 sensitiveParamName := "password" 23 sensitiveParamValue := "secretpassword" 24 installOpts := porter.NewInstallOptions() 25 installOpts.Params = []string{sensitiveParamName + "=" + sensitiveParamValue, "name=porter-test"} 26 27 err := installOpts.Validate(ctx, []string{}, p.Porter) 28 require.NoError(t, err) 29 30 err = p.InstallBundle(ctx, installOpts) 31 require.NoError(t, err) 32 33 i, err := p.Installations.GetInstallation(ctx, installOpts.Namespace, installOpts.Name) 34 require.NoError(t, err) 35 36 run, err := p.Installations.GetRun(ctx, i.Status.RunID) 37 require.NoError(t, err) 38 39 for _, param := range i.Parameters.Parameters { 40 if param.Name == sensitiveParamName { 41 assert.NotContains(t, param.Source.Hint, sensitiveParamValue) 42 } 43 } 44 45 for _, param := range run.ParameterOverrides.Parameters { 46 if param.Name == sensitiveParamName { 47 assert.NotContains(t, param.Source.Hint, sensitiveParamValue) 48 } 49 } 50 for _, param := range run.Parameters.Parameters { 51 if param.Name == sensitiveParamName { 52 assert.NotContains(t, param.Source.Hint, sensitiveParamValue) 53 } 54 } 55 56 outputs, err := p.Installations.GetLastOutputs(ctx, "", bundleName) 57 require.NoError(t, err, "GetLastOutput failed") 58 mylogs, ok := outputs.GetByName("mylogs") 59 require.True(t, ok, "expected mylogs output to be persisted") 60 assert.Contains(t, string(mylogs.Value), "porter-test") 61 result, ok := outputs.GetByName("result") 62 require.True(t, ok, "expected result output to be persisted") 63 assert.NotContains(t, string(result.Value), sensitiveParamValue) 64 }