Gh 19916 mmctl list deactivated users only (#26646)

Этот коммит содержится в:
Ezekiel
2024-04-30 20:49:50 +08:00
коммит произвёл GitHub
родитель 10a59619c7
Коммит b6a8965969
6 изменённых файлов: 352 добавлений и 88 удалений

Просмотреть файл

@@ -164,18 +164,26 @@ func (s *MmctlE2ETestSuite) TestListUserCmd() {
userPool = append(userPool, usr.Username)
}
inactivePool := []string{}
// create inactive users
for i := 0; i < 2; i++ {
userData := model.User{
Username: "fakeuser" + model.NewRandomString(10),
Password: "Pa$$word11",
Email: s.th.GenerateTestEmail(),
DeleteAt: model.GetMillis(),
}
usr, err := s.th.App.CreateUser(s.th.Context, &userData)
s.Require().Nil(err)
userPool = append(userPool, usr.Username)
inactivePool = append(inactivePool, usr.Username)
}
s.RunForAllClients("Get some random user", func(c client.Client) {
printer.Clean()
var page int
var all bool
perpage := 5
team := ""
cmd := &cobra.Command{}
cmd.Flags().IntVar(&page, "page", page, "page")
cmd.Flags().IntVar(&perpage, "per-page", perpage, "perpage")
cmd.Flags().BoolVar(&all, "all", all, "all")
cmd.Flags().StringVar(&team, "team", team, "team")
cmd := ResetListUsersCmd()
cmd.Flags().Set("per-page", "5")
err := listUsersCmdF(c, cmd, []string{})
s.Require().Nil(err)
@@ -191,25 +199,103 @@ func (s *MmctlE2ETestSuite) TestListUserCmd() {
s.RunForAllClients("Get list of all user", func(c client.Client) {
printer.Clean()
var page int
perpage := 10
all := true
team := ""
cmd := &cobra.Command{}
cmd.Flags().IntVar(&page, "page", page, "page")
cmd.Flags().IntVar(&perpage, "per-page", perpage, "perpage")
cmd.Flags().BoolVar(&all, "all", all, "all")
cmd.Flags().StringVar(&team, "team", team, "team")
cmd := ResetListUsersCmd()
cmd.Flags().Set("per-page", "12")
cmd.Flags().Set("all", "true")
err := listUsersCmdF(c, cmd, []string{})
s.Require().Nil(err)
s.Require().GreaterOrEqual(len(printer.GetLines()), 14)
s.Require().GreaterOrEqual(len(printer.GetLines()), 16)
s.Len(printer.GetErrorLines(), 0)
for _, each := range printer.GetLines() {
user := each.(*model.User)
s.Require().Contains(userPool, user.Username)
}
})
s.RunForAllClients("Get list of inactive users", func(c client.Client) {
printer.Clean()
cmd := ResetListUsersCmd()
cmd.Flags().Set("per-page", "12")
cmd.Flags().Set("all", "true")
cmd.Flags().Set("inactive", "true")
err := listUsersCmdF(c, cmd, []string{})
s.Require().Nil(err)
s.Require().GreaterOrEqual(len(printer.GetLines()), 2)
s.Len(printer.GetErrorLines(), 0)
for _, each := range printer.GetLines() {
user := each.(*model.User)
s.Require().Contains(inactivePool, user.Username)
}
})
// create users with team
for i := 0; i < 10; i++ {
userData := model.User{
Username: "teamuser" + model.NewRandomString(10),
Password: "Pa$$word11",
Email: s.th.GenerateTestEmail(),
}
usr, err := s.th.App.CreateUser(s.th.Context, &userData)
s.Require().Nil(err)
userPool = append(userPool, usr.Username)
s.th.LinkUserToTeam(usr, s.th.BasicTeam)
}
s.RunForAllClients("Get list users given team", func(c client.Client) {
printer.Clean()
cmd := ResetListUsersCmd()
cmd.Flags().Set("per-page", "40")
cmd.Flags().Set("all", "true")
cmd.Flags().Set("team", s.th.BasicTeam.Name)
err := listUsersCmdF(c, cmd, []string{})
s.Require().Nil(err)
s.Require().GreaterOrEqual(len(printer.GetLines()), 10)
s.Len(printer.GetErrorLines(), 0)
for _, each := range printer.GetLines() {
user := each.(*model.User)
s.Require().Contains(userPool, user.Username)
}
})
// create inactive users with team
inactiveUserPool := []string{}
for i := 0; i < 10; i++ {
userData := model.User{
Username: "inactiveteamuser" + model.NewRandomString(10),
Password: "Pa$$word11",
Email: s.th.GenerateTestEmail(),
DeleteAt: model.GetMillis(),
}
usr, err := s.th.App.CreateUser(s.th.Context, &userData)
s.Require().Nil(err)
inactiveUserPool = append(inactiveUserPool, usr.Username)
s.th.LinkUserToTeam(usr, s.th.BasicTeam)
}
s.RunForAllClients("Get list of inactive users given team", func(c client.Client) {
printer.Clean()
cmd := ResetListUsersCmd()
cmd.Flags().Set("per-page", "40")
cmd.Flags().Set("all", "true")
cmd.Flags().Set("team", s.th.BasicTeam.Name)
cmd.Flags().Set("inactive", "true")
err := listUsersCmdF(c, cmd, []string{})
s.Require().Nil(err)
s.Require().GreaterOrEqual(len(printer.GetLines()), 10)
s.Len(printer.GetErrorLines(), 0)
for _, each := range printer.GetLines() {
user := each.(*model.User)
s.Require().Contains(inactiveUserPool, user.Username)
}
})
}
func (s *MmctlE2ETestSuite) TestUserInviteCmdf() {