Should return an error if the value of the provider key is empty

pull/8018/head
DanHam 7 years ago
parent d1327fe422
commit 57137c6e33
No known key found for this signature in database
GPG Key ID: 58E79AEDD6AA987E

@ -273,6 +273,9 @@ func providerFromVagrantBox(boxfile string) (providerName string, err error) {
if err != nil {
return "", fmt.Errorf("Error parsing metadata.json file: %s", err)
}
if md.ProviderName == "" {
return "", fmt.Errorf("Error: Could not determine Vagrant provider from box metadata.json file")
}
break
}
}

@ -307,6 +307,26 @@ func TestProviderFromVagrantBox_metadata_empty(t *testing.T) {
t.Logf("%s", err)
}
func TestProviderFromVagrantBox_metadata_provider_value_empty(t *testing.T) {
// Bad: The boxes metadata.json file 'provider' key has an empty value
files := tarFiles{
{"foo.txt", "This is a foo file"},
{"bar.txt", "This is a bar file"},
{"metadata.json", `{"provider":""}`},
}
boxfile, err := createBox(files)
if err != nil {
t.Fatalf("Error creating test box: %s", err)
}
defer os.Remove(boxfile.Name())
_, err = providerFromVagrantBox(boxfile.Name())
if err == nil {
t.Fatalf("Should have error as boxes metadata.json file 'provider' key is empty")
}
t.Logf("%s", err)
}
func TestProviderFromVagrantBox_metadata_ok(t *testing.T) {
// Good: The boxes metadata.json file has the 'provider' key/value pair
expectedProvider := "virtualbox"

Loading…
Cancel
Save