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