packer_test: add test with config.json/components

Since legacy config files may declare single plugin components, we need
to warn that they're not supported anymore.
This is in process of being PR'd into main, but to ensure the config
works as intended and we do get the error, we add some tests for that.
pull/12983/head
Lucas Bajolet 2 years ago
parent a693c683bc
commit 164f091f10

@ -209,3 +209,31 @@ func (ts *PackerTestSuite) TestLoadWithOnlyReleaseFlag() {
})
}
}
func (ts *PackerTestSuite) TestWithLegacyConfigAndComponents() {
pluginDir, cleanup := ts.MakePluginDir("1.0.0")
defer cleanup()
workdir, cleanup := TempWorkdir(ts.T(), "./sample_config.json", "./templates/simple.json", "./templates/simple.pkr.hcl")
defer cleanup()
for _, cmd := range []string{"validate", "build"} {
ts.Run(fmt.Sprintf("%s simple JSON template with config.json and components defined", cmd), func() {
ts.PackerCommand().UsePluginDir(pluginDir).SetWD(workdir).
SetArgs(cmd, "simple.json").
AddEnv("PACKER_CONFIG", filepath.Join(workdir, "sample_config.json")).
Assert(MustFail(),
Grep("Your configuration file describes some legacy components", grepStderr),
Grep("packer-provisioner-super-shell", grepStderr))
})
ts.Run(fmt.Sprintf("%s simple HCL2 template with config.json and components defined", cmd), func() {
ts.PackerCommand().UsePluginDir(pluginDir).SetWD(workdir).
SetArgs(cmd, "simple.pkr.hcl").
AddEnv("PACKER_CONFIG", filepath.Join(workdir, "sample_config.json")).
Assert(MustFail(),
Grep("Your configuration file describes some legacy components", grepStderr),
Grep("packer-provisioner-super-shell", grepStderr))
})
}
}

@ -0,0 +1,7 @@
{
"disable_checkpoint": true,
"disable_checkpoint_signature": true,
"provisioners": {
"super-shell": "packer-provisioner-super-shell"
}
}
Loading…
Cancel
Save