mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-15 09:22:43 +03:00
248ea61600
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6994 GitOrigin-RevId: 915e60952bc7c8f21169e4d49bb7733988a8ee40
87 lines
1.9 KiB
Go
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
|
|
}
|
|
})
|
|
}
|
|
}
|