github.com/anuvu/nomad@v0.8.7-atom1/client/fingerprint/memory_test.go (about) 1 package fingerprint 2 3 import ( 4 "testing" 5 6 "github.com/hashicorp/nomad/client/config" 7 cstructs "github.com/hashicorp/nomad/client/structs" 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(testLogger()) 15 node := &structs.Node{ 16 Attributes: make(map[string]string), 17 } 18 19 request := &cstructs.FingerprintRequest{Config: &config.Config{}, Node: node} 20 var response cstructs.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 if response.Resources.MemoryMB == 0 { 32 t.Fatalf("Expected node.Resources.MemoryMB to be non-zero") 33 } 34 } 35 36 func TestMemoryFingerprint_Override(t *testing.T) { 37 f := NewMemoryFingerprint(testLogger()) 38 node := &structs.Node{ 39 Attributes: make(map[string]string), 40 } 41 42 memoryMB := 15000 43 request := &cstructs.FingerprintRequest{Config: &config.Config{MemoryMB: memoryMB}, Node: node} 44 var response cstructs.FingerprintResponse 45 err := f.Fingerprint(request, &response) 46 if err != nil { 47 t.Fatalf("err: %v", err) 48 } 49 50 assertNodeAttributeContains(t, response.Attributes, "memory.totalbytes") 51 require := require.New(t) 52 require.NotNil(response.Resources) 53 require.Equal(response.Resources.MemoryMB, memoryMB) 54 }