From 4bce232139014e95590db93863a8c34d3a7779cf Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Wed, 15 Mar 2017 10:25:36 -0700 Subject: [PATCH] Revert "Planned 1.13 deprecation: email from login" This reverts commit a66efbddb8eaa837cf42aae20b76c08274271dcf. Signed-off-by: Victor Vieux --- cli/command/registry/login.go | 5 +++++ integration-cli/docker_cli_login_test.go | 14 ++++++++++++++ .../docker_cli_registry_user_agent_test.go | 2 +- integration-cli/registry/registry.go | 5 +++++ 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/cli/command/registry/login.go b/cli/command/registry/login.go index bdcc9a103b..5194c7e8c2 100644 --- a/cli/command/registry/login.go +++ b/cli/command/registry/login.go @@ -35,9 +35,14 @@ func NewLoginCommand(dockerCli *command.DockerCli) *cobra.Command { } flags := cmd.Flags() + flags.StringVarP(&opts.user, "username", "u", "", "Username") flags.StringVarP(&opts.password, "password", "p", "", "Password") + // Deprecated in 1.11: Should be removed in docker 17.06 + flags.StringVarP(&opts.email, "email", "e", "", "Email") + flags.MarkDeprecated("email", "will be removed in 17.06.") + return cmd } diff --git a/integration-cli/docker_cli_login_test.go b/integration-cli/docker_cli_login_test.go index 94dc03778f..f805035769 100644 --- a/integration-cli/docker_cli_login_test.go +++ b/integration-cli/docker_cli_login_test.go @@ -28,3 +28,17 @@ func (s *DockerRegistryAuthHtpasswdSuite) TestLoginToPrivateRegistry(c *check.C) // now it's fine dockerCmd(c, "login", "-u", s.reg.Username(), "-p", s.reg.Password(), privateRegistryURL) } + +func (s *DockerRegistryAuthHtpasswdSuite) TestLoginToPrivateRegistryDeprecatedEmailFlag(c *check.C) { + // Test to make sure login still works with the deprecated -e and --email flags + // wrong credentials + out, _, err := dockerCmdWithError("login", "-u", s.reg.Username(), "-p", "WRONGPASSWORD", "-e", s.reg.Email(), privateRegistryURL) + c.Assert(err, checker.NotNil, check.Commentf(out)) + c.Assert(out, checker.Contains, "401 Unauthorized") + + // now it's fine + // -e flag + dockerCmd(c, "login", "-u", s.reg.Username(), "-p", s.reg.Password(), "-e", s.reg.Email(), privateRegistryURL) + // --email flag + dockerCmd(c, "login", "-u", s.reg.Username(), "-p", s.reg.Password(), "--email", s.reg.Email(), privateRegistryURL) +} diff --git a/integration-cli/docker_cli_registry_user_agent_test.go b/integration-cli/docker_cli_registry_user_agent_test.go index 406fb7c2ee..5e1c00aa8a 100644 --- a/integration-cli/docker_cli_registry_user_agent_test.go +++ b/integration-cli/docker_cli_registry_user_agent_test.go @@ -107,7 +107,7 @@ func (s *DockerRegistrySuite) TestUserAgentPassThrough(c *check.C) { s.d.Cmd("build", "--file", dockerfileName, ".") regexpCheckUA(c, buildUA) - s.d.Cmd("login", "-u", "richard", "-p", "testtest", loginReg.URL()) + s.d.Cmd("login", "-u", "richard", "-p", "testtest", "-e", "testuser@testdomain.com", loginReg.URL()) regexpCheckUA(c, loginUA) s.d.Cmd("pull", pullRepoName) diff --git a/integration-cli/registry/registry.go b/integration-cli/registry/registry.go index 04864b86cd..a8ac682dbb 100644 --- a/integration-cli/registry/registry.go +++ b/integration-cli/registry/registry.go @@ -203,6 +203,11 @@ func (r *V2) Password() string { return r.password } +// Email returns the configured email of the server +func (r *V2) Email() string { + return r.email +} + // Path returns the path where the registry write data func (r *V2) Path() string { return filepath.Join(r.dir, "docker", "registry", "v2")