1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
// Copyright 2020 New Relic Corporation. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
package utilization
import (
"net/http"
"testing"
"github.com/newrelic/go-agent/v3/internal/crossagent"
)
func TestCrossAgentAzure(t *testing.T) {
var testCases []testCase
err := crossagent.ReadJSON("utilization_vendor_specific/azure.json", &testCases)
if err != nil {
t.Fatalf("reading azure.json failed: %v", err)
}
for _, testCase := range testCases {
client := &http.Client{
Transport: &mockTransport{
t: t,
responses: testCase.URIs,
},
}
azure, err := getAzure(client)
if testCase.ExpectedVendorsHash.Azure == nil {
if err == nil {
t.Fatalf("%s: expected error; got nil", testCase.TestName)
}
} else {
if err != nil {
t.Fatalf("%s: expected no error; got %v", testCase.TestName, err)
}
if azure.Location != testCase.ExpectedVendorsHash.Azure.Location {
t.Fatalf("%s: Location incorrect; expected: %s; got: %s", testCase.TestName, testCase.ExpectedVendorsHash.Azure.Location, azure.Location)
}
if azure.Name != testCase.ExpectedVendorsHash.Azure.Name {
t.Fatalf("%s: Name incorrect; expected: %s; got: %s", testCase.TestName, testCase.ExpectedVendorsHash.Azure.Name, azure.Name)
}
if azure.VMID != testCase.ExpectedVendorsHash.Azure.VMID {
t.Fatalf("%s: VMID incorrect; expected: %s; got: %s", testCase.TestName, testCase.ExpectedVendorsHash.Azure.VMID, azure.VMID)
}
if azure.VMSize != testCase.ExpectedVendorsHash.Azure.VMSize {
t.Fatalf("%s: VMSize incorrect; expected: %s; got: %s", testCase.TestName, testCase.ExpectedVendorsHash.Azure.VMSize, azure.VMSize)
}
}
}
}
|