Automatic Merge
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
12dce033d6
Коммит
21a86506f9
@@ -194,7 +194,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
fileInfo.ChannelId = th.BasicChannel.Id
|
||||
require.Nil(t, err)
|
||||
|
||||
post, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
post, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
FileIds: []string{fileInfo.Id},
|
||||
@@ -222,7 +222,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
|
||||
emoji := th.CreateEmoji()
|
||||
|
||||
post, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
post, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: ":" + emoji.Name + ": :taco:",
|
||||
@@ -266,7 +266,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
emoji3 := th.CreateEmoji()
|
||||
emoji4 := th.CreateEmoji()
|
||||
|
||||
post, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
post, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: ":" + emoji3.Name + ": :taco:",
|
||||
@@ -307,7 +307,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
*cfg.ServiceSettings.EnablePostIconOverride = override
|
||||
})
|
||||
|
||||
post, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
post, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: "Test",
|
||||
@@ -364,7 +364,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
th := setup(t)
|
||||
defer th.TearDown()
|
||||
|
||||
post, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
post, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: fmt.Sprintf("This is  and ", server.URL, server.URL),
|
||||
@@ -393,7 +393,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
th := setup(t)
|
||||
defer th.TearDown()
|
||||
|
||||
post, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
post, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: "some post",
|
||||
@@ -426,7 +426,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
th := setup(t)
|
||||
defer th.TearDown()
|
||||
|
||||
post, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
post, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: `This is our logo: ` + server.URL + `/test-image2.png
|
||||
@@ -462,7 +462,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
th := setup(t)
|
||||
defer th.TearDown()
|
||||
|
||||
post, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
post, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: `This is our web page: ` + server.URL,
|
||||
@@ -537,7 +537,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
}
|
||||
prepost.AddProp(model.PostPropsUnsafeLinks, "true")
|
||||
|
||||
post, err := th.App.CreatePost(th.Context, prepost, th.BasicChannel, model.CreatePostFlags{SetOnline: true})
|
||||
post, _, err := th.App.CreatePost(th.Context, prepost, th.BasicChannel, model.CreatePostFlags{SetOnline: true})
|
||||
require.Nil(t, err)
|
||||
|
||||
clientPost := th.App.PreparePostForClient(th.Context, post, false, false, false)
|
||||
@@ -553,7 +553,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
Message: `Bla bla bla: ` + fmt.Sprintf(tc.link, server.URL),
|
||||
}
|
||||
|
||||
post, err := th.App.CreatePost(th.Context, prepost, th.BasicChannel, model.CreatePostFlags{SetOnline: true})
|
||||
post, _, err := th.App.CreatePost(th.Context, prepost, th.BasicChannel, model.CreatePostFlags{SetOnline: true})
|
||||
require.Nil(t, err)
|
||||
|
||||
clientPost := th.App.PreparePostForClient(th.Context, post, false, false, false)
|
||||
@@ -569,7 +569,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
th := setup(t)
|
||||
defer th.TearDown()
|
||||
|
||||
post, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
post, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Props: map[string]any{
|
||||
@@ -610,7 +610,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
fileInfo, err := th.App.DoUploadFile(th.Context, time.Now(), th.BasicTeam.Id, th.BasicChannel.Id, th.BasicUser.Id, "test.txt", []byte("test"), true)
|
||||
require.Nil(t, err)
|
||||
|
||||
post, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
post, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
Message: "test",
|
||||
FileIds: []string{fileInfo.Id},
|
||||
UserId: th.BasicUser.Id,
|
||||
@@ -645,7 +645,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
|
||||
th.Context.Session().UserId = th.BasicUser.Id
|
||||
|
||||
referencedPost, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
referencedPost, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: "hello world",
|
||||
@@ -655,7 +655,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
|
||||
link := fmt.Sprintf("%s/%s/pl/%s", *th.App.Config().ServiceSettings.SiteURL, th.BasicTeam.Name, referencedPost.Id)
|
||||
|
||||
previewPost, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
previewPost, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: link,
|
||||
@@ -703,7 +703,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
|
||||
for _, testCase := range testCases {
|
||||
t.Run(testCase.Description, func(t *testing.T) {
|
||||
referencedPost, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
referencedPost, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: testCase.Channel.Id,
|
||||
Message: "hello world",
|
||||
@@ -713,7 +713,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
|
||||
link := fmt.Sprintf("%s/%s/pl/%s", *th.App.Config().ServiceSettings.SiteURL, th.BasicTeam.Name, referencedPost.Id)
|
||||
|
||||
previewPost, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
previewPost, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: link,
|
||||
@@ -741,7 +741,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
|
||||
th.Context.Session().UserId = th.BasicUser.Id
|
||||
|
||||
referencedPost, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
referencedPost, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: `This is our logo: ` + server.URL + `/test-image2.png`,
|
||||
@@ -751,7 +751,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
|
||||
link := fmt.Sprintf("%s/%s/pl/%s", *th.App.Config().ServiceSettings.SiteURL, th.BasicTeam.Name, referencedPost.Id)
|
||||
|
||||
previewPost, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
previewPost, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: link,
|
||||
@@ -778,7 +778,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
|
||||
th.Context.Session().UserId = th.BasicUser.Id
|
||||
|
||||
nestedPermalinkPost, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
nestedPermalinkPost, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: `This is our logo: ` + server.URL + `/test-image2.png`,
|
||||
@@ -788,7 +788,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
|
||||
nestedLink := fmt.Sprintf("%s/%s/pl/%s", *th.App.Config().ServiceSettings.SiteURL, th.BasicTeam.Name, nestedPermalinkPost.Id)
|
||||
|
||||
referencedPost, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
referencedPost, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: nestedLink,
|
||||
@@ -798,7 +798,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
|
||||
link := fmt.Sprintf("%s/%s/pl/%s", *th.App.Config().ServiceSettings.SiteURL, th.BasicTeam.Name, referencedPost.Id)
|
||||
|
||||
previewPost, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
previewPost, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: link,
|
||||
@@ -825,7 +825,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
|
||||
th.Context.Session().UserId = th.BasicUser.Id
|
||||
|
||||
referencedPost, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
referencedPost, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: "hello world",
|
||||
@@ -834,7 +834,7 @@ func TestPreparePostForClient(t *testing.T) {
|
||||
|
||||
link := fmt.Sprintf("%s/%s/pl/%s", *th.App.Config().ServiceSettings.SiteURL, th.BasicTeam.Name, referencedPost.Id)
|
||||
|
||||
previewPost, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
previewPost, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: link,
|
||||
@@ -951,7 +951,7 @@ func testProxyOpenGraphImage(t *testing.T, th *TestHelper, shouldProxy bool) {
|
||||
serverURL = server.URL
|
||||
defer server.Close()
|
||||
|
||||
post, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
post, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: `This is our web page: ` + server.URL,
|
||||
@@ -2963,131 +2963,6 @@ func TestContainsPermalink(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestSanitizePostMetadataForUserAndChannel(t *testing.T) {
|
||||
mainHelper.Parallel(t)
|
||||
th := Setup(t).InitBasic()
|
||||
defer th.TearDown()
|
||||
|
||||
enableLinkPreviews := *th.App.Config().ServiceSettings.EnableLinkPreviews
|
||||
siteURL := *th.App.Config().ServiceSettings.SiteURL
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) {
|
||||
cfg.ServiceSettings.EnableLinkPreviews = &enableLinkPreviews
|
||||
cfg.ServiceSettings.SiteURL = &siteURL
|
||||
})
|
||||
}()
|
||||
th.App.UpdateConfig(func(cfg *model.Config) {
|
||||
*cfg.ServiceSettings.EnableLinkPreviews = true
|
||||
*cfg.ServiceSettings.SiteURL = "http://mymattermost.com"
|
||||
})
|
||||
|
||||
t.Run("should not preview for users with no access to the channel", func(t *testing.T) {
|
||||
directChannel, err := th.App.createDirectChannel(th.Context, th.BasicUser.Id, th.BasicUser2.Id)
|
||||
assert.Nil(t, err)
|
||||
|
||||
userID := model.NewId()
|
||||
post := &model.Post{
|
||||
Id: userID,
|
||||
Metadata: &model.PostMetadata{
|
||||
Embeds: []*model.PostEmbed{
|
||||
{
|
||||
Type: model.PostEmbedPermalink,
|
||||
Data: &model.PreviewPost{
|
||||
PostID: "permalink_post_id",
|
||||
Post: &model.Post{
|
||||
Id: "permalink_post_id",
|
||||
Message: "permalink post message",
|
||||
ChannelId: directChannel.Id,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
previewedPost := model.NewPreviewPost(post, th.BasicTeam, directChannel)
|
||||
|
||||
actual := th.App.sanitizePostMetadataForUserAndChannel(th.Context, post, previewedPost, directChannel, th.BasicUser2.Id)
|
||||
assert.NotNil(t, actual.Metadata.Embeds[0].Data)
|
||||
|
||||
guestID := model.NewId()
|
||||
guest := &model.User{
|
||||
Email: "success+" + guestID + "@simulator.amazonses.com",
|
||||
Username: "un_" + guestID,
|
||||
Nickname: "nn_" + guestID,
|
||||
Password: "Password1",
|
||||
EmailVerified: true,
|
||||
}
|
||||
guest, appErr := th.App.CreateGuest(th.Context, guest)
|
||||
require.Nil(t, appErr)
|
||||
|
||||
actual = th.App.sanitizePostMetadataForUserAndChannel(th.Context, post, previewedPost, directChannel, guest.Id)
|
||||
assert.Len(t, actual.Metadata.Embeds, 0)
|
||||
})
|
||||
|
||||
t.Run("should not preview for archived channels", func(t *testing.T) {
|
||||
experimentalViewArchivedChannels := *th.App.Config().TeamSettings.ExperimentalViewArchivedChannels
|
||||
defer func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) {
|
||||
cfg.TeamSettings.ExperimentalViewArchivedChannels = &experimentalViewArchivedChannels
|
||||
})
|
||||
}()
|
||||
|
||||
publicChannel, err := th.App.CreateChannel(th.Context, &model.Channel{
|
||||
Name: model.NewId(),
|
||||
Type: model.ChannelTypeOpen,
|
||||
TeamId: th.BasicTeam.Id,
|
||||
CreatorId: th.SystemAdminUser.Id,
|
||||
}, true)
|
||||
|
||||
require.Nil(t, err)
|
||||
require.NotEmpty(t, publicChannel.Id)
|
||||
|
||||
err = th.App.DeleteChannel(th.Context, publicChannel, th.SystemAdminUser.Id)
|
||||
require.Nil(t, err)
|
||||
|
||||
publicChannel, err = th.App.GetChannel(th.Context, publicChannel.Id)
|
||||
require.Nil(t, err)
|
||||
require.NotEmpty(t, publicChannel.Id)
|
||||
require.NotEqual(t, 0, publicChannel.DeleteAt)
|
||||
|
||||
post := &model.Post{
|
||||
Id: th.BasicUser.Id,
|
||||
Metadata: &model.PostMetadata{
|
||||
Embeds: []*model.PostEmbed{
|
||||
{
|
||||
Type: model.PostEmbedPermalink,
|
||||
Data: &model.PreviewPost{
|
||||
PostID: "permalink_post_id",
|
||||
Post: &model.Post{
|
||||
Id: "permalink_post_id",
|
||||
Message: "permalink post message",
|
||||
ChannelId: publicChannel.Id,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
previewedPost := model.NewPreviewPost(post, th.BasicTeam, publicChannel)
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) {
|
||||
*cfg.TeamSettings.ExperimentalViewArchivedChannels = true
|
||||
})
|
||||
|
||||
actual := th.App.sanitizePostMetadataForUserAndChannel(th.Context, post, previewedPost, publicChannel, th.BasicUser.Id)
|
||||
assert.NotNil(t, actual.Metadata.Embeds[0].Data)
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) {
|
||||
*cfg.TeamSettings.ExperimentalViewArchivedChannels = false
|
||||
})
|
||||
|
||||
actual = th.App.sanitizePostMetadataForUserAndChannel(th.Context, post, previewedPost, publicChannel, th.BasicUser.Id)
|
||||
assert.Len(t, actual.Metadata.Embeds, 0)
|
||||
})
|
||||
}
|
||||
|
||||
func TestSanitizePostMetaDataForAudit(t *testing.T) {
|
||||
mainHelper.Parallel(t)
|
||||
th := Setup(t).InitBasic()
|
||||
@@ -3099,7 +2974,7 @@ func TestSanitizePostMetaDataForAudit(t *testing.T) {
|
||||
|
||||
th.Context.Session().UserId = th.BasicUser.Id
|
||||
|
||||
referencedPost, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
referencedPost, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: "hello world",
|
||||
@@ -3109,7 +2984,7 @@ func TestSanitizePostMetaDataForAudit(t *testing.T) {
|
||||
|
||||
link := fmt.Sprintf("%s/%s/pl/%s", *th.App.Config().ServiceSettings.SiteURL, th.BasicTeam.Name, referencedPost.Id)
|
||||
|
||||
previewPost, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
previewPost, _, err := th.App.CreatePost(th.Context, &model.Post{
|
||||
UserId: th.BasicUser.Id,
|
||||
ChannelId: th.BasicChannel.Id,
|
||||
Message: link,
|
||||
@@ -3202,15 +3077,16 @@ func TestSanitizePostMetadataForUser(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
sanitizedPost, err := th.App.SanitizePostMetadataForUser(th.Context, post, th.BasicUser.Id)
|
||||
sanitizedPost, isMemberForPreviews, err := th.App.SanitizePostMetadataForUser(th.Context, post, th.BasicUser.Id)
|
||||
require.Nil(t, err)
|
||||
require.NotNil(t, sanitizedPost)
|
||||
|
||||
require.Equal(t, 1, len(sanitizedPost.Metadata.Embeds))
|
||||
require.Equal(t, model.PostEmbedLink, sanitizedPost.Metadata.Embeds[0].Type)
|
||||
require.True(t, isMemberForPreviews)
|
||||
})
|
||||
|
||||
t.Run("should remove embeds for archived channels if the config does not allow it", func(t *testing.T) {
|
||||
t.Run("should not remove embeds for archived channels", func(t *testing.T) {
|
||||
publicChannel, err := th.App.CreateChannel(th.Context, &model.Channel{
|
||||
Name: model.NewId(),
|
||||
Type: model.ChannelTypeOpen,
|
||||
@@ -3264,7 +3140,7 @@ func TestSanitizePostMetadataForUser(t *testing.T) {
|
||||
*cfg.TeamSettings.ExperimentalViewArchivedChannels = true
|
||||
})
|
||||
|
||||
sanitizedPost, err := th.App.SanitizePostMetadataForUser(th.Context, post, th.BasicUser.Id)
|
||||
sanitizedPost, _, err := th.App.SanitizePostMetadataForUser(th.Context, post, th.BasicUser.Id)
|
||||
require.Nil(t, err)
|
||||
require.NotNil(t, sanitizedPost)
|
||||
|
||||
@@ -3275,7 +3151,7 @@ func TestSanitizePostMetadataForUser(t *testing.T) {
|
||||
*cfg.TeamSettings.ExperimentalViewArchivedChannels = false
|
||||
})
|
||||
|
||||
sanitizedPost, err = th.App.SanitizePostMetadataForUser(th.Context, post, th.BasicUser.Id)
|
||||
sanitizedPost, _, err = th.App.SanitizePostMetadataForUser(th.Context, post, th.BasicUser.Id)
|
||||
require.Nil(t, err)
|
||||
require.NotNil(t, sanitizedPost)
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user