Files
zeekay 8feb24ea1f One name for this fork, and it is ours
The server module named github.com/hanzoai/team/server/v8 — a path that
resolves to the retired workspace's repository, not this one — while
server/public still published github.com/mattermost/mattermost/server/public.
Both are github.com/hanzoteam/server/... now, which is where this code
actually lives.

That second half is what made the binary unbootable. Upstream's public path
stayed claimed by upstream, mattermost-plugin-ai imported it, and the build
linked public/model twice; public/plugin's gob.Register then ran twice under
one name and panicked at init, before main. Reverting the rename traded the
brand for a working binary. Rebranding the plugin alongside it needs no such
trade: the agents fork is github.com/hanzoteam/agents/v2 against our public
module, so no module named mattermost/mattermost is in the graph at all.

Measured: `go list -deps ./cmd/mattermost` names exactly one public/model, and
it is ours.
2026-08-28 23:35:36 -07:00

36 lines
1.5 KiB
Go

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
package commands
import (
"github.com/spf13/cobra"
"github.com/hanzoteam/server/server/v8/cmd/mmctl/printer"
)
func (s *MmctlE2ETestSuite) TestAuthLoginWithTrailingSlashInInstanceURL() {
s.SetupTestHelper().InitBasic(s.T())
s.Run("URL with trailing slash", func() {
// loginCmdf doesn't return an error in this case. It prints to stderr instead.
printer.Clean()
// cobra wont let us run a subcommand directly. When we try to `Execute`
// the subcommand, cobra executes the parent command.
// Instead of calling RootCmd, with its various subcommands and options,
// we duplicate part of the LoginCmd here.
cmd := &cobra.Command{}
cmd.Flags().StringP("name", "n", "name", "Name for the credentials")
cmd.Flags().StringP("username", "u", s.th.BasicUser.Username, "Username for the credentials")
cmd.Flags().StringP("password", "p", s.th.BasicUser.Password, "Password for the credentials")
cmd.Flags().StringP("access-token", "a", "", "Access token to use instead of username/password")
cmd.Flags().StringP("mfa-token", "m", "", "MFA token for the credentials")
cmd.Flags().Bool("no-activate", false, "If present, it won't activate the credentials after login")
_ = loginCmdF(cmd, []string{s.th.Client.URL + "/"}) // add a trailing slash
errLines := printer.GetErrorLines()
s.Require().Lenf(errLines, 0, "expected no error, got %q", errLines)
})
}