github.com/newrelic/newrelic-client-go@v1.1.0/pkg/synthetics/secure_credentials_integration_test.go (about) 1 //go:build integration 2 // +build integration 3 4 package synthetics 5 6 import ( 7 "fmt" 8 "strings" 9 "testing" 10 11 "github.com/stretchr/testify/assert" 12 "github.com/stretchr/testify/require" 13 14 mock "github.com/newrelic/newrelic-client-go/pkg/testhelpers" 15 ) 16 17 var ( 18 testIntegrationSecureCredentialValue = "test value" 19 testIntegrationSecureCredentialDescription = "test description" 20 testIntegrationSecureCredential = &SecureCredential{ 21 Value: testIntegrationSecureCredentialValue, 22 Description: testIntegrationSecureCredentialDescription, 23 } 24 ) 25 26 func TestIntegrationSecureCredentials(t *testing.T) { 27 t.Parallel() 28 29 tc := mock.NewIntegrationTestConfig(t) 30 synthetics := New(tc) 31 32 // Setup 33 rand := strings.ToUpper(mock.RandSeq(5)) 34 key := fmt.Sprintf("TEST_SYNTHETICS_SECURE_CREDENTIAL_%s", rand) 35 testIntegrationSecureCredential.Key = key 36 creds, err := synthetics.GetSecureCredentials() 37 require.NoError(t, err) 38 39 originalCount := len(creds) 40 41 // Test: Add 42 c, err := synthetics.AddSecureCredential(key, "asdf", testIntegrationSecureCredentialDescription) 43 require.NoError(t, err) 44 45 // Test: Get 46 c, err = synthetics.GetSecureCredential(key) 47 require.NoError(t, err) 48 assert.Equal(t, (*c).Key, key) 49 assert.Equal(t, (*c).Description, testIntegrationSecureCredentialDescription) 50 51 // Test: Get (Multiple) 52 creds, err = synthetics.GetSecureCredentials() 53 require.NoError(t, err) 54 assert.GreaterOrEqual(t, len(creds), originalCount) 55 56 // Test: Update 57 c, err = synthetics.UpdateSecureCredential(c.Key, testIntegrationSecureCredentialValue, "new test value") 58 require.NoError(t, err) 59 assert.Equal(t, "new test value", (*c).Description) 60 61 // Test: Delete 62 err = synthetics.DeleteSecureCredential(key) 63 require.NoError(t, err) 64 65 // Verify Delete 66 _, err = synthetics.GetSecureCredential(key) 67 require.Error(t, err) 68 }