// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: MPL-2.0 package serviceregistration import ( "testing" "github.com/hashicorp/nomad/nomad/structs" "github.com/stretchr/testify/require" ) func TestAllocRegistration_Copy(t *testing.T) { testCases := []struct { inputAllocRegistration *AllocRegistration name string }{ { inputAllocRegistration: &AllocRegistration{ Tasks: map[string]*ServiceRegistrations{}, }, name: "empty tasks map", }, { inputAllocRegistration: &AllocRegistration{ Tasks: map[string]*ServiceRegistrations{ "cache": { Services: map[string]*ServiceRegistration{ "redis-db": { ServiceID: "service-id-1", CheckIDs: map[string]struct{}{ "check-id-1": {}, "check-id-2": {}, "check-id-3": {}, }, CheckOnUpdate: map[string]string{ "check-id-1": structs.OnUpdateIgnore, "check-id-2": structs.OnUpdateRequireHealthy, "check-id-3": structs.OnUpdateIgnoreWarn, }, }, }, }, }, }, name: "non-empty tasks map", }, } for _, tc := range testCases { t.Run(tc.name, func(t *testing.T) { actualOutput := tc.inputAllocRegistration.Copy() require.Equal(t, tc.inputAllocRegistration, actualOutput) }) } }