Merge pull request #5495 from stormqueen1990/chore/removetest-internal-package

chore: move removetest.go to the internal package
This commit is contained in:
Kubernetes Prow Robot
2023-12-22 11:06:54 +01:00
committed by GitHub
3 changed files with 46 additions and 43 deletions

View File

@@ -7,14 +7,14 @@ import (
"errors"
"testing"
"sigs.k8s.io/kustomize/kustomize/v5/commands/edit/remove_test"
testutils_test "sigs.k8s.io/kustomize/kustomize/v5/commands/internal/testutils"
)
func TestRemoveResources(t *testing.T) {
testCases := []remove_test.Case{
testCases := []testutils_test.RemoveTestCase{
{
Description: "remove resources",
Given: remove_test.Given{
Given: testutils_test.RemoveTestGivenValues{
Items: []string{
"resource1.yaml",
"resource2.yaml",
@@ -22,7 +22,7 @@ func TestRemoveResources(t *testing.T) {
},
RemoveArgs: []string{"resource1.yaml"},
},
Expected: remove_test.Expected{
Expected: testutils_test.RemoveTestExpectedValues{
Items: []string{
"resource2.yaml",
"resource3.yaml",
@@ -34,7 +34,7 @@ func TestRemoveResources(t *testing.T) {
},
{
Description: "remove resource with pattern",
Given: remove_test.Given{
Given: testutils_test.RemoveTestGivenValues{
Items: []string{
"foo/resource1.yaml",
"foo/resource2.yaml",
@@ -43,7 +43,7 @@ func TestRemoveResources(t *testing.T) {
},
RemoveArgs: []string{"foo/resource*.yaml"},
},
Expected: remove_test.Expected{
Expected: testutils_test.RemoveTestExpectedValues{
Items: []string{
"do/not/deleteme/please.yaml",
},
@@ -56,7 +56,7 @@ func TestRemoveResources(t *testing.T) {
},
{
Description: "nothing found to remove",
Given: remove_test.Given{
Given: testutils_test.RemoveTestGivenValues{
Items: []string{
"resource1.yaml",
"resource2.yaml",
@@ -64,7 +64,7 @@ func TestRemoveResources(t *testing.T) {
},
RemoveArgs: []string{"foo"},
},
Expected: remove_test.Expected{
Expected: testutils_test.RemoveTestExpectedValues{
Items: []string{
"resource2.yaml",
"resource3.yaml",
@@ -74,14 +74,14 @@ func TestRemoveResources(t *testing.T) {
},
{
Description: "no arguments",
Given: remove_test.Given{},
Expected: remove_test.Expected{
Given: testutils_test.RemoveTestGivenValues{},
Expected: testutils_test.RemoveTestExpectedValues{
Err: errors.New("must specify a resource file"),
},
},
{
Description: "remove with multiple pattern arguments",
Given: remove_test.Given{
Given: testutils_test.RemoveTestGivenValues{
Items: []string{
"foo/foo.yaml",
"bar/bar.yaml",
@@ -94,7 +94,7 @@ func TestRemoveResources(t *testing.T) {
"res*.yaml",
},
},
Expected: remove_test.Expected{
Expected: testutils_test.RemoveTestExpectedValues{
Items: []string{
"do/not/deleteme/please.yaml",
},
@@ -107,5 +107,5 @@ func TestRemoveResources(t *testing.T) {
},
}
remove_test.ExecuteTestCases(t, testCases, "resources", newCmdRemoveResource)
testutils_test.ExecuteRemoveTestCases(t, testCases, "resources", newCmdRemoveResource)
}

View File

@@ -6,15 +6,15 @@ package remove
import (
"testing"
"sigs.k8s.io/kustomize/kustomize/v5/commands/edit/remove_test"
testutils_test "sigs.k8s.io/kustomize/kustomize/v5/commands/internal/testutils"
"sigs.k8s.io/kustomize/kyaml/errors"
)
func TestRemoveTransformer(t *testing.T) {
testCases := []remove_test.Case{
testCases := []testutils_test.RemoveTestCase{
{
Description: "remove transformers",
Given: remove_test.Given{
Given: testutils_test.RemoveTestGivenValues{
Items: []string{
"transformer1.yaml",
"transformer2.yaml",
@@ -22,7 +22,7 @@ func TestRemoveTransformer(t *testing.T) {
},
RemoveArgs: []string{"transformer1.yaml"},
},
Expected: remove_test.Expected{
Expected: testutils_test.RemoveTestExpectedValues{
Items: []string{
"transformer2.yaml",
"transformer3.yaml",
@@ -34,7 +34,7 @@ func TestRemoveTransformer(t *testing.T) {
},
{
Description: "remove transformer with pattern",
Given: remove_test.Given{
Given: testutils_test.RemoveTestGivenValues{
Items: []string{
"foo/transformer1.yaml",
"foo/transformer2.yaml",
@@ -43,7 +43,7 @@ func TestRemoveTransformer(t *testing.T) {
},
RemoveArgs: []string{"foo/transformer*.yaml"},
},
Expected: remove_test.Expected{
Expected: testutils_test.RemoveTestExpectedValues{
Items: []string{
"do/not/deleteme/please.yaml",
},
@@ -56,7 +56,7 @@ func TestRemoveTransformer(t *testing.T) {
},
{
Description: "nothing found to remove",
Given: remove_test.Given{
Given: testutils_test.RemoveTestGivenValues{
Items: []string{
"transformer1.yaml",
"transformer2.yaml",
@@ -64,7 +64,7 @@ func TestRemoveTransformer(t *testing.T) {
},
RemoveArgs: []string{"foo"},
},
Expected: remove_test.Expected{
Expected: testutils_test.RemoveTestExpectedValues{
Items: []string{
"transformer2.yaml",
"transformer3.yaml",
@@ -74,14 +74,14 @@ func TestRemoveTransformer(t *testing.T) {
},
{
Description: "no arguments",
Given: remove_test.Given{},
Expected: remove_test.Expected{
Given: testutils_test.RemoveTestGivenValues{},
Expected: testutils_test.RemoveTestExpectedValues{
Err: errors.Errorf("must specify a transformer file"),
},
},
{
Description: "remove with multiple pattern arguments",
Given: remove_test.Given{
Given: testutils_test.RemoveTestGivenValues{
Items: []string{
"foo/foo.yaml",
"bar/bar.yaml",
@@ -94,7 +94,7 @@ func TestRemoveTransformer(t *testing.T) {
"tra*.yaml",
},
},
Expected: remove_test.Expected{
Expected: testutils_test.RemoveTestExpectedValues{
Items: []string{
"do/not/deleteme/please.yaml",
},
@@ -107,5 +107,5 @@ func TestRemoveTransformer(t *testing.T) {
},
}
remove_test.ExecuteTestCases(t, testCases, "transformers", newCmdRemoveTransformer)
testutils_test.ExecuteRemoveTestCases(t, testCases, "transformers", newCmdRemoveTransformer)
}

View File

@@ -1,7 +1,7 @@
// Copyright 2022 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package remove_test
package testutils_test
import (
"fmt"
@@ -9,21 +9,20 @@ import (
"testing"
"github.com/spf13/cobra"
testutils_test "sigs.k8s.io/kustomize/kustomize/v5/commands/internal/testutils"
"sigs.k8s.io/kustomize/kyaml/filesys"
)
// Given represents the provided inputs for the test case.
type Given struct {
// RemoveTestGivenValues represents the provided inputs for the test case.
type RemoveTestGivenValues struct {
// Items is the given input items.
Items []string
// RemoveArgs are the arguments to pass to the remove command.
RemoveArgs []string
}
// Expected represents the expected outputs of the test case.
type Expected struct {
// Expected is the collection of expected output items.
// RemoveTestExpectedValues represents the expected outputs of the test case.
type RemoveTestExpectedValues struct {
// RemoveTestExpectedValues is the collection of expected output items.
Items []string
// Deleted is the collection of expected Deleted items (if any).
Deleted []string
@@ -31,26 +30,30 @@ type Expected struct {
Err error
}
// Case represents a test case to execute.
type Case struct {
// RemoveTestCase represents a test case to execute.
type RemoveTestCase struct {
// Description is the description of the test case.
Description string
// Given is the provided inputs for the test case.
Given Given
Given RemoveTestGivenValues
// Expected is the expected outputs for the test case.
Expected Expected
Expected RemoveTestExpectedValues
}
// ExecuteTestCases executes the provided test cases against the specified command
// ExecuteRemoveTestCases executes the provided test cases against the specified command
// for a particular collection (e.g. ) tests a command defined by the provided
// collection Name (e.g. transformers or resources) and newRemoveCmdToTest function.
func ExecuteTestCases(t *testing.T, testCases []Case, collectionName string,
newRemoveCmdToTest func(filesys.FileSystem) *cobra.Command) {
func ExecuteRemoveTestCases(
t *testing.T,
testCases []RemoveTestCase,
collectionName string,
newRemoveCmdToTest func(filesys.FileSystem) *cobra.Command,
) {
t.Helper()
for _, tc := range testCases {
t.Run(tc.Description, func(t *testing.T) {
fSys := filesys.MakeFsInMemory()
testutils_test.WriteTestKustomizationWith(
WriteTestKustomizationWith(
fSys,
[]byte(fmt.Sprintf("%s:\n - %s",
collectionName,
@@ -61,13 +64,13 @@ func ExecuteTestCases(t *testing.T, testCases []Case, collectionName string,
t.Errorf("unexpected cmd error: %v", err)
} else if tc.Expected.Err != nil {
if err.Error() != tc.Expected.Err.Error() {
t.Errorf("expected error did not occurred. Expected: %v. Actual: %v",
t.Errorf("expected error did not occur. Expected: %v. Actual: %v",
tc.Expected.Err,
err)
}
return
}
content, err := testutils_test.ReadTestKustomization(fSys)
content, err := ReadTestKustomization(fSys)
if err != nil {
t.Errorf("unexpected read error: %v", err)
}