github.com/qichengzx/mattermost-server@v4.5.1-0.20180604164826-2c75247c97d0+incompatible/store/storetest/store.go (about) 1 // Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. 2 // See License.txt for license information. 3 4 package storetest 5 6 import ( 7 "github.com/stretchr/testify/mock" 8 9 "github.com/mattermost/mattermost-server/store" 10 "github.com/mattermost/mattermost-server/store/storetest/mocks" 11 ) 12 13 // NewStoreChannel returns a channel that will receive the given result. 14 func NewStoreChannel(result store.StoreResult) store.StoreChannel { 15 ch := make(store.StoreChannel, 1) 16 ch <- result 17 return ch 18 } 19 20 // Store can be used to provide mock stores for testing. 21 type Store struct { 22 TeamStore mocks.TeamStore 23 ChannelStore mocks.ChannelStore 24 PostStore mocks.PostStore 25 UserStore mocks.UserStore 26 AuditStore mocks.AuditStore 27 ClusterDiscoveryStore mocks.ClusterDiscoveryStore 28 ComplianceStore mocks.ComplianceStore 29 SessionStore mocks.SessionStore 30 OAuthStore mocks.OAuthStore 31 SystemStore mocks.SystemStore 32 WebhookStore mocks.WebhookStore 33 CommandStore mocks.CommandStore 34 CommandWebhookStore mocks.CommandWebhookStore 35 PreferenceStore mocks.PreferenceStore 36 LicenseStore mocks.LicenseStore 37 TokenStore mocks.TokenStore 38 EmojiStore mocks.EmojiStore 39 StatusStore mocks.StatusStore 40 FileInfoStore mocks.FileInfoStore 41 ReactionStore mocks.ReactionStore 42 JobStore mocks.JobStore 43 UserAccessTokenStore mocks.UserAccessTokenStore 44 PluginStore mocks.PluginStore 45 ChannelMemberHistoryStore mocks.ChannelMemberHistoryStore 46 RoleStore mocks.RoleStore 47 SchemeStore mocks.SchemeStore 48 } 49 50 func (s *Store) Team() store.TeamStore { return &s.TeamStore } 51 func (s *Store) Channel() store.ChannelStore { return &s.ChannelStore } 52 func (s *Store) Post() store.PostStore { return &s.PostStore } 53 func (s *Store) User() store.UserStore { return &s.UserStore } 54 func (s *Store) Audit() store.AuditStore { return &s.AuditStore } 55 func (s *Store) ClusterDiscovery() store.ClusterDiscoveryStore { return &s.ClusterDiscoveryStore } 56 func (s *Store) Compliance() store.ComplianceStore { return &s.ComplianceStore } 57 func (s *Store) Session() store.SessionStore { return &s.SessionStore } 58 func (s *Store) OAuth() store.OAuthStore { return &s.OAuthStore } 59 func (s *Store) System() store.SystemStore { return &s.SystemStore } 60 func (s *Store) Webhook() store.WebhookStore { return &s.WebhookStore } 61 func (s *Store) Command() store.CommandStore { return &s.CommandStore } 62 func (s *Store) CommandWebhook() store.CommandWebhookStore { return &s.CommandWebhookStore } 63 func (s *Store) Preference() store.PreferenceStore { return &s.PreferenceStore } 64 func (s *Store) License() store.LicenseStore { return &s.LicenseStore } 65 func (s *Store) Token() store.TokenStore { return &s.TokenStore } 66 func (s *Store) Emoji() store.EmojiStore { return &s.EmojiStore } 67 func (s *Store) Status() store.StatusStore { return &s.StatusStore } 68 func (s *Store) FileInfo() store.FileInfoStore { return &s.FileInfoStore } 69 func (s *Store) Reaction() store.ReactionStore { return &s.ReactionStore } 70 func (s *Store) Job() store.JobStore { return &s.JobStore } 71 func (s *Store) UserAccessToken() store.UserAccessTokenStore { return &s.UserAccessTokenStore } 72 func (s *Store) Plugin() store.PluginStore { return &s.PluginStore } 73 func (s *Store) Role() store.RoleStore { return &s.RoleStore } 74 func (s *Store) Scheme() store.SchemeStore { return &s.SchemeStore } 75 func (s *Store) ChannelMemberHistory() store.ChannelMemberHistoryStore { 76 return &s.ChannelMemberHistoryStore 77 } 78 func (s *Store) MarkSystemRanUnitTests() { /* do nothing */ } 79 func (s *Store) Close() { /* do nothing */ } 80 func (s *Store) DropAllTables() { /* do nothing */ } 81 func (s *Store) TotalMasterDbConnections() int { return 1 } 82 func (s *Store) TotalReadDbConnections() int { return 1 } 83 func (s *Store) TotalSearchDbConnections() int { return 1 } 84 85 func (s *Store) AssertExpectations(t mock.TestingT) bool { 86 return mock.AssertExpectationsForObjects(t, 87 &s.TeamStore, 88 &s.ChannelStore, 89 &s.PostStore, 90 &s.UserStore, 91 &s.AuditStore, 92 &s.ClusterDiscoveryStore, 93 &s.ComplianceStore, 94 &s.SessionStore, 95 &s.OAuthStore, 96 &s.SystemStore, 97 &s.WebhookStore, 98 &s.CommandStore, 99 &s.CommandWebhookStore, 100 &s.PreferenceStore, 101 &s.LicenseStore, 102 &s.TokenStore, 103 &s.EmojiStore, 104 &s.StatusStore, 105 &s.FileInfoStore, 106 &s.ReactionStore, 107 &s.JobStore, 108 &s.UserAccessTokenStore, 109 &s.ChannelMemberHistoryStore, 110 &s.PluginStore, 111 &s.RoleStore, 112 &s.SchemeStore, 113 ) 114 }