[#749] neofs-adm: create wallet for signing contract group

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
Evgenii Stratonikov 2021-11-29 15:48:06 +03:00 committed by Alex Vanin
parent b416285eb0
commit def1bbc84c
4 changed files with 79 additions and 3 deletions

View file

@ -48,6 +48,15 @@ func TestGenerateAlphabet(t *testing.T) {
buf.WriteString("pass\r")
require.Error(t, generateAlphabetCreds(cmd, nil))
})
t.Run("no password for contract group wallet", func(t *testing.T) {
buf.Reset()
v.Set(alphabetWalletsFlag, walletDir)
require.NoError(t, cmd.Flags().Set(alphabetSizeFlag, strconv.FormatUint(size, 10)))
for i := uint64(0); i < size; i++ {
buf.WriteString(strconv.FormatUint(i, 10) + "\r")
}
require.Error(t, generateAlphabetCreds(cmd, nil))
})
buf.Reset()
v.Set(alphabetWalletsFlag, walletDir)
@ -56,6 +65,8 @@ func TestGenerateAlphabet(t *testing.T) {
buf.WriteString(strconv.FormatUint(i, 10) + "\r")
}
const groupPassword = "grouppass"
buf.WriteString(groupPassword + "\r")
require.NoError(t, generateAlphabetCreds(cmd, nil))
for i := uint64(0); i < size; i++ {
@ -76,6 +87,14 @@ func TestGenerateAlphabet(t *testing.T) {
}
}
}
t.Run("check contract group wallet", func(t *testing.T) {
p := filepath.Join(walletDir, contractWalletName)
w, err := wallet.NewWalletFromFile(p)
require.NoError(t, err, "contract wallet doesn't exist")
require.Equal(t, 1, len(w.Accounts), "contract wallet must have 1 accout")
require.NoError(t, w.Accounts[0].Decrypt(groupPassword, keys.NEP2ScryptParams()))
})
}
func setupTestTerminal(t *testing.T) *bytes.Buffer {