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  }