mirror of https://github.com/hashicorp/packer
This commit adds a few scenarios of plugin installations to the test suite, in order to document and ensure we behave appropriately when installing pre-releases/metadata.pull/13032/head
parent
fe564c579b
commit
ad4631fb67
@ -0,0 +1,49 @@
|
||||
package test
|
||||
|
||||
func (ts *PackerTestSuite) TestInstallPluginWithMetadata() {
|
||||
tempPluginDir, cleanup := ts.MakePluginDir("1.0.0+metadata")
|
||||
defer cleanup()
|
||||
|
||||
ts.Run("metadata plugin installed must not have metadata in its path", func() {
|
||||
ts.PackerCommand().UsePluginDir(tempPluginDir).
|
||||
SetArgs("plugins", "installed").
|
||||
Assert(ts.T(), MustSucceed{}, Grep{
|
||||
streams: OnlyStdout,
|
||||
expect: "packer-plugin-tester_v1.0.0[^+]",
|
||||
})
|
||||
})
|
||||
|
||||
ts.Run("plugin with metadata should work with validate", func() {
|
||||
ts.PackerCommand().UsePluginDir(tempPluginDir).
|
||||
SetArgs("validate", "./templates/simple.pkr.hcl").
|
||||
Assert(ts.T(), MustSucceed{}, Grep{
|
||||
streams: OnlyStderr,
|
||||
expect: "packer-plugin-tester_v1.0.0[^+][^\\n]+plugin:",
|
||||
})
|
||||
})
|
||||
|
||||
ts.Run("plugin with metadata should work with build", func() {
|
||||
ts.PackerCommand().UsePluginDir(tempPluginDir).
|
||||
SetArgs("build", "./templates/simple.pkr.hcl").
|
||||
Assert(ts.T(), MustSucceed{}, Grep{
|
||||
streams: OnlyStderr,
|
||||
expect: "packer-plugin-tester_v1.0.0[^+][^\\n]+plugin:",
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
func (ts *PackerTestSuite) TestInstallPluginPrerelease() {
|
||||
pluginPath := BuildSimplePlugin("1.0.1-alpha1", ts.T())
|
||||
|
||||
pluginDir, cleanup := ts.MakePluginDir()
|
||||
defer cleanup()
|
||||
|
||||
ts.Run("try install plugin with alpha1 prerelease - should fail", func() {
|
||||
ts.PackerCommand().UsePluginDir(pluginDir).
|
||||
SetArgs("plugins", "install", "--path", pluginPath, "github.com/hashicorp/tester").
|
||||
Assert(ts.T(), MustFail{}, Grep{
|
||||
streams: OnlyStdout,
|
||||
expect: "Packer can only install plugin releases with this command",
|
||||
})
|
||||
})
|
||||
}
|
||||
Loading…
Reference in new issue