From be6b8ca179fea33903f9ff9d50ec374b58ba2bcb Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Sat, 17 Jul 2021 15:51:43 +0300 Subject: [PATCH] [#684] neofs-adm: add size validation to `generate-alphabet` Signed-off-by: Evgenii Stratonikov --- cmd/neofs-adm/internal/modules/morph/generate.go | 4 ++++ cmd/neofs-adm/internal/modules/morph/generate_test.go | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/cmd/neofs-adm/internal/modules/morph/generate.go b/cmd/neofs-adm/internal/modules/morph/generate.go index 0bc0a19bd..56b2efc22 100644 --- a/cmd/neofs-adm/internal/modules/morph/generate.go +++ b/cmd/neofs-adm/internal/modules/morph/generate.go @@ -1,6 +1,7 @@ package morph import ( + "errors" "fmt" "path" @@ -19,6 +20,9 @@ func generateAlphabetCreds(cmd *cobra.Command, args []string) error { if err != nil { return err } + if size == 0 { + return errors.New("size must be > 0") + } walletDir := viper.GetString(alphabetWalletsFlag) pwds, err := initializeWallets(walletDir, int(size)) diff --git a/cmd/neofs-adm/internal/modules/morph/generate_test.go b/cmd/neofs-adm/internal/modules/morph/generate_test.go index dbfcda2cd..774415f68 100644 --- a/cmd/neofs-adm/internal/modules/morph/generate_test.go +++ b/cmd/neofs-adm/internal/modules/morph/generate_test.go @@ -27,6 +27,13 @@ func TestGenerateAlphabet(t *testing.T) { cmd := generateAlphabetCmd v := viper.GetViper() + t.Run("zero size", func(t *testing.T) { + buf.Reset() + v.Set(alphabetWalletsFlag, walletDir) + require.NoError(t, cmd.Flags().Set(alphabetSizeFlag, "0")) + buf.WriteString("pass\r") + require.Error(t, generateAlphabetCreds(cmd, nil)) + }) t.Run("no password provided", func(t *testing.T) { buf.Reset() v.Set(alphabetWalletsFlag, walletDir)