Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ignite
GitHub Repository: ignite/cli
Path: blob/main/integration/chain/cmd_serve_test.go
1007 views
1
//go:build !relayer
2
3
package chain_test
4
5
import (
6
"context"
7
"path/filepath"
8
"testing"
9
10
"github.com/stretchr/testify/require"
11
12
"github.com/ignite/cli/v29/ignite/pkg/xos"
13
envtest "github.com/ignite/cli/v29/integration"
14
)
15
16
func TestServeWithCustomHome(t *testing.T) {
17
var (
18
env = envtest.New(t)
19
app = env.ScaffoldApp("github.com/test/sgbloga")
20
servers = app.RandomizeServerPorts()
21
)
22
23
var (
24
ctx, cancel = context.WithTimeout(env.Ctx(), envtest.ServeTimeout)
25
isBackendAliveErr error
26
)
27
go func() {
28
defer cancel()
29
isBackendAliveErr = env.IsAppServed(ctx, servers.API)
30
}()
31
app.MustServe(ctx)
32
33
require.NoError(t, isBackendAliveErr, "app cannot get online in time")
34
}
35
36
func TestServeWithConfigHome(t *testing.T) {
37
var (
38
env = envtest.New(t)
39
app = env.ScaffoldApp("github.com/test/sgblogb")
40
servers = app.RandomizeServerPorts()
41
)
42
43
var (
44
ctx, cancel = context.WithTimeout(env.Ctx(), envtest.ServeTimeout)
45
isBackendAliveErr error
46
)
47
go func() {
48
defer cancel()
49
isBackendAliveErr = env.IsAppServed(ctx, servers.API)
50
}()
51
app.MustServe(ctx)
52
53
require.NoError(t, isBackendAliveErr, "app cannot get online in time")
54
}
55
56
func TestServeWithCustomConfigFile(t *testing.T) {
57
tmpDir := t.TempDir()
58
59
var (
60
env = envtest.New(t)
61
app = env.ScaffoldApp("github.com/test/sgblogc")
62
)
63
// Move config
64
newConfig := "new_config.yml"
65
newConfigPath := filepath.Join(tmpDir, newConfig)
66
err := xos.Rename(filepath.Join(app.SourcePath(), "config.yml"), newConfigPath)
67
require.NoError(t, err)
68
app.SetConfigPath(newConfigPath)
69
70
servers := app.RandomizeServerPorts()
71
72
var (
73
ctx, cancel = context.WithTimeout(env.Ctx(), envtest.ServeTimeout)
74
isBackendAliveErr error
75
)
76
go func() {
77
defer cancel()
78
isBackendAliveErr = env.IsAppServed(ctx, servers.API)
79
}()
80
app.MustServe(ctx)
81
82
require.NoError(t, isBackendAliveErr, "app cannot get online in time")
83
}
84
85
// TestServeWithName tests serving a new chain scaffolded using a local name instead of a GitHub URI.
86
func TestServeWithName(t *testing.T) {
87
var (
88
env = envtest.New(t)
89
app = env.ScaffoldApp("sgblogd")
90
servers = app.RandomizeServerPorts()
91
)
92
93
ctx, cancel := context.WithTimeout(env.Ctx(), envtest.ServeTimeout)
94
95
var isBackendAliveErr error
96
97
go func() {
98
defer cancel()
99
isBackendAliveErr = env.IsAppServed(ctx, servers.API)
100
}()
101
app.MustServe(ctx)
102
103
require.NoError(t, isBackendAliveErr, "app cannot get online in time")
104
}
105
106