summaryrefslogtreecommitdiffstats
path: root/store/storetest/channel_store.go
diff options
context:
space:
mode:
authorChris <ccbrown112@gmail.com>2018-01-31 08:26:40 -0600
committerJoram Wilander <jwawilander@gmail.com>2018-01-31 09:26:40 -0500
commite0ee73ef9963ab398bcc6011795ad23e8e003147 (patch)
tree37c773074588792a3badd2a68dfbbdbfa459164d /store/storetest/channel_store.go
parent0c8968fb8df4ce302c928118cd81e75f5bef2861 (diff)
downloadchat-e0ee73ef9963ab398bcc6011795ad23e8e003147.tar.gz
chat-e0ee73ef9963ab398bcc6011795ad23e8e003147.tar.bz2
chat-e0ee73ef9963ab398bcc6011795ad23e8e003147.zip
ABC-79: Optimize channel autocomplete query (#8163)
* optimize channel autocomplete query * move to new autocomplete endpoint
Diffstat (limited to 'store/storetest/channel_store.go')
-rw-r--r--store/storetest/channel_store.go197
1 files changed, 95 insertions, 102 deletions
diff --git a/store/storetest/channel_store.go b/store/storetest/channel_store.go
index 12781bdad..121b40a01 100644
--- a/store/storetest/channel_store.go
+++ b/store/storetest/channel_store.go
@@ -1940,116 +1940,109 @@ func testChannelStoreSearchInTeam(t *testing.T, ss store.Store) {
o11.Type = model.CHANNEL_OPEN
store.Must(ss.Channel().Save(&o11, -1))
- if result := <-ss.Channel().SearchInTeam(o1.TeamId, "ChannelA"); result.Err != nil {
- t.Fatal(result.Err)
- } else {
- channels := result.Data.(*model.ChannelList)
- if len(*channels) != 2 {
- t.Fatal("wrong length")
- }
- }
-
- if result := <-ss.Channel().SearchInTeam(o1.TeamId, ""); result.Err != nil {
- t.Fatal(result.Err)
- } else {
- channels := result.Data.(*model.ChannelList)
- if len(*channels) == 0 {
- t.Fatal("should not be empty")
- }
- }
-
- if result := <-ss.Channel().SearchInTeam(o1.TeamId, "blargh"); result.Err != nil {
- t.Fatal(result.Err)
- } else {
- channels := result.Data.(*model.ChannelList)
- if len(*channels) != 0 {
- t.Fatal("should be empty")
- }
- }
-
- if result := <-ss.Channel().SearchInTeam(o1.TeamId, "off-"); result.Err != nil {
- t.Fatal(result.Err)
- } else {
- channels := result.Data.(*model.ChannelList)
- if len(*channels) != 2 {
- t.Fatal("should return 2 channels, not including private channel")
- }
-
- if (*channels)[0].Name != o7.Name {
- t.Fatal("wrong channel returned")
- }
-
- if (*channels)[1].Name != o6.Name {
- t.Fatal("wrong channel returned")
- }
- }
-
- if result := <-ss.Channel().SearchInTeam(o1.TeamId, "off-topic"); result.Err != nil {
- t.Fatal(result.Err)
- } else {
- channels := result.Data.(*model.ChannelList)
- if len(*channels) != 1 {
- t.Fatal("should return 1 channel")
- }
-
- if (*channels)[0].Name != o6.Name {
- t.Fatal("wrong channel returned")
- }
- }
+ for name, search := range map[string]func(teamId string, term string) store.StoreChannel{
+ "AutocompleteInTeam": ss.Channel().AutocompleteInTeam,
+ "SearchInTeam": ss.Channel().SearchInTeam,
+ } {
+ t.Run(name, func(t *testing.T) {
+ if result := <-search(o1.TeamId, "ChannelA"); result.Err != nil {
+ t.Fatal(result.Err)
+ } else {
+ channels := result.Data.(*model.ChannelList)
+ if len(*channels) != 2 {
+ t.Fatal("wrong length")
+ }
+ }
- /*
- // Disabling this check as it will fail on PostgreSQL as we have "liberalised" channel matching to deal with
- // Full-Text Stemming Limitations.
- if result := <-ss.Channel().SearchMore(m1.
- if result := <-ss.Channel().SearchInTeam(o1.TeamId, "off-topics"); result.Err != nil {
- t.Fatal(result.Err)
- } else {
- channels := result.Data.(*model.ChannelList)
- if len(*channels) != 0 {
- t.Fatal("should be empty")
+ if result := <-search(o1.TeamId, ""); result.Err != nil {
+ t.Fatal(result.Err)
+ } else {
+ channels := result.Data.(*model.ChannelList)
+ if len(*channels) == 0 {
+ t.Fatal("should not be empty")
+ }
}
- }
- */
- if result := <-ss.Channel().SearchInTeam(o1.TeamId, "town square"); result.Err != nil {
- t.Fatal(result.Err)
- } else {
- channels := result.Data.(*model.ChannelList)
- if len(*channels) != 1 {
- t.Fatal("should return 1 channel")
- }
+ if result := <-search(o1.TeamId, "blargh"); result.Err != nil {
+ t.Fatal(result.Err)
+ } else {
+ channels := result.Data.(*model.ChannelList)
+ if len(*channels) != 0 {
+ t.Fatal("should be empty")
+ }
+ }
- if (*channels)[0].Name != o9.Name {
- t.Fatal("wrong channel returned")
- }
- }
+ if result := <-search(o1.TeamId, "off-"); result.Err != nil {
+ t.Fatal(result.Err)
+ } else {
+ channels := result.Data.(*model.ChannelList)
+ if len(*channels) != 2 {
+ t.Fatal("should return 2 channels, not including private channel")
+ }
+
+ if (*channels)[0].Name != o7.Name {
+ t.Fatal("wrong channel returned")
+ }
+
+ if (*channels)[1].Name != o6.Name {
+ t.Fatal("wrong channel returned")
+ }
+ }
- if result := <-ss.Channel().SearchInTeam(o1.TeamId, "the"); result.Err != nil {
- t.Fatal(result.Err)
- } else {
- channels := result.Data.(*model.ChannelList)
- t.Log(channels.ToJson())
- if len(*channels) != 1 {
- t.Fatal("should return 1 channel")
- }
+ if result := <-search(o1.TeamId, "off-topic"); result.Err != nil {
+ t.Fatal(result.Err)
+ } else {
+ channels := result.Data.(*model.ChannelList)
+ if len(*channels) != 1 {
+ t.Fatal("should return 1 channel")
+ }
+
+ if (*channels)[0].Name != o6.Name {
+ t.Fatal("wrong channel returned")
+ }
+ }
- if (*channels)[0].Name != o10.Name {
- t.Fatal("wrong channel returned")
- }
- }
+ if result := <-search(o1.TeamId, "town square"); result.Err != nil {
+ t.Fatal(result.Err)
+ } else {
+ channels := result.Data.(*model.ChannelList)
+ if len(*channels) != 1 {
+ t.Fatal("should return 1 channel")
+ }
+
+ if (*channels)[0].Name != o9.Name {
+ t.Fatal("wrong channel returned")
+ }
+ }
- if result := <-ss.Channel().SearchInTeam(o1.TeamId, "Mobile"); result.Err != nil {
- t.Fatal(result.Err)
- } else {
- channels := result.Data.(*model.ChannelList)
- t.Log(channels.ToJson())
- if len(*channels) != 1 {
- t.Fatal("should return 1 channel")
- }
+ if result := <-search(o1.TeamId, "the"); result.Err != nil {
+ t.Fatal(result.Err)
+ } else {
+ channels := result.Data.(*model.ChannelList)
+ t.Log(channels.ToJson())
+ if len(*channels) != 1 {
+ t.Fatal("should return 1 channel")
+ }
+
+ if (*channels)[0].Name != o10.Name {
+ t.Fatal("wrong channel returned")
+ }
+ }
- if (*channels)[0].Name != o11.Name {
- t.Fatal("wrong channel returned")
- }
+ if result := <-search(o1.TeamId, "Mobile"); result.Err != nil {
+ t.Fatal(result.Err)
+ } else {
+ channels := result.Data.(*model.ChannelList)
+ t.Log(channels.ToJson())
+ if len(*channels) != 1 {
+ t.Fatal("should return 1 channel")
+ }
+
+ if (*channels)[0].Name != o11.Name {
+ t.Fatal("wrong channel returned")
+ }
+ }
+ })
}
}