github.1485827954.workers.dev/newrelic/newrelic-client-go@v1.1.0/pkg/nrdb/nrdb_integration_test.go (about)

     1  //go:build integration
     2  // +build integration
     3  
     4  package nrdb
     5  
     6  import (
     7  	"fmt"
     8  	"os"
     9  	"strconv"
    10  	"testing"
    11  
    12  	"github.com/stretchr/testify/assert"
    13  	"github.com/stretchr/testify/require"
    14  
    15  	mock "github.com/newrelic/newrelic-client-go/pkg/testhelpers"
    16  )
    17  
    18  // nolint
    19  func newNrdbIntegrationTestClient(t *testing.T) Nrdb {
    20  	tc := mock.NewIntegrationTestConfig(t)
    21  
    22  	return New(tc)
    23  }
    24  
    25  func TestIntegrationNrdbQuery(t *testing.T) {
    26  	t.Parallel()
    27  
    28  	// Request a constant so we can easily validate
    29  	query := "SELECT 1 FROM Transaction"
    30  	client := newNrdbIntegrationTestClient(t)
    31  
    32  	accountID, err := strconv.Atoi(os.Getenv("NEW_RELIC_ACCOUNT_ID"))
    33  	if err != nil {
    34  		t.Skipf("integration testing requires NEW_RELIC_ACOUNT_ID")
    35  	}
    36  
    37  	res, err := client.Query(accountID, NRQL(query))
    38  
    39  	require.NoError(t, err)
    40  	require.NotNil(t, res)
    41  
    42  	fmt.Printf("%+v\n", res)
    43  	require.Equal(t, 1, len(res.Results))
    44  
    45  	if v, ok := res.Results[0]["constant"]; ok {
    46  		assert.Equal(t, float64(1), v)
    47  	}
    48  }
    49  
    50  func TestIntegrationNrdbQueryHistoryQuery(t *testing.T) {
    51  	t.Parallel()
    52  
    53  	client := newNrdbIntegrationTestClient(t)
    54  
    55  	res, err := client.QueryHistory()
    56  
    57  	require.NoError(t, err)
    58  	require.NotNil(t, res)
    59  
    60  	require.GreaterOrEqual(t, len(*res), 1)
    61  }