diff options
author | George Goldberg <george@gberg.me> | 2018-09-17 15:51:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-17 15:51:26 +0100 |
commit | ab99f0656fabed8a62a8c6340be7d538cc7bf8d9 (patch) | |
tree | bb68ee1d0c743be23bba470f5d81ef11dc134182 /store/storetest/post_store.go | |
parent | 5786b0d6d57b90bbb0c262235dd9d19b497b5fae (diff) | |
download | chat-ab99f0656fabed8a62a8c6340be7d538cc7bf8d9.tar.gz chat-ab99f0656fabed8a62a8c6340be7d538cc7bf8d9.tar.bz2 chat-ab99f0656fabed8a62a8c6340be7d538cc7bf8d9.zip |
MM-11781: Basic Data Export Command Line. (#9296)
* MM-11781: Basic Data Export Command Line.
* ChannelStore new unit tests.
* TeamStore new unit tests.
* Unit test for new UserStore function.
* Unit tests for post store new methods.
* Review fixes.
* Fix duplicate command name.
Diffstat (limited to 'store/storetest/post_store.go')
-rw-r--r-- | store/storetest/post_store.go | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/store/storetest/post_store.go b/store/storetest/post_store.go index 72819f49e..b93eb6628 100644 --- a/store/storetest/post_store.go +++ b/store/storetest/post_store.go @@ -44,6 +44,8 @@ func TestPostStore(t *testing.T, ss store.Store) { t.Run("PermanentDeleteBatch", func(t *testing.T) { testPostStorePermanentDeleteBatch(t, ss) }) t.Run("GetOldest", func(t *testing.T) { testPostStoreGetOldest(t, ss) }) t.Run("TestGetMaxPostSize", func(t *testing.T) { testGetMaxPostSize(t, ss) }) + t.Run("GetParentsForExportAfter", func(t *testing.T) { testPostStoreGetParentsForExportAfter(t, ss) }) + t.Run("GetRepliesForExport", func(t *testing.T) { testPostStoreGetRepliesForExport(t, ss) }) } func testPostStoreSave(t *testing.T, ss store.Store) { @@ -1814,3 +1816,97 @@ func testGetMaxPostSize(t *testing.T, ss store.Store) { assert.Equal(t, model.POST_MESSAGE_MAX_RUNES_V2, (<-ss.Post().GetMaxPostSize()).Data.(int)) assert.Equal(t, model.POST_MESSAGE_MAX_RUNES_V2, (<-ss.Post().GetMaxPostSize()).Data.(int)) } + +func testPostStoreGetParentsForExportAfter(t *testing.T, ss store.Store) { + t1 := model.Team{} + t1.DisplayName = "Name" + t1.Name = model.NewId() + t1.Email = MakeEmail() + t1.Type = model.TEAM_OPEN + store.Must(ss.Team().Save(&t1)) + + c1 := model.Channel{} + c1.TeamId = t1.Id + c1.DisplayName = "Channel1" + c1.Name = "zz" + model.NewId() + "b" + c1.Type = model.CHANNEL_OPEN + store.Must(ss.Channel().Save(&c1, -1)) + + u1 := model.User{} + u1.Username = model.NewId() + u1.Email = MakeEmail() + u1.Nickname = model.NewId() + store.Must(ss.User().Save(&u1)) + + p1 := &model.Post{} + p1.ChannelId = c1.Id + p1.UserId = u1.Id + p1.Message = "zz" + model.NewId() + "AAAAAAAAAAA" + p1.CreateAt = 1000 + p1 = (<-ss.Post().Save(p1)).Data.(*model.Post) + + r1 := <-ss.Post().GetParentsForExportAfter(10000, strings.Repeat("0", 26)) + assert.Nil(t, r1.Err) + d1 := r1.Data.([]*model.PostForExport) + + found := false + for _, p := range d1 { + if p.Id == p1.Id { + found = true + assert.Equal(t, p.Id, p1.Id) + assert.Equal(t, p.Message, p1.Message) + assert.Equal(t, p.Username, u1.Username) + assert.Equal(t, p.TeamName, t1.Name) + assert.Equal(t, p.ChannelName, c1.Name) + } + } + assert.True(t, found) +} + +func testPostStoreGetRepliesForExport(t *testing.T, ss store.Store) { + t1 := model.Team{} + t1.DisplayName = "Name" + t1.Name = model.NewId() + t1.Email = MakeEmail() + t1.Type = model.TEAM_OPEN + store.Must(ss.Team().Save(&t1)) + + c1 := model.Channel{} + c1.TeamId = t1.Id + c1.DisplayName = "Channel1" + c1.Name = "zz" + model.NewId() + "b" + c1.Type = model.CHANNEL_OPEN + store.Must(ss.Channel().Save(&c1, -1)) + + u1 := model.User{} + u1.Email = MakeEmail() + u1.Nickname = model.NewId() + store.Must(ss.User().Save(&u1)) + + p1 := &model.Post{} + p1.ChannelId = c1.Id + p1.UserId = u1.Id + p1.Message = "zz" + model.NewId() + "AAAAAAAAAAA" + p1.CreateAt = 1000 + p1 = (<-ss.Post().Save(p1)).Data.(*model.Post) + + p2 := &model.Post{} + p2.ChannelId = c1.Id + p2.UserId = u1.Id + p2.Message = "zz" + model.NewId() + "AAAAAAAAAAA" + p2.CreateAt = 1001 + p2.ParentId = p1.Id + p2.RootId = p1.Id + p2 = (<-ss.Post().Save(p2)).Data.(*model.Post) + + r1 := <-ss.Post().GetRepliesForExport(p1.Id) + assert.Nil(t, r1.Err) + + d1 := r1.Data.([]*model.ReplyForExport) + assert.Len(t, d1, 1) + + reply1 := d1[0] + assert.Equal(t, reply1.Id, p2.Id) + assert.Equal(t, reply1.Message, p2.Message) + assert.Equal(t, reply1.Username, u1.Username) +} |