github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/client/fingerprint/memory_test.go (about) 1 package fingerprint 2 3 import ( 4 "testing" 5 6 "github.com/hashicorp/nomad/ci" 7 "github.com/hashicorp/nomad/client/config" 8 "github.com/hashicorp/nomad/helper/testlog" 9 "github.com/hashicorp/nomad/nomad/structs" 10 11 "github.com/stretchr/testify/require" 12 ) 13 14 func TestMemoryFingerprint(t *testing.T) { 15 ci.Parallel(t) 16 17 require := require.New(t) 18 19 f := NewMemoryFingerprint(testlog.HCLogger(t)) 20 node := &structs.Node{ 21 Attributes: make(map[string]string), 22 } 23 24 request := &FingerprintRequest{Config: &config.Config{}, Node: node} 25 var response FingerprintResponse 26 err := f.Fingerprint(request, &response) 27 require.NoError(err) 28 29 assertNodeAttributeContains(t, response.Attributes, "memory.totalbytes") 30 require.NotNil(response.Resources, "expected response Resources to not be nil") 31 require.NotZero(response.Resources.MemoryMB, "expected memory to be non-zero") 32 require.NotNil(response.NodeResources, "expected response NodeResources to not be nil") 33 require.NotZero(response.NodeResources.Memory.MemoryMB, "expected memory to be non-zero") 34 } 35 36 func TestMemoryFingerprint_Override(t *testing.T) { 37 ci.Parallel(t) 38 39 f := NewMemoryFingerprint(testlog.HCLogger(t)) 40 node := &structs.Node{ 41 Attributes: make(map[string]string), 42 } 43 44 memoryMB := 15000 45 request := &FingerprintRequest{Config: &config.Config{MemoryMB: memoryMB}, Node: node} 46 var response FingerprintResponse 47 err := f.Fingerprint(request, &response) 48 if err != nil { 49 t.Fatalf("err: %v", err) 50 } 51 52 assertNodeAttributeContains(t, response.Attributes, "memory.totalbytes") 53 require := require.New(t) 54 require.NotNil(response.Resources) 55 require.EqualValues(response.Resources.MemoryMB, memoryMB) 56 require.NotNil(response.NodeResources) 57 require.EqualValues(response.NodeResources.Memory.MemoryMB, memoryMB) 58 }