From 4d79c951774a022c5153599e697d814eeb85fad2 Mon Sep 17 00:00:00 2001 From: Paul Hinze Date: Wed, 25 May 2022 17:56:40 -0500 Subject: [PATCH] Update tests and address one thing caught by them Namely, the specified synced folder type should override the default type --- internal/core/machine.go | 8 +++++--- internal/core/machine_test.go | 4 +++- internal/core/target_index_test.go | 11 ----------- internal/core/testing_basis.go | 1 + internal/core/testing_target.go | 7 +++++++ 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/internal/core/machine.go b/internal/core/machine.go index 6792a022e..8b3728655 100644 --- a/internal/core/machine.go +++ b/internal/core/machine.go @@ -321,9 +321,11 @@ func (m *Machine) SyncedFolders() (folders []*core.MachineSyncedFolder, err erro folders = []*core.MachineSyncedFolder{} for _, folder := range syncedFolders { - folder.Type, err = m.defaultSyncedFolderType() - if err != nil { - return nil, err + if folder.GetType() == "" { + folder.Type, err = m.defaultSyncedFolderType() + if err != nil { + return nil, err + } } lookup := "syncedfolder_" + *(folder.Type) v := m.cache.Get(lookup) diff --git a/internal/core/machine_test.go b/internal/core/machine_test.go index 7fcef998a..a9aa54c8c 100644 --- a/internal/core/machine_test.go +++ b/internal/core/machine_test.go @@ -101,6 +101,7 @@ func TestMachineGetNonExistentBox(t *testing.T) { WithTestTargetConfig(&vagrant_plugin_sdk.Vagrantfile_MachineConfig{ ConfigVm: &vagrant_plugin_sdk.Vagrantfile_ConfigVM{Box: "somebox"}, }), + WithTestTargetProvider("testprovider"), ) box, err := tm.Box() @@ -110,7 +111,7 @@ func TestMachineGetNonExistentBox(t *testing.T) { require.Equal(t, name, "somebox") provider, err := box.Provider() require.NoError(t, err) - require.NotEmpty(t, provider) + require.Equal(t, provider, "testprovider") metaurl, err := box.MetadataURL() require.NoError(t, err) require.Empty(t, metaurl) @@ -283,6 +284,7 @@ func syncedFolderPlugin(t *testing.T, name string) *plugin.Plugin { plugin.WithPluginTypes(component.SyncedFolderType), ) } + func TestMachineSyncedFolders(t *testing.T) { mySyncedFolder := syncedFolderPlugin(t, "mysyncedfolder") myOtherSyncedFolder := syncedFolderPlugin(t, "myothersyncedfolder") diff --git a/internal/core/target_index_test.go b/internal/core/target_index_test.go index 18545c180..5b90c78b7 100644 --- a/internal/core/target_index_test.go +++ b/internal/core/target_index_test.go @@ -44,12 +44,6 @@ func TestTargetIndexGet(t *testing.T) { // Add targets projectTargets(t, tp, 3) - // Get by target name - target, err = ti.Get("target-1") - require.NoError(t, err) - rid, _ := target.ResourceId() - require.Equal(t, rid, "id-1") - // Get by target id target, err = ti.Get("uuid-1") require.NoError(t, err) @@ -72,11 +66,6 @@ func TestTargetIndexIncludes(t *testing.T) { // Add targets projectTargets(t, tp, 3) - // Includes by target name - exists, err = ti.Includes("target-1") - require.NoError(t, err) - require.True(t, exists) - // Includes by target id exists, err = ti.Includes("uuid-1") require.NoError(t, err) diff --git a/internal/core/testing_basis.go b/internal/core/testing_basis.go index a65f657e0..49250fb9d 100644 --- a/internal/core/testing_basis.go +++ b/internal/core/testing_basis.go @@ -72,6 +72,7 @@ func BuildTestSyncedFolderPlugin(parent string) *TestSyncedFolderPlugin { p.On("Seed", mock.AnythingOfType("*core.Seeds")).Return(nil) p.On("Seeds").Return(core.NewSeeds(), nil) p.On("Parent").Return(parent, nil) + p.On("Usable", mock.AnythingOfType("*core.Machine")).Return(true, nil) return p } diff --git a/internal/core/testing_target.go b/internal/core/testing_target.go index e37319027..91b1b324e 100644 --- a/internal/core/testing_target.go +++ b/internal/core/testing_target.go @@ -101,3 +101,10 @@ func WithTestTargetConfig(config *vagrant_plugin_sdk.Vagrantfile_MachineConfig) return } } + +func WithTestTargetProvider(provider string) TestMachineOption { + return func(m *Machine) (err error) { + m.target.Provider = provider + return + } +}