112 lines
2.0 KiB
Go
112 lines
2.0 KiB
Go
// 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)
|
|
}
|