2023-06-05 14:18:05 -07:00

41 lines
937 B
Go

package state
import (
"testing"
"github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk"
"github.com/hashicorp/vagrant/internal/server/proto/vagrant_server"
"github.com/stretchr/testify/require"
)
func TestSoftDecode(t *testing.T) {
t.Run("Decodes nothing when unset", func(t *testing.T) {
require := require.New(t)
s := TestState(t)
defer s.Close()
tref := &vagrant_plugin_sdk.Target{}
var target Target
err := s.softDecode(tref, &target)
require.NoError(err)
require.Equal(target, Target{})
})
t.Run("Decodes project reference", func(t *testing.T) {
require := require.New(t)
s := TestState(t)
defer s.Close()
pref := testProject(t, s)
tproto := &vagrant_server.Target{
Project: pref,
}
var target Target
err := s.softDecode(tproto, &target)
require.NoError(err)
require.NotNil(target.Project)
require.Equal(*target.Project.ResourceId, tproto.Project.ResourceId)
})
}