mirror of
https://github.com/status-im/consul.git
synced 2025-02-12 13:46:46 +00:00
* remove v2 tenancy, catalog, and mesh - Inline the v2tenancy experiment to false - Inline the resource-apis experiment to false - Inline the hcp-v2-resource-apis experiment to false - Remove ACL policy templates and rule language changes related to workload identities (a v2-only concept) (e.g. identity and identity_prefix) - Update the gRPC endpoint used by consul-dataplane to no longer respond specially for v2 - Remove stray v2 references scattered throughout the DNS v1.5 newer implementation. * changelog * go mod tidy on consul containers * lint fixes from ENT --------- Co-authored-by: John Murret <john.murret@hashicorp.com>
54 lines
1.9 KiB
Go
54 lines
1.9 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
package resource_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
mapset "github.com/deckarep/golang-set/v2"
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/hashicorp/consul/internal/resource"
|
|
rtest "github.com/hashicorp/consul/internal/resource/resourcetest"
|
|
pbdemo "github.com/hashicorp/consul/proto/private/pbdemo/v2"
|
|
)
|
|
|
|
func TestFinalizer(t *testing.T) {
|
|
t.Run("no finalizers", func(t *testing.T) {
|
|
res := rtest.Resource(pbdemo.ArtistType, "art1").Build()
|
|
require.False(t, resource.HasFinalizers(res))
|
|
require.False(t, resource.HasFinalizer(res, "finalizer1"))
|
|
require.Equal(t, mapset.NewSet[string](), resource.GetFinalizers(res))
|
|
resource.RemoveFinalizer(res, "finalizer")
|
|
})
|
|
|
|
t.Run("add finalizer", func(t *testing.T) {
|
|
res := rtest.Resource(pbdemo.ArtistType, "art1").Build()
|
|
resource.AddFinalizer(res, "finalizer1")
|
|
require.True(t, resource.HasFinalizers(res))
|
|
require.True(t, resource.HasFinalizer(res, "finalizer1"))
|
|
require.False(t, resource.HasFinalizer(res, "finalizer2"))
|
|
require.Equal(t, mapset.NewSet[string]("finalizer1"), resource.GetFinalizers(res))
|
|
|
|
// add duplicate -> noop
|
|
resource.AddFinalizer(res, "finalizer1")
|
|
require.Equal(t, mapset.NewSet[string]("finalizer1"), resource.GetFinalizers(res))
|
|
})
|
|
|
|
t.Run("remove finalizer", func(t *testing.T) {
|
|
res := rtest.Resource(pbdemo.ArtistType, "art1").Build()
|
|
resource.AddFinalizer(res, "finalizer1")
|
|
resource.AddFinalizer(res, "finalizer2")
|
|
resource.RemoveFinalizer(res, "finalizer1")
|
|
require.False(t, resource.HasFinalizer(res, "finalizer1"))
|
|
require.True(t, resource.HasFinalizer(res, "finalizer2"))
|
|
require.Equal(t, mapset.NewSet[string]("finalizer2"), resource.GetFinalizers(res))
|
|
|
|
// remove non-existent -> noop
|
|
resource.RemoveFinalizer(res, "finalizer3")
|
|
require.Equal(t, mapset.NewSet[string]("finalizer2"), resource.GetFinalizers(res))
|
|
})
|
|
|
|
}
|