* Add new /test dms command

* Remove useless team get
Этот коммит содержится в:
Joram Wilander
2022-02-17 17:48:51 -05:00
коммит произвёл GitHub
родитель 7fa6b321ae
Коммит f33fba1d4f
2 изменённых файлов: 46 добавлений и 0 удалений

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

@@ -74,3 +74,23 @@ func (cfg *AutoChannelCreator) CreateTestChannels(c *request.Context, num utils.
return channels, nil
}
func (cfg *AutoChannelCreator) CreateTestDMs(c *request.Context, num utils.Range) ([]*model.Channel, error) {
numDMs := utils.RandIntFromRange(num)
dms := make([]*model.Channel, numDMs)
users, err := cfg.a.GetUsers(&model.UserGetOptions{Page: 0, PerPage: numDMs})
if err != nil {
return nil, err
}
for i, user := range users {
var err *model.AppError
dms[i], err = cfg.a.GetOrCreateDirectChannel(c, cfg.userID, user.Id)
if err != nil {
return nil, err
}
}
return dms, nil
}

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

@@ -45,6 +45,12 @@ var usage = `Mattermost testing commands to help configure the system
Example:
/test channels fuzz 5 10
DMs - Add a specified number of DMs for current user. Requires enough users to be loaded.
/test dms <Min DMs> <Max DMs>
Example:
/test dms 5 10
ThreadedPost - create a large threaded post
/test threaded_post
@@ -145,6 +151,10 @@ func (lt *LoadTestProvider) doCommand(a *app.App, c *request.Context, args *mode
return lt.ChannelsCommand(a, c, args, message)
}
if strings.HasPrefix(message, "dms") {
return lt.DMsCommand(a, c, args, message)
}
if strings.HasPrefix(message, "posts") {
return lt.PostsCommand(a, c, args, message)
}
@@ -333,6 +343,22 @@ func (*LoadTestProvider) ChannelsCommand(a *app.App, c *request.Context, args *m
return &model.CommandResponse{Text: "Added channels", ResponseType: model.CommandResponseTypeEphemeral}, nil
}
func (*LoadTestProvider) DMsCommand(a *app.App, c *request.Context, args *model.CommandArgs, message string) (*model.CommandResponse, error) {
cmd := strings.TrimSpace(strings.TrimPrefix(message, "dms"))
channelsr, ok := parseRange(cmd, "")
if !ok {
channelsr = utils.Range{Begin: 2, End: 5}
}
channelCreator := NewAutoChannelCreator(a, nil, args.UserId)
if _, err := channelCreator.CreateTestDMs(c, channelsr); err != nil {
return &model.CommandResponse{Text: "Failed to create test DMs: " + err.Error(), ResponseType: model.CommandResponseTypeEphemeral}, err
}
return &model.CommandResponse{Text: "Added DMs", ResponseType: model.CommandResponseTypeEphemeral}, nil
}
func (*LoadTestProvider) ThreadedPostCommand(a *app.App, c *request.Context, args *model.CommandArgs, message string) (*model.CommandResponse, error) {
var usernames []string
options := &model.UserGetOptions{InTeamId: args.TeamId, Page: 0, PerPage: 1000}