Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ignite
GitHub Repository: ignite/cli
Path: blob/main/integration/account/cmd_account_test.go
1007 views
1
package account_test
2
3
import (
4
"bytes"
5
"strings"
6
"testing"
7
8
"github.com/stretchr/testify/require"
9
10
"github.com/ignite/cli/v29/ignite/pkg/cmdrunner/step"
11
"github.com/ignite/cli/v29/ignite/pkg/randstr"
12
envtest "github.com/ignite/cli/v29/integration"
13
)
14
15
const testAccountMnemonic = "develop mansion drum glow husband trophy labor jelly fault run pause inside jazz foil page injury foam oppose fruit chunk segment morning series nation"
16
17
func TestAccount(t *testing.T) {
18
var (
19
env = envtest.New(t)
20
tmpDir = t.TempDir()
21
accountName = randstr.Runes(10)
22
)
23
24
env.Must(env.Exec("create account",
25
step.NewSteps(step.New(
26
step.Exec(envtest.IgniteApp, "account", "create", accountName, "--keyring-dir", tmpDir),
27
)),
28
))
29
30
listOutputBuffer := &bytes.Buffer{}
31
env.Must(env.Exec("list accounts",
32
step.NewSteps(step.New(
33
step.Exec(envtest.IgniteApp, "account", "list", "--keyring-dir", tmpDir),
34
)),
35
envtest.ExecStdout(listOutputBuffer),
36
))
37
require.True(t, strings.Contains(listOutputBuffer.String(), accountName))
38
39
env.Must(env.Exec("delete account",
40
step.NewSteps(step.New(
41
step.Exec(envtest.IgniteApp, "account", "delete", accountName, "--keyring-dir", tmpDir),
42
)),
43
))
44
45
listOutputAfterDeleteBuffer := &bytes.Buffer{}
46
env.Must(env.Exec("list accounts after delete",
47
step.NewSteps(step.New(
48
step.Exec(envtest.IgniteApp, "account", "list", "--keyring-dir", tmpDir),
49
)),
50
envtest.ExecStdout(listOutputAfterDeleteBuffer),
51
))
52
require.Equal(t, "Name \tAddress Public Key \t\n\n", listOutputAfterDeleteBuffer.String())
53
54
env.Must(env.Exec("import account with mnemonic",
55
step.NewSteps(step.New(
56
step.Exec(
57
envtest.IgniteApp, "account", "import", "testaccount42",
58
"--keyring-dir", tmpDir,
59
"--secret", testAccountMnemonic,
60
),
61
)),
62
))
63
64
env.Must(env.Exec("import account with private key",
65
step.NewSteps(step.New(
66
step.Exec(
67
envtest.IgniteApp, "account", "import", "testaccount43",
68
"--non-interactive",
69
"--keyring-dir", tmpDir,
70
"--secret", "testdata/key",
71
"--passphrase", "passpass",
72
),
73
)),
74
))
75
76
listOutputAfterImportBuffer := &bytes.Buffer{}
77
env.Must(env.Exec("list accounts after import",
78
step.NewSteps(step.New(
79
step.Exec(envtest.IgniteApp, "account", "list", "--keyring-dir", tmpDir),
80
)),
81
envtest.ExecStdout(listOutputAfterImportBuffer),
82
))
83
require.Equal(t, `Name Address Public Key
84
testaccount42 cosmos1ytnkpns7mfd6jjkvq9ztdvjdrt2xvmft2qxzqd PubKeySecp256k1{02FDF6D6F63B6B8E3CC71D03669BE0808F9990EE2A7FDBBF47E6BBEC4176E7763C}
85
testaccount43 cosmos18p4xchk2aqp39nsjwr69ql44upzsfnh8r9lzql PubKeySecp256k1{0228B8FC609973D91BFF7A9933424F31E15A54B97F8FDF7CE5A83B4DC20988068F}
86
87
`, listOutputAfterImportBuffer.String())
88
89
showOutputBuffer := &bytes.Buffer{}
90
env.Must(env.Exec("show account",
91
step.NewSteps(step.New(
92
step.Exec(envtest.IgniteApp, "account", "show", "testaccount42", "--keyring-dir", tmpDir),
93
)),
94
envtest.ExecStdout(showOutputBuffer),
95
))
96
require.Equal(t, `Name Address Public Key
97
testaccount42 cosmos1ytnkpns7mfd6jjkvq9ztdvjdrt2xvmft2qxzqd PubKeySecp256k1{02FDF6D6F63B6B8E3CC71D03669BE0808F9990EE2A7FDBBF47E6BBEC4176E7763C}
98
99
`, showOutputBuffer.String())
100
101
showOutputWithDifferentPrefixBuffer := &bytes.Buffer{}
102
env.Must(env.Exec("show account with address prefix",
103
step.NewSteps(step.New(
104
step.Exec(envtest.IgniteApp, "account", "show", "testaccount42", "--keyring-dir", tmpDir, "--address-prefix", "test"),
105
)),
106
envtest.ExecStdout(showOutputWithDifferentPrefixBuffer),
107
))
108
require.Equal(t, `Name Address Public Key
109
testaccount42 test1ytnkpns7mfd6jjkvq9ztdvjdrt2xvmftxemuve PubKeySecp256k1{02FDF6D6F63B6B8E3CC71D03669BE0808F9990EE2A7FDBBF47E6BBEC4176E7763C}
110
111
`, showOutputWithDifferentPrefixBuffer.String())
112
}
113
114