graphql-engine/cli/pkg/deploy/project_deploy_test.go
Varun Dey 248ea61600 cli: expose deploy command in public API [GT-307]
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6994
GitOrigin-RevId: 915e60952bc7c8f21169e4d49bb7733988a8ee40
2022-11-24 11:43:05 +00:00

87 lines
1.9 KiB
Go

package deploy
import (
"fmt"
"github.com/hasura/graphql-engine/cli/v2/internal/testutil"
"github.com/stretchr/testify/require"
"testing"
)
func TestProjectDeploy_ConfigV2(t *testing.T) {
port, teardown := testutil.StartHasura(t, testutil.HasuraDockerImage)
hgeEndpoint := fmt.Sprintf("http://localhost:%s", port)
defer teardown()
type fields struct {
projectDirectory string
endpointString string
}
tests := []struct {
name string
fields fields
want string
wantErr bool
assertErr require.ErrorAssertionFunc
}{
{
"can deploy project from V3 config",
fields{
projectDirectory: "testdata/projectV3",
endpointString: hgeEndpoint,
},
``,
false,
require.NoError,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
p, err := NewProjectDeploy(tt.fields.projectDirectory, WithAdminSecret(testutil.TestAdminSecret), WithEndpoint(tt.fields.endpointString))
require.NoError(t, err)
err = p.Deploy()
tt.assertErr(t, err)
if tt.wantErr {
return
}
})
}
}
func TestProjectDeploy_ConfigV3(t *testing.T) {
port, teardown := testutil.StartHasura(t, testutil.HasuraDockerImage)
hgeEndpoint := fmt.Sprintf("http://localhost:%s", port)
defer teardown()
type fields struct {
projectDirectory string
endpointString string
}
tests := []struct {
name string
fields fields
want string
wantErr bool
assertErr require.ErrorAssertionFunc
}{
{
"can deploy project from V2 config",
fields{
projectDirectory: "testdata/projectV2",
endpointString: hgeEndpoint,
},
``,
false,
require.NoError,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
p, err := NewProjectDeploy(tt.fields.projectDirectory, WithAdminSecret(testutil.TestAdminSecret), WithEndpoint(tt.fields.endpointString))
require.NoError(t, err)
err = p.Deploy()
tt.assertErr(t, err)
if tt.wantErr {
return
}
})
}
}