Remove unused code

This commit is contained in:
sophia 2022-03-22 14:39:18 -05:00 committed by Paul Hinze
parent 29c6d43cb8
commit d1ea9b5ec7
No known key found for this signature in database
GPG Key ID: B69DEDF2D55501C0
2 changed files with 23 additions and 96 deletions

View File

@ -1,84 +0,0 @@
package core
import (
"io"
"io/ioutil"
"net/http"
"os"
"path/filepath"
"strconv"
"strings"
"time"
"github.com/hashicorp/vagrant-plugin-sdk/core"
)
const VagrantCloudUrl = "http://app.vagrantup.com"
func downloadBox(url string, destination string) (err error) {
resp, err := http.Get(url)
if err != nil {
return err
}
defer resp.Body.Close()
out, err := os.Create(destination)
if err != nil {
return err
}
defer out.Close()
_, err = io.Copy(out, resp.Body)
return
}
func constructMetadataUrl(username, boxname string) string {
url := VagrantCloudUrl + "/" + username + "/boxes/" + boxname + ".json"
return url
}
func addBox(name, provider string, basis *Basis) (box *Box, err error) {
// Assume the name is of for <user>/<box>
s := strings.Split(name, "/")
metadataUrl := constructMetadataUrl(s[0], s[1])
// Download the metadata
resp, err := http.Get(metadataUrl)
if err != nil {
return nil, err
}
defer resp.Body.Close()
raw, err := ioutil.ReadAll(resp.Body)
if err != nil {
return nil, err
}
metadata, err := LoadBoxMetadata(raw)
if err != nil {
return nil, err
}
versions, _ := metadata.ListVersions(&core.BoxProvider{Name: provider})
// latest version is first
version, _ := metadata.Version(versions[0], &core.BoxProvider{Name: provider})
providerMeta, err := metadata.Provider(version.Version, provider)
downloadUrl := providerMeta.Url
boxTempName := s[0] + "-" + s[1] + "-" + strconv.FormatInt(time.Now().Unix(), 10) + ".box"
boxDownloadPath := filepath.Join(basis.dir.TempDir().String(), boxTempName)
// Download the box
err = downloadBox(downloadUrl, boxDownloadPath)
if err != nil {
return nil, err
}
// Delete the downloaded file when done
defer os.RemoveAll(boxDownloadPath)
// Add the box to the box collection
boxes, _ := basis.Boxes()
returnBox, err := boxes.Add(boxDownloadPath, name, version.Version, metadataUrl, false, provider)
if err != nil {
return nil, err
}
returnBox.(*Box).Save()
return returnBox.(*Box), nil
}

View File

@ -143,50 +143,61 @@ func TestVersionGetProvider(t *testing.T) {
func TestProviderMatches(t *testing.T) {
version := "1.2.3"
providerName := "virtualbox"
metadata, provider := loadProvider(t, []byte(rawMetadata), version, providerName)
matches, err := metadata.Matches(version, provider.Name, &core.BoxProvider{Name: "virtualbox"})
metadata, err := LoadBoxMetadata([]byte(rawMetadata))
if err != nil {
t.Error(err)
}
matches, err := metadata.Matches(version, providerName, &core.BoxProvider{Name: "virtualbox"})
require.True(t, matches)
require.NoError(t, err)
matches, err = metadata.Matches(version, provider.Name, &core.BoxProvider{Url: "http://doesnotexist"})
matches, err = metadata.Matches(version, providerName, &core.BoxProvider{Url: "http://doesnotexist"})
require.True(t, matches)
require.NoError(t, err)
matches, err = metadata.Matches(version, provider.Name, &core.BoxProvider{})
matches, err = metadata.Matches(version, providerName, &core.BoxProvider{})
require.True(t, matches)
require.NoError(t, err)
matches, err = metadata.Matches(version, provider.Name, &core.BoxProvider{Name: "virtualbox", Url: "http://doesnotexist"})
matches, err = metadata.Matches(version, providerName, &core.BoxProvider{Name: "virtualbox", Url: "http://doesnotexist"})
require.True(t, matches)
require.NoError(t, err)
matches, err = metadata.Matches(version, provider.Name, &core.BoxProvider{Name: "nope", Url: "http://doesnotexist"})
matches, err = metadata.Matches(version, providerName, &core.BoxProvider{Name: "nope", Url: "http://doesnotexist"})
require.False(t, matches)
require.NoError(t, err)
matches, err = metadata.Matches(version, provider.Name, &core.BoxProvider{Name: "vmware"})
matches, err = metadata.Matches(version, providerName, &core.BoxProvider{Name: "vmware"})
require.False(t, matches)
require.NoError(t, err)
}
func TestProviderMatchesAny(t *testing.T) {
metadata, provider := loadProvider(t, []byte(rawMetadata), "1.2.3", "virtualbox")
m, err := metadata.MatchesAny(provider.Version.Version, provider.Name, &core.BoxProvider{Name: "virtualbox"})
version := "1.2.3"
providerName := "virtualbox"
metadata, err := LoadBoxMetadata([]byte(rawMetadata))
if err != nil {
t.Error(err)
}
m, err := metadata.MatchesAny(version, providerName, &core.BoxProvider{Name: "virtualbox"})
require.True(t, m)
require.NoError(t, err)
m, err = metadata.MatchesAny(provider.Version.Version, provider.Name,
m, err = metadata.MatchesAny(version, providerName,
&core.BoxProvider{Name: "virtualbox"}, &core.BoxProvider{Name: "nope"})
require.True(t, m)
require.NoError(t, err)
m, err = metadata.MatchesAny(provider.Version.Version, provider.Name,
m, err = metadata.MatchesAny(version, providerName,
&core.BoxProvider{Url: "nope"}, &core.BoxProvider{Name: "nope"})
require.False(t, m)
require.NoError(t, err)
m, err = metadata.MatchesAny(provider.Version.Version, provider.Name)
m, err = metadata.MatchesAny(version, providerName)
require.False(t, m)
require.NoError(t, err)
}