[MM-54288] Support Packet V2 (#29403)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
091d1bba8b
Коммит
8d4bf4bae0
@@ -5,19 +5,17 @@ package commands
|
||||
|
||||
import (
|
||||
"context"
|
||||
"io"
|
||||
"net/http"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/mattermost/mattermost/server/public/model"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
"github.com/mattermost/mattermost/server/public/model"
|
||||
"github.com/mattermost/mattermost/server/v8/cmd/mmctl/printer"
|
||||
)
|
||||
|
||||
@@ -221,19 +219,6 @@ func (s *MmctlUnitTestSuite) TestServerStatusCmd() {
|
||||
})
|
||||
}
|
||||
|
||||
func cleanupSupportPacket(t *testing.T) func() {
|
||||
return func() {
|
||||
entries, err := os.ReadDir(".")
|
||||
require.NoError(t, err)
|
||||
for _, e := range entries {
|
||||
if strings.HasPrefix(e.Name(), "mattermost_support_packet_") && strings.HasSuffix(e.Name(), ".zip") {
|
||||
err = os.Remove(e.Name())
|
||||
assert.NoError(t, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (s *MmctlUnitTestSuite) TestSupportPacketCmdF() {
|
||||
printer.SetFormat(printer.FormatPlain)
|
||||
s.T().Cleanup(func() { printer.SetFormat(printer.FormatJSON) })
|
||||
@@ -241,57 +226,51 @@ func (s *MmctlUnitTestSuite) TestSupportPacketCmdF() {
|
||||
s.Run("Download Support Packet with default filename", func() {
|
||||
printer.Clean()
|
||||
|
||||
s.T().Cleanup(cleanupSupportPacket(s.T()))
|
||||
|
||||
data := []byte("some bytes")
|
||||
reader := io.NopCloser(strings.NewReader("some bytes"))
|
||||
s.client.
|
||||
EXPECT().
|
||||
GenerateSupportPacket(context.TODO()).
|
||||
Return(data, &model.Response{}, nil).
|
||||
Return(reader, "mm_support_packet.zip", &model.Response{}, nil).
|
||||
Times(1)
|
||||
|
||||
defer func() {
|
||||
err := os.Remove("mm_support_packet.zip")
|
||||
s.NoError(err)
|
||||
}()
|
||||
|
||||
err := systemSupportPacketCmdF(s.client, SystemSupportPacketCmd, []string{})
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(printer.GetErrorLines(), 0)
|
||||
s.Require().Len(printer.GetLines(), 2)
|
||||
s.Require().Equal(printer.GetLines()[0], "Downloading Support Packet")
|
||||
s.Require().Contains(printer.GetLines()[1], "Downloaded Support Packet to ")
|
||||
s.Require().Equal(printer.GetLines()[1], "Downloaded Support Packet to mm_support_packet.zip")
|
||||
|
||||
var found bool
|
||||
|
||||
entries, err := os.ReadDir(".")
|
||||
s.Require().NoError(err)
|
||||
for _, e := range entries {
|
||||
if strings.HasPrefix(e.Name(), "mattermost_support_packet_") && strings.HasSuffix(e.Name(), ".zip") {
|
||||
b, err := os.ReadFile(e.Name())
|
||||
s.NoError(err)
|
||||
s.Equal(b, data)
|
||||
|
||||
found = true
|
||||
}
|
||||
}
|
||||
|
||||
s.True(found)
|
||||
b, err := os.ReadFile("mm_support_packet.zip")
|
||||
s.NoError(err)
|
||||
s.Equal(b, []byte("some bytes"))
|
||||
})
|
||||
|
||||
s.Run("Download Support Packet with custom filename", func() {
|
||||
printer.Clean()
|
||||
|
||||
data := []byte("some bytes")
|
||||
reader := io.NopCloser(strings.NewReader("some bytes"))
|
||||
s.client.
|
||||
EXPECT().
|
||||
GenerateSupportPacket(context.TODO()).
|
||||
Return(data, &model.Response{}, nil).
|
||||
Return(reader, "mm_support_packet.zip", &model.Response{}, nil).
|
||||
Times(1)
|
||||
|
||||
err := SystemSupportPacketCmd.ParseFlags([]string{"-o", "foo.zip"})
|
||||
systemSupportPacketCmd := &cobra.Command{}
|
||||
systemSupportPacketCmd.Flags().StringP("output-file", "o", "", "Define the output file name")
|
||||
err := systemSupportPacketCmd.ParseFlags([]string{"-o", "foo.zip"})
|
||||
s.Require().NoError(err)
|
||||
|
||||
s.T().Cleanup(func() {
|
||||
s.Require().NoError(os.Remove("foo.zip"))
|
||||
})
|
||||
defer func() {
|
||||
err = os.Remove("foo.zip")
|
||||
s.Require().NoError(err)
|
||||
}()
|
||||
|
||||
err = systemSupportPacketCmdF(s.client, SystemSupportPacketCmd, []string{})
|
||||
err = systemSupportPacketCmdF(s.client, systemSupportPacketCmd, []string{})
|
||||
s.Require().NoError(err)
|
||||
s.Require().Len(printer.GetErrorLines(), 0)
|
||||
s.Require().Len(printer.GetLines(), 2)
|
||||
@@ -300,7 +279,7 @@ func (s *MmctlUnitTestSuite) TestSupportPacketCmdF() {
|
||||
|
||||
b, err := os.ReadFile("foo.zip")
|
||||
s.Require().NoError(err)
|
||||
s.Equal(b, data)
|
||||
s.Equal(string(b), "some bytes")
|
||||
})
|
||||
|
||||
s.Run("Request to the server fails", func() {
|
||||
@@ -309,7 +288,7 @@ func (s *MmctlUnitTestSuite) TestSupportPacketCmdF() {
|
||||
s.client.
|
||||
EXPECT().
|
||||
GenerateSupportPacket(context.TODO()).
|
||||
Return(nil, &model.Response{}, errors.New("mock error")).
|
||||
Return(nil, "", &model.Response{}, errors.New("mock error")).
|
||||
Times(1)
|
||||
|
||||
err := systemSupportPacketCmdF(s.client, SystemSupportPacketCmd, []string{})
|
||||
|
||||
Ссылка в новой задаче
Block a user