// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: BUSL-1.1 package core import ( "testing" "github.com/stretchr/testify/require" ) func TestTargetIndexDelete(t *testing.T) { tp := TestMinimalProject(t) ti, err := tp.TargetIndex() if err != nil { t.Error(err) } // No Targets err = ti.Delete("") require.NoError(t, err) // Add targets projectTargets(t, tp, 3) // Includes by target name err = ti.Delete("target-1") require.NoError(t, err) // Includes by target id err = ti.Delete("uuid-2") require.NoError(t, err) } func TestTargetIndexGet(t *testing.T) { tp := TestMinimalProject(t) ti, err := tp.TargetIndex() if err != nil { t.Error(err) } // No Targets target, err := ti.Get("") require.Error(t, err) require.Nil(t, target) // Add targets projectTargets(t, tp, 3) // Get by target id target, err = ti.Get("uuid-1") require.NoError(t, err) name, _ := target.Name() require.Equal(t, name, "target-1") } func TestTargetIndexIncludes(t *testing.T) { tp := TestMinimalProject(t) ti, err := tp.TargetIndex() if err != nil { t.Error(err) } // No Targets exists, err := ti.Includes("") require.NoError(t, err) require.False(t, exists) // Add targets projectTargets(t, tp, 3) // Includes by target id exists, err = ti.Includes("uuid-1") require.NoError(t, err) require.True(t, exists) } func TestTargetIndexSet(t *testing.T) { tp := TestMinimalProject(t) ti, err := tp.TargetIndex() if err != nil { t.Error(err) } tt := TestMinimalTarget(t) tt.target.Name = "newName" updated, err := ti.Set(tt) require.NoError(t, err) updateName, _ := updated.Name() require.Equal(t, updateName, "newName") } func TestTargetIndexAll(t *testing.T) { tp := TestMinimalProject(t) ti, err := tp.TargetIndex() require.NoError(t, err) // No Targets targets, err := ti.All() require.NoError(t, err) require.Len(t, targets, 0) // Add targets projectTargets(t, tp, 3) // Includes by target name targets, err = ti.All() require.NoError(t, err) require.Len(t, targets, 3) }