github.com/mattermosttest/mattermost-server/v5@v5.0.0-20200917143240-9dfa12e121f9/store/storetest/store.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See LICENSE.txt for license information. 3 4 package storetest 5 6 import ( 7 "context" 8 "time" 9 10 "github.com/mattermost/mattermost-server/v5/model" 11 "github.com/mattermost/mattermost-server/v5/store" 12 "github.com/mattermost/mattermost-server/v5/store/storetest/mocks" 13 "github.com/stretchr/testify/mock" 14 ) 15 16 // Store can be used to provide mock stores for testing. 17 type Store struct { 18 TeamStore mocks.TeamStore 19 ChannelStore mocks.ChannelStore 20 PostStore mocks.PostStore 21 UserStore mocks.UserStore 22 BotStore mocks.BotStore 23 AuditStore mocks.AuditStore 24 ClusterDiscoveryStore mocks.ClusterDiscoveryStore 25 ComplianceStore mocks.ComplianceStore 26 SessionStore mocks.SessionStore 27 OAuthStore mocks.OAuthStore 28 SystemStore mocks.SystemStore 29 WebhookStore mocks.WebhookStore 30 CommandStore mocks.CommandStore 31 CommandWebhookStore mocks.CommandWebhookStore 32 PreferenceStore mocks.PreferenceStore 33 LicenseStore mocks.LicenseStore 34 TokenStore mocks.TokenStore 35 EmojiStore mocks.EmojiStore 36 StatusStore mocks.StatusStore 37 FileInfoStore mocks.FileInfoStore 38 ReactionStore mocks.ReactionStore 39 JobStore mocks.JobStore 40 UserAccessTokenStore mocks.UserAccessTokenStore 41 PluginStore mocks.PluginStore 42 ChannelMemberHistoryStore mocks.ChannelMemberHistoryStore 43 RoleStore mocks.RoleStore 44 SchemeStore mocks.SchemeStore 45 TermsOfServiceStore mocks.TermsOfServiceStore 46 GroupStore mocks.GroupStore 47 UserTermsOfServiceStore mocks.UserTermsOfServiceStore 48 LinkMetadataStore mocks.LinkMetadataStore 49 context context.Context 50 } 51 52 func (s *Store) SetContext(context context.Context) { s.context = context } 53 func (s *Store) Context() context.Context { return s.context } 54 func (s *Store) Team() store.TeamStore { return &s.TeamStore } 55 func (s *Store) Channel() store.ChannelStore { return &s.ChannelStore } 56 func (s *Store) Post() store.PostStore { return &s.PostStore } 57 func (s *Store) User() store.UserStore { return &s.UserStore } 58 func (s *Store) Bot() store.BotStore { return &s.BotStore } 59 func (s *Store) Audit() store.AuditStore { return &s.AuditStore } 60 func (s *Store) ClusterDiscovery() store.ClusterDiscoveryStore { return &s.ClusterDiscoveryStore } 61 func (s *Store) Compliance() store.ComplianceStore { return &s.ComplianceStore } 62 func (s *Store) Session() store.SessionStore { return &s.SessionStore } 63 func (s *Store) OAuth() store.OAuthStore { return &s.OAuthStore } 64 func (s *Store) System() store.SystemStore { return &s.SystemStore } 65 func (s *Store) Webhook() store.WebhookStore { return &s.WebhookStore } 66 func (s *Store) Command() store.CommandStore { return &s.CommandStore } 67 func (s *Store) CommandWebhook() store.CommandWebhookStore { return &s.CommandWebhookStore } 68 func (s *Store) Preference() store.PreferenceStore { return &s.PreferenceStore } 69 func (s *Store) License() store.LicenseStore { return &s.LicenseStore } 70 func (s *Store) Token() store.TokenStore { return &s.TokenStore } 71 func (s *Store) Emoji() store.EmojiStore { return &s.EmojiStore } 72 func (s *Store) Status() store.StatusStore { return &s.StatusStore } 73 func (s *Store) FileInfo() store.FileInfoStore { return &s.FileInfoStore } 74 func (s *Store) Reaction() store.ReactionStore { return &s.ReactionStore } 75 func (s *Store) Job() store.JobStore { return &s.JobStore } 76 func (s *Store) UserAccessToken() store.UserAccessTokenStore { return &s.UserAccessTokenStore } 77 func (s *Store) Plugin() store.PluginStore { return &s.PluginStore } 78 func (s *Store) Role() store.RoleStore { return &s.RoleStore } 79 func (s *Store) Scheme() store.SchemeStore { return &s.SchemeStore } 80 func (s *Store) TermsOfService() store.TermsOfServiceStore { return &s.TermsOfServiceStore } 81 func (s *Store) UserTermsOfService() store.UserTermsOfServiceStore { return &s.UserTermsOfServiceStore } 82 func (s *Store) ChannelMemberHistory() store.ChannelMemberHistoryStore { 83 return &s.ChannelMemberHistoryStore 84 } 85 func (s *Store) Group() store.GroupStore { return &s.GroupStore } 86 func (s *Store) LinkMetadata() store.LinkMetadataStore { return &s.LinkMetadataStore } 87 func (s *Store) MarkSystemRanUnitTests() { /* do nothing */ } 88 func (s *Store) Close() { /* do nothing */ } 89 func (s *Store) LockToMaster() { /* do nothing */ } 90 func (s *Store) UnlockFromMaster() { /* do nothing */ } 91 func (s *Store) DropAllTables() { /* do nothing */ } 92 func (s *Store) GetDbVersion() (string, error) { return "", nil } 93 func (s *Store) RecycleDBConnections(time.Duration) {} 94 func (s *Store) TotalMasterDbConnections() int { return 1 } 95 func (s *Store) TotalReadDbConnections() int { return 1 } 96 func (s *Store) TotalSearchDbConnections() int { return 1 } 97 func (s *Store) GetCurrentSchemaVersion() string { return "" } 98 func (s *Store) CheckIntegrity() <-chan model.IntegrityCheckResult { 99 return make(chan model.IntegrityCheckResult) 100 } 101 102 func (s *Store) AssertExpectations(t mock.TestingT) bool { 103 return mock.AssertExpectationsForObjects(t, 104 &s.TeamStore, 105 &s.ChannelStore, 106 &s.PostStore, 107 &s.UserStore, 108 &s.BotStore, 109 &s.AuditStore, 110 &s.ClusterDiscoveryStore, 111 &s.ComplianceStore, 112 &s.SessionStore, 113 &s.OAuthStore, 114 &s.SystemStore, 115 &s.WebhookStore, 116 &s.CommandStore, 117 &s.CommandWebhookStore, 118 &s.PreferenceStore, 119 &s.LicenseStore, 120 &s.TokenStore, 121 &s.EmojiStore, 122 &s.StatusStore, 123 &s.FileInfoStore, 124 &s.ReactionStore, 125 &s.JobStore, 126 &s.UserAccessTokenStore, 127 &s.ChannelMemberHistoryStore, 128 &s.PluginStore, 129 &s.RoleStore, 130 &s.SchemeStore, 131 ) 132 }