github.com/zhizhiboom/nomad@v0.8.5-0.20180907175415-f28fd3a1a056/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/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 f := NewMemoryFingerprint(testlog.Logger(t)) 16 node := &structs.Node{ 17 Attributes: make(map[string]string), 18 } 19 20 request := &cstructs.FingerprintRequest{Config: &config.Config{}, Node: node} 21 var response cstructs.FingerprintResponse 22 err := f.Fingerprint(request, &response) 23 if err != nil { 24 t.Fatalf("err: %v", err) 25 } 26 27 assertNodeAttributeContains(t, response.Attributes, "memory.totalbytes") 28 29 if response.Resources == nil { 30 t.Fatalf("response resources should not be nil") 31 } 32 if response.Resources.MemoryMB == 0 { 33 t.Fatalf("Expected node.Resources.MemoryMB to be non-zero") 34 } 35 } 36 37 func TestMemoryFingerprint_Override(t *testing.T) { 38 f := NewMemoryFingerprint(testlog.Logger(t)) 39 node := &structs.Node{ 40 Attributes: make(map[string]string), 41 } 42 43 memoryMB := 15000 44 request := &cstructs.FingerprintRequest{Config: &config.Config{MemoryMB: memoryMB}, Node: node} 45 var response cstructs.FingerprintResponse 46 err := f.Fingerprint(request, &response) 47 if err != nil { 48 t.Fatalf("err: %v", err) 49 } 50 51 assertNodeAttributeContains(t, response.Attributes, "memory.totalbytes") 52 require := require.New(t) 53 require.NotNil(response.Resources) 54 require.Equal(response.Resources.MemoryMB, memoryMB) 55 }