|
|
|
|
@ -29,6 +29,32 @@ func (ts *PackerTestSuite) TestInstallPluginWithMetadata() {
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (ts *PackerTestSuite) TestInstallPluginWithPath() {
|
|
|
|
|
tempPluginDir, cleanup := ts.MakePluginDir()
|
|
|
|
|
defer cleanup()
|
|
|
|
|
|
|
|
|
|
ts.Run("install plugin with pre-release only", func() {
|
|
|
|
|
ts.PackerCommand().UsePluginDir(tempPluginDir).
|
|
|
|
|
SetArgs("plugins", "install", "--path", BuildSimplePlugin("1.0.0-dev", ts.T()), "github.com/hashicorp/tester").
|
|
|
|
|
Assert(MustSucceed(), Grep("Successfully installed plugin", grepStdout))
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
ts.Run("install same plugin with pre-release + metadata", func() {
|
|
|
|
|
ts.PackerCommand().UsePluginDir(tempPluginDir).
|
|
|
|
|
SetArgs("plugins", "install", "--path", BuildSimplePlugin("1.0.0-dev+metadata", ts.T()), "github.com/hashicorp/tester").
|
|
|
|
|
Assert(MustSucceed(), Grep("Successfully installed plugin", grepStdout))
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
ts.Run("list plugins, should only report one plugin", func() {
|
|
|
|
|
ts.PackerCommand().UsePluginDir(tempPluginDir).
|
|
|
|
|
SetArgs("plugins", "installed").
|
|
|
|
|
Assert(MustSucceed(),
|
|
|
|
|
Grep("plugin-tester_v1.0.0-dev[^+]", grepStdout),
|
|
|
|
|
Grep("plugin-tester_v1.0.0-dev\\+", grepStdout, grepInvert),
|
|
|
|
|
LineCountCheck(1))
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (ts *PackerTestSuite) TestInstallPluginPrerelease() {
|
|
|
|
|
pluginPath := BuildSimplePlugin("1.0.1-alpha1", ts.T())
|
|
|
|
|
|
|
|
|
|
|