github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/nomad/structs/consul_test.go (about)

     1  package structs
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/hashicorp/nomad/ci"
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func TestConsul_Copy(t *testing.T) {
    11  	ci.Parallel(t)
    12  
    13  	t.Run("nil", func(t *testing.T) {
    14  		result := (*Consul)(nil).Copy()
    15  		require.Nil(t, result)
    16  	})
    17  
    18  	t.Run("set", func(t *testing.T) {
    19  		result := (&Consul{
    20  			Namespace: "one",
    21  		}).Copy()
    22  		require.Equal(t, &Consul{Namespace: "one"}, result)
    23  	})
    24  }
    25  
    26  func TestConsul_Equals(t *testing.T) {
    27  	ci.Parallel(t)
    28  
    29  	t.Run("nil and nil", func(t *testing.T) {
    30  		result := (*Consul)(nil).Equal((*Consul)(nil))
    31  		require.True(t, result)
    32  	})
    33  
    34  	t.Run("nil and set", func(t *testing.T) {
    35  		result := (*Consul)(nil).Equal(&Consul{Namespace: "one"})
    36  		require.False(t, result)
    37  	})
    38  
    39  	t.Run("same", func(t *testing.T) {
    40  		result := (&Consul{Namespace: "one"}).Equal(&Consul{Namespace: "one"})
    41  		require.True(t, result)
    42  	})
    43  
    44  	t.Run("different", func(t *testing.T) {
    45  		result := (&Consul{Namespace: "one"}).Equal(&Consul{Namespace: "two"})
    46  		require.False(t, result)
    47  	})
    48  }
    49  
    50  func TestConsul_Validate(t *testing.T) {
    51  	ci.Parallel(t)
    52  
    53  	t.Run("empty ns", func(t *testing.T) {
    54  		result := (&Consul{Namespace: ""}).Validate()
    55  		require.Nil(t, result)
    56  	})
    57  
    58  	t.Run("with ns", func(t *testing.T) {
    59  		result := (&Consul{Namespace: "one"}).Validate()
    60  		require.Nil(t, result)
    61  	})
    62  }