github.com/newrelic/go-agent@v3.26.0+incompatible/internal/utilization/pcf_test.go (about) 1 // Copyright 2020 New Relic Corporation. All rights reserved. 2 // SPDX-License-Identifier: Apache-2.0 3 4 package utilization 5 6 import ( 7 "testing" 8 9 "github.com/newrelic/go-agent/internal/crossagent" 10 ) 11 12 func TestCrossAgentPCF(t *testing.T) { 13 var testCases []testCase 14 15 err := crossagent.ReadJSON("utilization_vendor_specific/pcf.json", &testCases) 16 if err != nil { 17 t.Fatalf("reading pcf.json failed: %v", err) 18 } 19 20 for _, testCase := range testCases { 21 pcf, err := getPCF(func(key string) string { 22 resp := testCase.EnvVars[key] 23 if resp.Timeout { 24 return "" 25 } 26 return resp.Response 27 }) 28 29 if testCase.ExpectedVendorsHash.PCF == nil { 30 if err == nil { 31 t.Fatalf("%s: expected error; got nil", testCase.TestName) 32 } 33 } else { 34 if err != nil { 35 t.Fatalf("%s: expected no error; got %v", testCase.TestName, err) 36 } 37 38 if pcf.InstanceGUID != testCase.ExpectedVendorsHash.PCF.InstanceGUID { 39 t.Fatalf("%s: InstanceGUID incorrect; expected: %s; got: %s", testCase.TestName, testCase.ExpectedVendorsHash.PCF.InstanceGUID, pcf.InstanceGUID) 40 } 41 42 if pcf.InstanceIP != testCase.ExpectedVendorsHash.PCF.InstanceIP { 43 t.Fatalf("%s: InstanceIP incorrect; expected: %s; got: %s", testCase.TestName, testCase.ExpectedVendorsHash.PCF.InstanceIP, pcf.InstanceIP) 44 } 45 46 if pcf.MemoryLimit != testCase.ExpectedVendorsHash.PCF.MemoryLimit { 47 t.Fatalf("%s: MemoryLimit incorrect; expected: %s; got: %s", testCase.TestName, testCase.ExpectedVendorsHash.PCF.MemoryLimit, pcf.MemoryLimit) 48 } 49 } 50 } 51 }