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  }