cli: add tests for wallet export
This commit is contained in:
parent
5d7f177811
commit
0a5fe84589
2 changed files with 34 additions and 1 deletions
|
@ -14,6 +14,7 @@ import (
|
||||||
"github.com/nspcc-dev/neo-go/pkg/core"
|
"github.com/nspcc-dev/neo-go/pkg/core"
|
||||||
"github.com/nspcc-dev/neo-go/pkg/core/storage"
|
"github.com/nspcc-dev/neo-go/pkg/core/storage"
|
||||||
"github.com/nspcc-dev/neo-go/pkg/core/transaction"
|
"github.com/nspcc-dev/neo-go/pkg/core/transaction"
|
||||||
|
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
|
||||||
"github.com/nspcc-dev/neo-go/pkg/encoding/address"
|
"github.com/nspcc-dev/neo-go/pkg/encoding/address"
|
||||||
"github.com/nspcc-dev/neo-go/pkg/network"
|
"github.com/nspcc-dev/neo-go/pkg/network"
|
||||||
"github.com/nspcc-dev/neo-go/pkg/rpc/server"
|
"github.com/nspcc-dev/neo-go/pkg/rpc/server"
|
||||||
|
@ -26,12 +27,16 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
validatorWIF = "KxyjQ8eUa4FHt3Gvioyt1Wz29cTUrE4eTqX3yFSk1YFCsPL8uNsY"
|
||||||
validatorAddr = "NVNvVRW5Q5naSx2k2iZm7xRgtRNGuZppAK"
|
validatorAddr = "NVNvVRW5Q5naSx2k2iZm7xRgtRNGuZppAK"
|
||||||
|
|
||||||
validatorWallet = "testdata/wallet1_solo.json"
|
validatorWallet = "testdata/wallet1_solo.json"
|
||||||
)
|
)
|
||||||
|
|
||||||
var validatorHash, _ = address.StringToUint160(validatorAddr)
|
var (
|
||||||
|
validatorHash, _ = address.StringToUint160(validatorAddr)
|
||||||
|
validatorPriv, _ = keys.NewPrivateKeyFromWIF(validatorWIF)
|
||||||
|
)
|
||||||
|
|
||||||
// executor represents context for a test instance.
|
// executor represents context for a test instance.
|
||||||
// It can be safely used in multiple tests, but not in parallel.
|
// It can be safely used in multiple tests, but not in parallel.
|
||||||
|
|
|
@ -3,6 +3,7 @@ package main
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
|
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
|
||||||
|
@ -83,3 +84,30 @@ func TestWalletInit(t *testing.T) {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestWalletExport(t *testing.T) {
|
||||||
|
e := newExecutor(t, false)
|
||||||
|
defer e.Close(t)
|
||||||
|
|
||||||
|
t.Run("Encrypted", func(t *testing.T) {
|
||||||
|
e.Run(t, "neo-go", "wallet", "export",
|
||||||
|
"--wallet", validatorWallet, validatorAddr)
|
||||||
|
line, err := e.Out.ReadString('\n')
|
||||||
|
require.NoError(t, err)
|
||||||
|
enc, err := keys.NEP2Encrypt(validatorPriv, "one")
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, enc, strings.TrimSpace(line))
|
||||||
|
})
|
||||||
|
t.Run("Decrypted", func(t *testing.T) {
|
||||||
|
t.Run("NoAddress", func(t *testing.T) {
|
||||||
|
e.RunWithError(t, "neo-go", "wallet", "export",
|
||||||
|
"--wallet", validatorWallet, "--decrypt")
|
||||||
|
})
|
||||||
|
e.In.WriteString("one\r")
|
||||||
|
e.Run(t, "neo-go", "wallet", "export",
|
||||||
|
"--wallet", validatorWallet, "--decrypt", validatorAddr)
|
||||||
|
line, err := e.Out.ReadString('\n')
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, validatorWIF, strings.TrimSpace(line))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue