cli/command/registry: login: add unit test for flag validation
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
aadd7879c9
commit
8845ccd60f
@ -4,6 +4,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
@ -539,3 +540,51 @@ func TestIsOauthLoginDisabled(t *testing.T) {
|
|||||||
assert.Equal(t, disabled, tc.disabled)
|
assert.Equal(t, disabled, tc.disabled)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestLoginValidateFlags(t *testing.T) {
|
||||||
|
for _, tc := range []struct {
|
||||||
|
name string
|
||||||
|
args []string
|
||||||
|
expectedErr string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "--password-stdin without --username",
|
||||||
|
args: []string{"--password-stdin"},
|
||||||
|
expectedErr: `Must provide --username with --password-stdin`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "--password-stdin with empty --username",
|
||||||
|
args: []string{"--password-stdin", "--username", ""},
|
||||||
|
expectedErr: `Must provide --username with --password-stdin`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "--username without value",
|
||||||
|
args: []string{"--username"},
|
||||||
|
expectedErr: `flag needs an argument: --username`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "conflicting options --password-stdin and --password",
|
||||||
|
args: []string{"--password-stdin", "--password", ""},
|
||||||
|
expectedErr: `Must provide --username with --password-stdin`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "--password without value",
|
||||||
|
args: []string{"--password"},
|
||||||
|
expectedErr: `flag needs an argument: --password`,
|
||||||
|
},
|
||||||
|
} {
|
||||||
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
|
cmd := NewLoginCommand(test.NewFakeCli(&fakeClient{}))
|
||||||
|
cmd.SetOut(io.Discard)
|
||||||
|
cmd.SetErr(io.Discard)
|
||||||
|
cmd.SetArgs(tc.args)
|
||||||
|
|
||||||
|
err := cmd.Execute()
|
||||||
|
if tc.expectedErr != "" {
|
||||||
|
assert.Check(t, is.ErrorContains(err, tc.expectedErr))
|
||||||
|
} else {
|
||||||
|
assert.Check(t, is.Nil(err))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user