1package fingerprint 2 3// This file contains helper methods for testing fingerprinters 4 5import ( 6 "testing" 7 8 "github.com/hashicorp/nomad/client/config" 9 "github.com/hashicorp/nomad/nomad/structs" 10 "github.com/stretchr/testify/require" 11) 12 13func assertFingerprintOK(t *testing.T, fp Fingerprint, node *structs.Node) *FingerprintResponse { 14 request := &FingerprintRequest{Config: new(config.Config), Node: node} 15 var response FingerprintResponse 16 err := fp.Fingerprint(request, &response) 17 require.NoError(t, err) 18 19 require.NotEmpty(t, response.Attributes, "Failed to apply node attributes") 20 21 return &response 22} 23 24func assertNodeAttributeContains(t *testing.T, nodeAttributes map[string]string, attribute string) { 25 require.NotNil(t, nodeAttributes, "expected an initialized map for node attributes") 26 27 require.Contains(t, nodeAttributes, attribute) 28 require.NotEmpty(t, nodeAttributes[attribute]) 29} 30 31func assertNodeAttributeEquals(t *testing.T, nodeAttributes map[string]string, attribute string, expected string) { 32 require.NotNil(t, nodeAttributes, "expected an initialized map for node attributes") 33 34 require.Contains(t, nodeAttributes, attribute) 35 require.Equal(t, expected, nodeAttributes[attribute]) 36} 37 38func assertNodeLinksContains(t *testing.T, nodeLinks map[string]string, link string) { 39 require.NotNil(t, nodeLinks, "expected an initialized map for node links") 40 41 require.Contains(t, nodeLinks, link) 42 require.NotEmpty(t, nodeLinks[link]) 43} 44