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 }