1
0
mirror of https://github.com/docker/cli.git synced 2026-11-01 23:35:23 +03:00

cli/command/registry: add unit test for --password-stdin

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn
2026-02-12 12:51:54 +01:00
parent b82e30e58d
commit f5b6055bd1

View File

@@ -1,6 +1,7 @@
package registry
import (
"bytes"
"context"
"errors"
"fmt"
@@ -92,6 +93,7 @@ func TestRunLogin(t *testing.T) {
testCases := []struct {
doc string
priorCredentials map[string]configtypes.AuthConfig
stdIn string
input loginOptions
expectedCredentials map[string]configtypes.AuthConfig
expectedErr string
@@ -287,6 +289,23 @@ func TestRunLogin(t *testing.T) {
},
},
},
{
doc: "password stdin with line-endings",
priorCredentials: map[string]configtypes.AuthConfig{},
stdIn: "my password\r\n",
input: loginOptions{
serverAddress: "reg1",
user: "my-username",
passwordStdin: true,
},
expectedCredentials: map[string]configtypes.AuthConfig{
"reg1": {
Username: "my-username",
Password: "my password",
ServerAddress: "reg1",
},
},
},
}
for _, tc := range testCases {
@@ -295,6 +314,9 @@ func TestRunLogin(t *testing.T) {
cfg := configfile.New(filepath.Join(tmpDir, "config.json"))
cli := test.NewFakeCli(&fakeClient{})
cli.SetConfigFile(cfg)
if tc.input.passwordStdin {
cli.SetIn(streams.NewIn(io.NopCloser(bytes.NewBufferString(tc.stdIn))))
}
for _, priorCred := range tc.priorCredentials {
assert.NilError(t, cfg.GetCredentialsStore(priorCred.ServerAddress).Store(priorCred))