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 }