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.
pull/12900/head
Lucas Bajolet 2 years ago committed by Lucas Bajolet
parent 66912bf254
commit 208afbebfa

@ -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,
},
},
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,
}
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,
},
},
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
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,
},
},
mockInstalledPluginsBird := pluginsdk.NewSet()
mockInstalledPluginsBird.Builders = map[string]packersdk.Builder{
"feather": nil,
"guacamole": nil,
}
defaultNameMock = map[string]pluginsdk.Set{
"foo": {
Builders: map[string]packersdk.Builder{
"bar": nil,
"baz": nil,
pluginsdk.DEFAULT_NAME: 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
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,
},
},
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
badDefaultNameMock = map[string]pluginsdk.Set{
"foo": {
Builders: map[string]packersdk.Builder{
"bar": nil,
"baz": nil,
pluginsdk.DEFAULT_NAME: nil,
},
},
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…
Cancel
Save