diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 7acea7daf..e028b0446 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -447,7 +447,7 @@ For the Shell provisioner this is: os.Setenv("PACKER_RUN_UUID", UUID) } file := "provisioner.shell." + UUID + ".txt" - defer testshelper.CleanupFiles(file) + defer testutils.CleanupFiles(file) // Run build // All provisioner acc tests should contain this code and validation @@ -462,7 +462,7 @@ For the Shell provisioner this is: } // Any other extra specific validation - if !testshelper.FileExists(file) { + if !testutils.FileExists(file) { return fmt.Errorf("Expected to find %s", file) } return nil diff --git a/builder/virtualbox/iso/acceptance/builder_acceptance.go b/builder/virtualbox/iso/acceptance/builder_acceptance.go index e394ca6c4..11db2c342 100644 --- a/builder/virtualbox/iso/acceptance/builder_acceptance.go +++ b/builder/virtualbox/iso/acceptance/builder_acceptance.go @@ -11,9 +11,8 @@ import ( "github.com/hashicorp/packer/builder/virtualbox/iso" + "github.com/hashicorp/packer/packer-plugin-sdk/acctest/testutils" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" - - testshelper "github.com/hashicorp/packer/helper/tests" ) type VirtualBoxISOAccTest struct{} @@ -34,8 +33,8 @@ func (v *VirtualBoxISOAccTest) GetConfigs() (map[string]string, error) { } func (v *VirtualBoxISOAccTest) CleanUp() error { - testshelper.CleanupFiles("virtualbox-iso-packer-acc-test") - testshelper.CleanupFiles("packer_cache") + testutils.CleanupFiles("virtualbox-iso-packer-acc-test") + testutils.CleanupFiles("packer_cache") return nil } diff --git a/helper/tests/core.go b/packer-plugin-sdk/acctest/provisioneracc/core.go similarity index 82% rename from helper/tests/core.go rename to packer-plugin-sdk/acctest/provisioneracc/core.go index 5e8e2764f..11e55b052 100644 --- a/helper/tests/core.go +++ b/packer-plugin-sdk/acctest/provisioneracc/core.go @@ -1,8 +1,7 @@ -package testshelper +package provisioneracc import ( "bytes" - "os" "testing" amazonebsbuilder "github.com/hashicorp/packer/builder/amazon/ebs" @@ -13,14 +12,6 @@ import ( "github.com/hashicorp/packer/provisioner/shell" ) -// fileExists returns true if the filename is found -func FileExists(filename string) bool { - if _, err := os.Stat(filename); err == nil { - return true - } - return false -} - // testCoreConfigBuilder creates a packer CoreConfig that has a file builder // available. This allows us to test a builder that writes files to disk. func testCoreConfigBuilder(t *testing.T) *packer.CoreConfig { @@ -50,9 +41,3 @@ func TestMetaFile(t *testing.T) command.Meta { }, } } - -func CleanupFiles(moreFiles ...string) { - for _, file := range moreFiles { - os.RemoveAll(file) - } -} diff --git a/helper/tests/acc/provisioners.go b/packer-plugin-sdk/acctest/provisioneracc/provisioners.go similarity index 96% rename from helper/tests/acc/provisioners.go rename to packer-plugin-sdk/acctest/provisioneracc/provisioners.go index 5c7a780c9..56ecaae8a 100644 --- a/helper/tests/acc/provisioners.go +++ b/packer-plugin-sdk/acctest/provisioneracc/provisioners.go @@ -1,4 +1,4 @@ -package acc +package provisioneracc import ( "bytes" @@ -9,11 +9,10 @@ import ( "strings" "testing" - testshelper "github.com/hashicorp/packer/helper/tests" - amazonEBS "github.com/hashicorp/packer/builder/amazon/ebs/acceptance" virtualboxISO "github.com/hashicorp/packer/builder/virtualbox/iso/acceptance" "github.com/hashicorp/packer/command" + "github.com/hashicorp/packer/packer-plugin-sdk/acctest/testutils" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) @@ -56,7 +55,7 @@ func TestProvisionersAgainstBuilders(provisionerAcc ProvisionerAcceptance, t *te err = provisionerAcc.RunTest(c, args) // Cleanup created resources - testshelper.CleanupFiles(fileName) + testutils.CleanupFiles(fileName) cleanErr := builderAcc.CleanUp() if cleanErr != nil { log.Printf("bad: failed to clean up resources: %s", cleanErr.Error()) @@ -122,7 +121,7 @@ func writeJsonTemplate(out *bytes.Buffer, filePath string, t *testing.T) { func buildCommand(t *testing.T, builder BuilderAcceptance, provisioner ProvisionerAcceptance) *command.BuildCommand { c := &command.BuildCommand{ - Meta: testshelper.TestMetaFile(t), + Meta: TestMetaFile(t), } c.CoreConfig.Components.BuilderStore = builder.GetBuilderStore() c.CoreConfig.Components.ProvisionerStore = provisioner.GetProvisionerStore() diff --git a/packer-plugin-sdk/acctest/testutils/utils.go b/packer-plugin-sdk/acctest/testutils/utils.go new file mode 100644 index 000000000..a0470a4f2 --- /dev/null +++ b/packer-plugin-sdk/acctest/testutils/utils.go @@ -0,0 +1,18 @@ +package testutils + +import "os" + +// CleanupFiles removes all files in the given strings. +func CleanupFiles(moreFiles ...string) { + for _, file := range moreFiles { + os.RemoveAll(file) + } +} + +// FileExists returns true if the filename is found. +func FileExists(filename string) bool { + if _, err := os.Stat(filename); err == nil { + return true + } + return false +} diff --git a/provisioner/powershell/provisioner_acc_test.go b/provisioner/powershell/provisioner_acc_test.go index 62837e992..e6a8c4af7 100644 --- a/provisioner/powershell/provisioner_acc_test.go +++ b/provisioner/powershell/provisioner_acc_test.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/go-uuid" "github.com/hashicorp/packer/command" - "github.com/hashicorp/packer/helper/tests/acc" + "github.com/hashicorp/packer/packer-plugin-sdk/acctest/provisioneracc" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/hashicorp/packer/provisioner/powershell" windowsshellprovisioner "github.com/hashicorp/packer/provisioner/windows-shell" @@ -19,24 +19,24 @@ import ( const TestProvisionerName = "powershell" func TestAccPowershellProvisioner_basic(t *testing.T) { - acc.TestProvisionersPreCheck(TestProvisionerName, t) + provisioneracc.TestProvisionersPreCheck(TestProvisionerName, t) testProvisioner := PowershellProvisionerAccTest{"powershell-provisioner-cleanup.txt"} - acc.TestProvisionersAgainstBuilders(&testProvisioner, t) + provisioneracc.TestProvisionersAgainstBuilders(&testProvisioner, t) } func TestAccPowershellProvisioner_Inline(t *testing.T) { - acc.TestProvisionersPreCheck(TestProvisionerName, t) + provisioneracc.TestProvisionersPreCheck(TestProvisionerName, t) testProvisioner := PowershellProvisionerAccTest{"powershell-inline-provisioner.txt"} - acc.TestProvisionersAgainstBuilders(&testProvisioner, t) + provisioneracc.TestProvisionersAgainstBuilders(&testProvisioner, t) } func TestAccPowershellProvisioner_Script(t *testing.T) { - acc.TestProvisionersPreCheck(TestProvisionerName, t) + provisioneracc.TestProvisionersPreCheck(TestProvisionerName, t) testProvisioner := PowershellProvisionerAccTest{"powershell-script-provisioner.txt"} - acc.TestProvisionersAgainstBuilders(&testProvisioner, t) + provisioneracc.TestProvisionersAgainstBuilders(&testProvisioner, t) } type PowershellProvisionerAccTest struct { diff --git a/provisioner/shell-local/provisioner_acc_test.go b/provisioner/shell-local/provisioner_acc_test.go index 91c58534b..9aef8d04f 100644 --- a/provisioner/shell-local/provisioner_acc_test.go +++ b/provisioner/shell-local/provisioner_acc_test.go @@ -8,7 +8,8 @@ import ( "path/filepath" "testing" - "github.com/hashicorp/packer/helper/tests/acc" + "github.com/hashicorp/packer/packer-plugin-sdk/acctest/provisioneracc" + "github.com/hashicorp/packer/provisioner/shell" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" @@ -17,8 +18,8 @@ import ( ) func TestShellLocalProvisionerWithRetryOption(t *testing.T) { - acc.TestProvisionersPreCheck("shell-local", t) - acc.TestProvisionersAgainstBuilders(new(ShellLocalProvisionerAccTest), t) + provisioneracc.TestProvisionersPreCheck("shell-local", t) + provisioneracc.TestProvisionersAgainstBuilders(new(ShellLocalProvisionerAccTest), t) } type ShellLocalProvisionerAccTest struct{} diff --git a/provisioner/shell/provisioner_acc_test.go b/provisioner/shell/provisioner_acc_test.go index 4cde4db80..3704feeba 100644 --- a/provisioner/shell/provisioner_acc_test.go +++ b/provisioner/shell/provisioner_acc_test.go @@ -8,7 +8,8 @@ import ( "path/filepath" "testing" - "github.com/hashicorp/packer/helper/tests/acc" + "github.com/hashicorp/packer/packer-plugin-sdk/acctest/provisioneracc" + "github.com/hashicorp/packer/packer-plugin-sdk/acctest/testutils" "github.com/hashicorp/packer/provisioner/file" "github.com/hashicorp/packer/provisioner/shell" @@ -16,12 +17,11 @@ import ( "github.com/hashicorp/go-uuid" "github.com/hashicorp/packer/command" - testshelper "github.com/hashicorp/packer/helper/tests" ) func TestShellProvisioner(t *testing.T) { - acc.TestProvisionersPreCheck("shell", t) - acc.TestProvisionersAgainstBuilders(new(ShellProvisionerAccTest), t) + provisioneracc.TestProvisionersPreCheck("shell", t) + provisioneracc.TestProvisionersAgainstBuilders(new(ShellProvisionerAccTest), t) } type ShellProvisionerAccTest struct{} @@ -61,7 +61,7 @@ func (s *ShellProvisionerAccTest) RunTest(c *command.BuildCommand, args []string } file := "provisioner.shell." + UUID + ".txt" - defer testshelper.CleanupFiles(file) + defer testutils.CleanupFiles(file) if code := c.Run(args); code != 0 { ui := c.Meta.Ui.(*packersdk.BasicUi) @@ -73,7 +73,7 @@ func (s *ShellProvisionerAccTest) RunTest(c *command.BuildCommand, args []string err.String()) } - if !testshelper.FileExists(file) { + if !testutils.FileExists(file) { return fmt.Errorf("Expected to find %s", file) } return nil