github.com/mad-app/mattermost-server@v5.11.1+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 BotStore mocks.BotStore 27 AuditStore mocks.AuditStore 28 ClusterDiscoveryStore mocks.ClusterDiscoveryStore 29 ComplianceStore mocks.ComplianceStore 30 SessionStore mocks.SessionStore 31 OAuthStore mocks.OAuthStore 32 SystemStore mocks.SystemStore 33 WebhookStore mocks.WebhookStore 34 CommandStore mocks.CommandStore 35 CommandWebhookStore mocks.CommandWebhookStore 36 PreferenceStore mocks.PreferenceStore 37 LicenseStore mocks.LicenseStore 38 TokenStore mocks.TokenStore 39 EmojiStore mocks.EmojiStore 40 StatusStore mocks.StatusStore 41 FileInfoStore mocks.FileInfoStore 42 ReactionStore mocks.ReactionStore 43 JobStore mocks.JobStore 44 UserAccessTokenStore mocks.UserAccessTokenStore 45 PluginStore mocks.PluginStore 46 ChannelMemberHistoryStore mocks.ChannelMemberHistoryStore 47 RoleStore mocks.RoleStore 48 SchemeStore mocks.SchemeStore 49 TermsOfServiceStore mocks.TermsOfServiceStore 50 GroupStore mocks.GroupStore 51 UserTermsOfServiceStore mocks.UserTermsOfServiceStore 52 LinkMetadataStore mocks.LinkMetadataStore 53 } 54 55 func (s *Store) Team() store.TeamStore { return &s.TeamStore } 56 func (s *Store) Channel() store.ChannelStore { return &s.ChannelStore } 57 func (s *Store) Post() store.PostStore { return &s.PostStore } 58 func (s *Store) User() store.UserStore { return &s.UserStore } 59 func (s *Store) Bot() store.BotStore { return &s.BotStore } 60 func (s *Store) Audit() store.AuditStore { return &s.AuditStore } 61 func (s *Store) ClusterDiscovery() store.ClusterDiscoveryStore { return &s.ClusterDiscoveryStore } 62 func (s *Store) Compliance() store.ComplianceStore { return &s.ComplianceStore } 63 func (s *Store) Session() store.SessionStore { return &s.SessionStore } 64 func (s *Store) OAuth() store.OAuthStore { return &s.OAuthStore } 65 func (s *Store) System() store.SystemStore { return &s.SystemStore } 66 func (s *Store) Webhook() store.WebhookStore { return &s.WebhookStore } 67 func (s *Store) Command() store.CommandStore { return &s.CommandStore } 68 func (s *Store) CommandWebhook() store.CommandWebhookStore { return &s.CommandWebhookStore } 69 func (s *Store) Preference() store.PreferenceStore { return &s.PreferenceStore } 70 func (s *Store) License() store.LicenseStore { return &s.LicenseStore } 71 func (s *Store) Token() store.TokenStore { return &s.TokenStore } 72 func (s *Store) Emoji() store.EmojiStore { return &s.EmojiStore } 73 func (s *Store) Status() store.StatusStore { return &s.StatusStore } 74 func (s *Store) FileInfo() store.FileInfoStore { return &s.FileInfoStore } 75 func (s *Store) Reaction() store.ReactionStore { return &s.ReactionStore } 76 func (s *Store) Job() store.JobStore { return &s.JobStore } 77 func (s *Store) UserAccessToken() store.UserAccessTokenStore { return &s.UserAccessTokenStore } 78 func (s *Store) Plugin() store.PluginStore { return &s.PluginStore } 79 func (s *Store) Role() store.RoleStore { return &s.RoleStore } 80 func (s *Store) Scheme() store.SchemeStore { return &s.SchemeStore } 81 func (s *Store) TermsOfService() store.TermsOfServiceStore { return &s.TermsOfServiceStore } 82 func (s *Store) UserTermsOfService() store.UserTermsOfServiceStore { return &s.UserTermsOfServiceStore } 83 func (s *Store) ChannelMemberHistory() store.ChannelMemberHistoryStore { 84 return &s.ChannelMemberHistoryStore 85 } 86 func (s *Store) Group() store.GroupStore { return &s.GroupStore } 87 func (s *Store) LinkMetadata() store.LinkMetadataStore { return &s.LinkMetadataStore } 88 func (s *Store) MarkSystemRanUnitTests() { /* do nothing */ } 89 func (s *Store) Close() { /* do nothing */ } 90 func (s *Store) LockToMaster() { /* do nothing */ } 91 func (s *Store) UnlockFromMaster() { /* do nothing */ } 92 func (s *Store) DropAllTables() { /* do nothing */ } 93 func (s *Store) TotalMasterDbConnections() int { return 1 } 94 func (s *Store) TotalReadDbConnections() int { return 1 } 95 func (s *Store) TotalSearchDbConnections() int { return 1 } 96 97 func (s *Store) AssertExpectations(t mock.TestingT) bool { 98 return mock.AssertExpectationsForObjects(t, 99 &s.TeamStore, 100 &s.ChannelStore, 101 &s.PostStore, 102 &s.UserStore, 103 &s.BotStore, 104 &s.AuditStore, 105 &s.ClusterDiscoveryStore, 106 &s.ComplianceStore, 107 &s.SessionStore, 108 &s.OAuthStore, 109 &s.SystemStore, 110 &s.WebhookStore, 111 &s.CommandStore, 112 &s.CommandWebhookStore, 113 &s.PreferenceStore, 114 &s.LicenseStore, 115 &s.TokenStore, 116 &s.EmojiStore, 117 &s.StatusStore, 118 &s.FileInfoStore, 119 &s.ReactionStore, 120 &s.JobStore, 121 &s.UserAccessTokenStore, 122 &s.ChannelMemberHistoryStore, 123 &s.PluginStore, 124 &s.RoleStore, 125 &s.SchemeStore, 126 ) 127 }