mirror of
https://github.com/hashicorp/vagrant.git
synced 2026-06-03 22:05:01 -04:00
Fix project test
This commit is contained in:
parent
3de668b821
commit
86dfcefad5
3 changed files with 125 additions and 90 deletions
|
|
@ -20,6 +20,7 @@ func TestProject(t testing.T, src *vagrant_server.Project) *vagrant_server.Proje
|
|||
|
||||
require.NoError(t, mergo.Merge(src, &vagrant_server.Project{
|
||||
Name: "test",
|
||||
Basis: &vagrant_plugin_sdk.Ref_Basis{},
|
||||
}))
|
||||
|
||||
return src
|
||||
|
|
|
|||
|
|
@ -1,110 +1,119 @@
|
|||
package state
|
||||
|
||||
// import (
|
||||
// "testing"
|
||||
import (
|
||||
"testing"
|
||||
|
||||
// "github.com/stretchr/testify/require"
|
||||
// "google.golang.org/grpc/codes"
|
||||
// "google.golang.org/grpc/status"
|
||||
"github.com/stretchr/testify/require"
|
||||
"google.golang.org/grpc/codes"
|
||||
"google.golang.org/grpc/status"
|
||||
|
||||
// "github.com/hashicorp/vagrant/internal/server/proto/vagrant_server"
|
||||
// serverptypes "github.com/hashicorp/vagrant/internal/server/ptypes"
|
||||
// )
|
||||
"github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk"
|
||||
"github.com/hashicorp/vagrant/internal/server/proto/vagrant_server"
|
||||
serverptypes "github.com/hashicorp/vagrant/internal/server/ptypes"
|
||||
)
|
||||
|
||||
// func TestProject(t *testing.T) {
|
||||
// t.Run("Get returns not found error if not exist", func(t *testing.T) {
|
||||
// require := require.New(t)
|
||||
func TestProject(t *testing.T) {
|
||||
t.Run("Get returns not found error if not exist", func(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
// s := TestState(t)
|
||||
// defer s.Close()
|
||||
s := TestState(t)
|
||||
defer s.Close()
|
||||
|
||||
// // Set
|
||||
// _, err := s.ProjectGet(&vagrant_server.Ref_Project{
|
||||
// Project: "foo",
|
||||
// })
|
||||
// require.Error(err)
|
||||
// require.Equal(codes.NotFound, status.Code(err))
|
||||
// })
|
||||
// Set
|
||||
_, err := s.ProjectGet(&vagrant_plugin_sdk.Ref_Project{
|
||||
ResourceId: "foo",
|
||||
})
|
||||
require.Error(err)
|
||||
require.Equal(codes.NotFound, status.Code(err))
|
||||
})
|
||||
|
||||
// t.Run("Put and Get", func(t *testing.T) {
|
||||
// require := require.New(t)
|
||||
t.Run("Put and Get", func(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
// s := TestState(t)
|
||||
// defer s.Close()
|
||||
s := TestState(t)
|
||||
defer s.Close()
|
||||
basisRef := testBasis(t, s)
|
||||
|
||||
// // Set
|
||||
// err := s.ProjectPut(serverptypes.TestProject(t, &vagrant_server.Project{
|
||||
// Name: "AbCdE",
|
||||
// }))
|
||||
// require.NoError(err)
|
||||
// Set
|
||||
err := s.ProjectPut(serverptypes.TestProject(t, &vagrant_server.Project{
|
||||
ResourceId: "AbCdE",
|
||||
Basis: basisRef,
|
||||
Path: "idontexist",
|
||||
}))
|
||||
require.NoError(err)
|
||||
|
||||
// // Get exact
|
||||
// {
|
||||
// resp, err := s.ProjectGet(&vagrant_server.Ref_Project{
|
||||
// Project: "AbCdE",
|
||||
// })
|
||||
// require.NoError(err)
|
||||
// require.NotNil(resp)
|
||||
// }
|
||||
// Get exact
|
||||
{
|
||||
resp, err := s.ProjectGet(&vagrant_plugin_sdk.Ref_Project{
|
||||
ResourceId: "AbCdE",
|
||||
})
|
||||
require.NoError(err)
|
||||
require.NotNil(resp)
|
||||
}
|
||||
|
||||
// // Get case insensitive
|
||||
// {
|
||||
// resp, err := s.ProjectGet(&vagrant_server.Ref_Project{
|
||||
// Project: "abcDe",
|
||||
// })
|
||||
// require.NoError(err)
|
||||
// require.NotNil(resp)
|
||||
// }
|
||||
// TODO:
|
||||
// Get case insensitive
|
||||
// {
|
||||
// resp, err := s.ProjectGet(&vagrant_plugin_sdk.Ref_Project{
|
||||
// ResourceId: "abcDe",
|
||||
// })
|
||||
// require.NoError(err)
|
||||
// require.NotNil(resp)
|
||||
// }
|
||||
|
||||
// // List
|
||||
// {
|
||||
// resp, err := s.ProjectList()
|
||||
// require.NoError(err)
|
||||
// require.Len(resp, 1)
|
||||
// }
|
||||
// })
|
||||
// List
|
||||
{
|
||||
resp, err := s.ProjectList()
|
||||
require.NoError(err)
|
||||
require.Len(resp, 1)
|
||||
}
|
||||
})
|
||||
|
||||
// t.Run("Delete", func(t *testing.T) {
|
||||
// require := require.New(t)
|
||||
t.Run("Delete", func(t *testing.T) {
|
||||
require := require.New(t)
|
||||
|
||||
// s := TestState(t)
|
||||
// defer s.Close()
|
||||
s := TestState(t)
|
||||
defer s.Close()
|
||||
basisRef := testBasis(t, s)
|
||||
|
||||
// // Set
|
||||
// err := s.ProjectPut(serverptypes.TestProject(t, &vagrant_server.Project{
|
||||
// Name: "AbCdE",
|
||||
// }))
|
||||
// require.NoError(err)
|
||||
// Set
|
||||
err := s.ProjectPut(serverptypes.TestProject(t, &vagrant_server.Project{
|
||||
ResourceId: "AbCdE",
|
||||
Basis: basisRef,
|
||||
Path: "idontexist",
|
||||
}))
|
||||
require.NoError(err)
|
||||
|
||||
// // Read
|
||||
// resp, err := s.ProjectGet(&vagrant_server.Ref_Project{
|
||||
// Project: "AbCdE",
|
||||
// })
|
||||
// require.NoError(err)
|
||||
// require.NotNil(resp)
|
||||
// Read
|
||||
resp, err := s.ProjectGet(&vagrant_plugin_sdk.Ref_Project{
|
||||
ResourceId: "AbCdE",
|
||||
})
|
||||
require.NoError(err)
|
||||
require.NotNil(resp)
|
||||
|
||||
// // Delete
|
||||
// {
|
||||
// err := s.ProjectDelete(&vagrant_server.Ref_Project{
|
||||
// Project: "AbCdE",
|
||||
// })
|
||||
// require.NoError(err)
|
||||
// }
|
||||
// Delete
|
||||
{
|
||||
err := s.ProjectDelete(&vagrant_plugin_sdk.Ref_Project{
|
||||
ResourceId: "AbCdE",
|
||||
Basis: basisRef,
|
||||
})
|
||||
require.NoError(err)
|
||||
}
|
||||
|
||||
// // Read
|
||||
// {
|
||||
// _, err := s.ProjectGet(&vagrant_server.Ref_Project{
|
||||
// Project: "AbCdE",
|
||||
// })
|
||||
// require.Error(err)
|
||||
// require.Equal(codes.NotFound, status.Code(err))
|
||||
// }
|
||||
// Read
|
||||
{
|
||||
_, err := s.ProjectGet(&vagrant_plugin_sdk.Ref_Project{
|
||||
ResourceId: "AbCdE",
|
||||
})
|
||||
require.Error(err)
|
||||
require.Equal(codes.NotFound, status.Code(err))
|
||||
}
|
||||
|
||||
// // List
|
||||
// {
|
||||
// resp, err := s.ProjectList()
|
||||
// require.NoError(err)
|
||||
// require.Len(resp, 0)
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// List
|
||||
{
|
||||
resp, err := s.ProjectList()
|
||||
require.NoError(err)
|
||||
require.Len(resp, 0)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,9 @@ import (
|
|||
|
||||
"github.com/boltdb/bolt"
|
||||
"github.com/hashicorp/go-hclog"
|
||||
"github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk"
|
||||
"github.com/hashicorp/vagrant/internal/server/proto/vagrant_server"
|
||||
serverptypes "github.com/hashicorp/vagrant/internal/server/ptypes"
|
||||
"github.com/mitchellh/go-testing-interface"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
|
@ -78,3 +81,25 @@ func testDB(t testing.T) *bolt.DB {
|
|||
|
||||
return db
|
||||
}
|
||||
|
||||
// TestBasis creates the basis in the DB.
|
||||
func testBasis(t testing.T, s *State) *vagrant_plugin_sdk.Ref_Basis {
|
||||
td := testTempDir(t)
|
||||
s.BasisPut(serverptypes.TestBasis(t, &vagrant_server.Basis{
|
||||
ResourceId: "test-basis",
|
||||
Path: td,
|
||||
Name: "test-basis",
|
||||
}))
|
||||
return &vagrant_plugin_sdk.Ref_Basis{
|
||||
ResourceId: "test-basis",
|
||||
Path: td,
|
||||
Name: "test-basis",
|
||||
}
|
||||
}
|
||||
|
||||
func testTempDir(t testing.T) string {
|
||||
dir, err := ioutil.TempDir("", "vagrant-test")
|
||||
require.NoError(t, err)
|
||||
t.Cleanup(func() { os.RemoveAll(dir) })
|
||||
return dir
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue