131 lines
3.3 KiB
Go
131 lines
3.3 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
package singleprocess
|
|
|
|
// import (
|
|
// "context"
|
|
// "testing"
|
|
|
|
// "github.com/stretchr/testify/require"
|
|
|
|
// "github.com/hashicorp/go-hclog"
|
|
// "github.com/hashicorp/vagrant-plugin-sdk/proto/vagrant_plugin_sdk"
|
|
// "github.com/hashicorp/vagrant/internal/server"
|
|
// "github.com/hashicorp/vagrant/internal/server/proto/vagrant_server"
|
|
// "github.com/hashicorp/vagrant/internal/server/singleprocess/state"
|
|
// "github.com/hashicorp/vagrant/internal/serverconfig"
|
|
// )
|
|
|
|
// func TestServiceConfig(t *testing.T) {
|
|
// ctx := context.Background()
|
|
|
|
// // Create our server
|
|
// impl, err := New(WithDB(testDB(t)))
|
|
// require.NoError(t, err)
|
|
// client := server.TestServer(t, impl)
|
|
|
|
// // Simplify writing tests
|
|
// type (
|
|
// SReq = vagrant_server.ConfigSetRequest
|
|
// GReq = vagrant_server.ConfigGetRequest
|
|
// )
|
|
|
|
// Var := &vagrant_server.ConfigVar{
|
|
// Scope: &vagrant_server.ConfigVar_Project{
|
|
// Project: &vagrant_plugin_sdk.Ref_Project{
|
|
// ResourceId: "test",
|
|
// Name: "bar",
|
|
// },
|
|
// },
|
|
|
|
// Name: "DATABASE_URL",
|
|
// Value: "postgresql:///",
|
|
// }
|
|
|
|
// t.Run("set and get", func(t *testing.T) {
|
|
// require := require.New(t)
|
|
|
|
// // Create, should get an ID back
|
|
// resp, err := client.SetConfig(ctx, &SReq{Variables: []*vagrant_server.ConfigVar{Var}})
|
|
// require.NoError(err)
|
|
// require.NotNil(resp)
|
|
|
|
// // Let's write some data
|
|
|
|
// grep, err := client.GetConfig(ctx, &GReq{
|
|
// Scope: &vagrant_server.ConfigGetRequest_Project{
|
|
// Project: &vagrant_plugin_sdk.Ref_Project{
|
|
// ResourceId: "test",
|
|
// Name: "bar",
|
|
// },
|
|
// },
|
|
// })
|
|
// require.NoError(err)
|
|
// require.NotNil(grep)
|
|
|
|
// require.Equal(1, len(grep.Variables))
|
|
|
|
// require.Equal(Var.Name, grep.Variables[0].Name)
|
|
// require.Equal(Var.Value, grep.Variables[0].Value)
|
|
// })
|
|
// }
|
|
|
|
// func TestServerConfigWithStartupConfig(t *testing.T) {
|
|
|
|
// cfg := &serverconfig.Config{
|
|
// CEBConfig: &serverconfig.CEBConfig{
|
|
// Addr: "myendpoint",
|
|
// TLSEnabled: false,
|
|
// TLSSkipVerify: true,
|
|
// },
|
|
// }
|
|
|
|
// db := testDB(t)
|
|
// // Create our server
|
|
// impl, err := New(
|
|
// WithDB(db),
|
|
// WithConfig(cfg),
|
|
// )
|
|
// require.NoError(t, err)
|
|
// _ = server.TestServer(t, impl)
|
|
|
|
// st, err := state.New(hclog.L(), db)
|
|
// require.NoError(t, err)
|
|
|
|
// t.Run("Check config defaults are set", func(t *testing.T) {
|
|
// require := require.New(t)
|
|
|
|
// retCfg, err := st.ServerConfigGet()
|
|
// require.NoError(err)
|
|
// require.NotNil(retCfg)
|
|
|
|
// addr := retCfg.AdvertiseAddrs[0]
|
|
// require.Equal(cfg.CEBConfig.Addr, addr.Addr)
|
|
// require.Equal(cfg.CEBConfig.TLSEnabled, addr.Tls)
|
|
// require.Equal(cfg.CEBConfig.TLSSkipVerify, addr.TlsSkipVerify)
|
|
// })
|
|
// }
|
|
// func TestServerConfigWithNoStartupConfig(t *testing.T) {
|
|
|
|
// db := testDB(t)
|
|
// // Create our server
|
|
// impl, err := New(
|
|
// WithDB(db),
|
|
// )
|
|
// require.NoError(t, err)
|
|
// _ = server.TestServer(t, impl)
|
|
|
|
// st, err := state.New(hclog.L(), db)
|
|
// require.NoError(t, err)
|
|
|
|
// t.Run("Check config defaults are not set", func(t *testing.T) {
|
|
// require := require.New(t)
|
|
|
|
// retCfg, err := st.ServerConfigGet()
|
|
// require.NoError(err)
|
|
// require.NotNil(retCfg)
|
|
// require.Len(retCfg.AdvertiseAddrs, 0)
|
|
// })
|
|
// }
|