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  }