mirror of
https://github.com/hashicorp/packer.git
synced 2026-06-09 08:42:33 -04:00
packer: change mock set instantiation methods
The former way mock plugin sets were created meant that no API version was set, and since it's private in the SDK, it cannot be set outside of the package itself. Fortunately, there is a NewSet function we can call, which initialises a set properly so we can fill-in the information later. However, because all the set maps were created in a `var` section, we cannot create the set with `NewSet`, and then fill the information in (outside of if there was a fluent interface, but this isn't the case here). We therefore opted to keep the variables defined and accessible globally, but gone through a `init` function to initialise their values for tests.
This commit is contained in:
parent
66912bf254
commit
208afbebfa
1 changed files with 86 additions and 87 deletions
|
|
@ -490,91 +490,90 @@ func getFormattedInstalledPluginSuffix() string {
|
|||
}
|
||||
|
||||
var (
|
||||
mockPlugins = map[string]pluginsdk.Set{
|
||||
"bird": {
|
||||
Builders: map[string]packersdk.Builder{
|
||||
"feather": nil,
|
||||
"guacamole": nil,
|
||||
},
|
||||
},
|
||||
"chimney": {
|
||||
PostProcessors: map[string]packersdk.PostProcessor{
|
||||
"smoke": nil,
|
||||
},
|
||||
},
|
||||
"data": {
|
||||
Datasources: map[string]packersdk.Datasource{
|
||||
"source": nil,
|
||||
},
|
||||
},
|
||||
}
|
||||
mockInstalledPlugins = map[string]pluginsdk.Set{
|
||||
fmt.Sprintf("bird_%s", getFormattedInstalledPluginSuffix()): {
|
||||
Builders: map[string]packersdk.Builder{
|
||||
"feather": nil,
|
||||
"guacamole": nil,
|
||||
},
|
||||
},
|
||||
fmt.Sprintf("chimney_%s", getFormattedInstalledPluginSuffix()): {
|
||||
PostProcessors: map[string]packersdk.PostProcessor{
|
||||
"smoke": nil,
|
||||
},
|
||||
},
|
||||
fmt.Sprintf("data_%s", getFormattedInstalledPluginSuffix()): {
|
||||
Datasources: map[string]packersdk.Datasource{
|
||||
"source": nil,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
invalidInstalledPluginsMock = map[string]pluginsdk.Set{
|
||||
"bird_v0.1.1_x5.0_wrong_architecture": {
|
||||
Builders: map[string]packersdk.Builder{
|
||||
"feather": nil,
|
||||
"guacamole": nil,
|
||||
},
|
||||
},
|
||||
"chimney_cool_ranch": {
|
||||
PostProcessors: map[string]packersdk.PostProcessor{
|
||||
"smoke": nil,
|
||||
},
|
||||
},
|
||||
"data": {
|
||||
Datasources: map[string]packersdk.Datasource{
|
||||
"source": nil,
|
||||
},
|
||||
},
|
||||
}
|
||||
defaultNameMock = map[string]pluginsdk.Set{
|
||||
"foo": {
|
||||
Builders: map[string]packersdk.Builder{
|
||||
"bar": nil,
|
||||
"baz": nil,
|
||||
pluginsdk.DEFAULT_NAME: nil,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
doubleDefaultMock = map[string]pluginsdk.Set{
|
||||
"yolo": {
|
||||
Builders: map[string]packersdk.Builder{
|
||||
"bar": nil,
|
||||
"baz": nil,
|
||||
pluginsdk.DEFAULT_NAME: nil,
|
||||
},
|
||||
PostProcessors: map[string]packersdk.PostProcessor{
|
||||
pluginsdk.DEFAULT_NAME: nil,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
badDefaultNameMock = map[string]pluginsdk.Set{
|
||||
"foo": {
|
||||
Builders: map[string]packersdk.Builder{
|
||||
"bar": nil,
|
||||
"baz": nil,
|
||||
pluginsdk.DEFAULT_NAME: nil,
|
||||
},
|
||||
},
|
||||
}
|
||||
mockPlugins = map[string]pluginsdk.Set{}
|
||||
mockInstalledPlugins = map[string]pluginsdk.Set{}
|
||||
invalidInstalledPluginsMock = map[string]pluginsdk.Set{}
|
||||
defaultNameMock = map[string]pluginsdk.Set{}
|
||||
doubleDefaultMock = map[string]pluginsdk.Set{}
|
||||
badDefaultNameMock = map[string]pluginsdk.Set{}
|
||||
)
|
||||
|
||||
func init() {
|
||||
mockPluginsBird := pluginsdk.NewSet()
|
||||
mockPluginsBird.Builders = map[string]packersdk.Builder{
|
||||
"feather": nil,
|
||||
"guacamole": nil,
|
||||
}
|
||||
mockPluginsChim := pluginsdk.NewSet()
|
||||
mockPluginsChim.PostProcessors = map[string]packersdk.PostProcessor{
|
||||
"smoke": nil,
|
||||
}
|
||||
mockPluginsData := pluginsdk.NewSet()
|
||||
mockPluginsData.Datasources = map[string]packersdk.Datasource{
|
||||
"source": nil,
|
||||
}
|
||||
mockPlugins["bird"] = *mockPluginsBird
|
||||
mockPlugins["chimney"] = *mockPluginsChim
|
||||
mockPlugins["data"] = *mockPluginsData
|
||||
|
||||
mockInstalledPluginsBird := pluginsdk.NewSet()
|
||||
mockInstalledPluginsBird.Builders = map[string]packersdk.Builder{
|
||||
"feather": nil,
|
||||
"guacamole": nil,
|
||||
}
|
||||
mockInstalledPluginsChim := pluginsdk.NewSet()
|
||||
mockInstalledPluginsChim.PostProcessors = map[string]packersdk.PostProcessor{
|
||||
"smoke": nil,
|
||||
}
|
||||
mockInstalledPluginsData := pluginsdk.NewSet()
|
||||
mockInstalledPluginsData.Datasources = map[string]packersdk.Datasource{
|
||||
"source": nil,
|
||||
}
|
||||
mockInstalledPlugins[fmt.Sprintf("bird_%s", getFormattedInstalledPluginSuffix())] = *mockInstalledPluginsBird
|
||||
mockInstalledPlugins[fmt.Sprintf("chimney_%s", getFormattedInstalledPluginSuffix())] = *mockInstalledPluginsChim
|
||||
mockInstalledPlugins[fmt.Sprintf("data_%s", getFormattedInstalledPluginSuffix())] = *mockInstalledPluginsData
|
||||
|
||||
invalidInstalledPluginsMockBird := pluginsdk.NewSet()
|
||||
invalidInstalledPluginsMockBird.Builders = map[string]packersdk.Builder{
|
||||
"feather": nil,
|
||||
"guacamole": nil,
|
||||
}
|
||||
invalidInstalledPluginsMockChimney := pluginsdk.NewSet()
|
||||
invalidInstalledPluginsMockChimney.PostProcessors = map[string]packersdk.PostProcessor{
|
||||
"smoke": nil,
|
||||
}
|
||||
invalidInstalledPluginsMockData := pluginsdk.NewSet()
|
||||
invalidInstalledPluginsMockData.Datasources = map[string]packersdk.Datasource{
|
||||
"source": nil,
|
||||
}
|
||||
invalidInstalledPluginsMock["bird_v0.1.1_x5.0_wrong_architecture"] = *invalidInstalledPluginsMockBird
|
||||
invalidInstalledPluginsMock["chimney_cool_ranch"] = *invalidInstalledPluginsMockChimney
|
||||
invalidInstalledPluginsMock["data"] = *invalidInstalledPluginsMockData
|
||||
|
||||
defaultNameFooSet := pluginsdk.NewSet()
|
||||
defaultNameFooSet.Builders = map[string]packersdk.Builder{
|
||||
"bar": nil,
|
||||
"baz": nil,
|
||||
pluginsdk.DEFAULT_NAME: nil,
|
||||
}
|
||||
defaultNameMock["foo"] = *defaultNameFooSet
|
||||
|
||||
doubleDefaultYoloSet := pluginsdk.NewSet()
|
||||
doubleDefaultYoloSet.Builders = map[string]packersdk.Builder{
|
||||
"bar": nil,
|
||||
"baz": nil,
|
||||
pluginsdk.DEFAULT_NAME: nil,
|
||||
}
|
||||
doubleDefaultYoloSet.PostProcessors = map[string]packersdk.PostProcessor{
|
||||
pluginsdk.DEFAULT_NAME: nil,
|
||||
}
|
||||
doubleDefaultMock["yolo"] = *doubleDefaultYoloSet
|
||||
|
||||
badDefaultSet := pluginsdk.NewSet()
|
||||
badDefaultSet.Builders = map[string]packersdk.Builder{
|
||||
"bar": nil,
|
||||
"baz": nil,
|
||||
pluginsdk.DEFAULT_NAME: nil,
|
||||
}
|
||||
badDefaultNameMock["foo"] = *badDefaultSet
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue