[MM-54730] Don't use old hardcoded rule for validating imported posts (#25823)
* don't use old hardcoded rule for validating imported posts * fix http verb in doc * Use client config * Handle local mode * E2E tests * Enforce default if unable to use real limit * Unit tests * Fix tests * Use model.PostMessageMaxRunesV2 as lower default * Update direct post message length validation --------- Co-authored-by: Mattermost Build <build@mattermost.com> Co-authored-by: streamer45 <cstcld91@gmail.com>
Этот коммит содержится в:
@@ -21,6 +21,8 @@ func (s *MmctlE2ETestSuite) TestImportUploadCmdF() {
|
||||
serverPath := os.Getenv("MM_SERVER_PATH")
|
||||
importName := "import_test.zip"
|
||||
importFilePath := filepath.Join(serverPath, "tests", importName)
|
||||
info, err := os.Stat(importFilePath)
|
||||
s.Require().NoError(err)
|
||||
|
||||
s.Run("no permissions", func() {
|
||||
printer.Clean()
|
||||
@@ -70,7 +72,7 @@ func (s *MmctlE2ETestSuite) TestImportUploadCmdF() {
|
||||
|
||||
us, _, err := c.CreateUpload(context.TODO(), &model.UploadSession{
|
||||
Filename: importName,
|
||||
FileSize: 276051,
|
||||
FileSize: info.Size(),
|
||||
Type: model.UploadTypeImport,
|
||||
UserId: userID,
|
||||
})
|
||||
@@ -366,3 +368,68 @@ func (s *MmctlE2ETestSuite) TestImportJobListCmdF() {
|
||||
s.Require().Equal(job2, printer.GetLines()[1].(*model.Job))
|
||||
})
|
||||
}
|
||||
|
||||
func (s *MmctlE2ETestSuite) TestImportValidateCmdF() {
|
||||
s.SetupTestHelper().InitBasic()
|
||||
|
||||
serverPath := os.Getenv("MM_SERVER_PATH")
|
||||
importName := "import_test.zip"
|
||||
importFilePath := filepath.Join(serverPath, "tests", importName)
|
||||
|
||||
s.RunForSystemAdminAndLocal("defaults", func(c client.Client) {
|
||||
printer.Clean()
|
||||
|
||||
cmd := &cobra.Command{}
|
||||
cmd.Flags().StringArray("team", nil, "")
|
||||
cmd.Flags().Bool("check-missing-teams", false, "")
|
||||
cmd.Flags().Bool("ignore-attachments", false, "")
|
||||
cmd.Flags().Bool("check-server-duplicates", true, "")
|
||||
|
||||
err := importValidateCmdF(c, cmd, []string{importFilePath})
|
||||
s.Require().Nil(err)
|
||||
s.Require().Empty(printer.GetErrorLines())
|
||||
|
||||
s.Require().Equal(Statistics{
|
||||
Teams: 2,
|
||||
Channels: 24,
|
||||
Users: 16,
|
||||
Posts: 2001,
|
||||
DirectChannels: 79,
|
||||
DirectPosts: 901,
|
||||
Attachments: 2,
|
||||
}, printer.GetLines()[0].(Statistics))
|
||||
s.Require().Equal(struct {
|
||||
UnusedAttachments []string `json:"unused_attachments"`
|
||||
}{
|
||||
UnusedAttachments: []string{"data/test2.png"},
|
||||
}, printer.GetLines()[1].(struct {
|
||||
UnusedAttachments []string `json:"unused_attachments"`
|
||||
}))
|
||||
s.Require().Equal("Validation complete\n", printer.GetLines()[3])
|
||||
})
|
||||
|
||||
s.RunForSystemAdminAndLocal("ignore attachments", func(c client.Client) {
|
||||
printer.Clean()
|
||||
|
||||
cmd := &cobra.Command{}
|
||||
cmd.Flags().StringArray("team", nil, "")
|
||||
cmd.Flags().Bool("check-missing-teams", false, "")
|
||||
cmd.Flags().Bool("ignore-attachments", true, "")
|
||||
cmd.Flags().Bool("check-server-duplicates", true, "")
|
||||
|
||||
err := importValidateCmdF(c, cmd, []string{importFilePath})
|
||||
s.Require().Nil(err)
|
||||
s.Require().Empty(printer.GetErrorLines())
|
||||
|
||||
s.Require().Equal(Statistics{
|
||||
Teams: 2,
|
||||
Channels: 24,
|
||||
Users: 16,
|
||||
Posts: 2001,
|
||||
DirectChannels: 79,
|
||||
DirectPosts: 901,
|
||||
Attachments: 0,
|
||||
}, printer.GetLines()[0].(Statistics))
|
||||
s.Require().Equal("Validation complete\n", printer.GetLines()[2])
|
||||
})
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user