github.com/haalcala/mattermost-server-change-repo/v5@v5.33.2/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/stretchr/testify/mock" 11 12 "github.com/mattermost/mattermost-server/v5/model" 13 "github.com/mattermost/mattermost-server/v5/store" 14 "github.com/mattermost/mattermost-server/v5/store/storetest/mocks" 15 ) 16 17 // Store can be used to provide mock stores for testing. 18 type Store struct { 19 TeamStore mocks.TeamStore 20 ChannelStore mocks.ChannelStore 21 PostStore mocks.PostStore 22 UserStore mocks.UserStore 23 BotStore mocks.BotStore 24 AuditStore mocks.AuditStore 25 ClusterDiscoveryStore mocks.ClusterDiscoveryStore 26 ComplianceStore mocks.ComplianceStore 27 SessionStore mocks.SessionStore 28 OAuthStore mocks.OAuthStore 29 SystemStore mocks.SystemStore 30 WebhookStore mocks.WebhookStore 31 CommandStore mocks.CommandStore 32 CommandWebhookStore mocks.CommandWebhookStore 33 PreferenceStore mocks.PreferenceStore 34 LicenseStore mocks.LicenseStore 35 TokenStore mocks.TokenStore 36 EmojiStore mocks.EmojiStore 37 ThreadStore mocks.ThreadStore 38 StatusStore mocks.StatusStore 39 FileInfoStore mocks.FileInfoStore 40 UploadSessionStore mocks.UploadSessionStore 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 TermsOfServiceStore mocks.TermsOfServiceStore 49 GroupStore mocks.GroupStore 50 UserTermsOfServiceStore mocks.UserTermsOfServiceStore 51 LinkMetadataStore mocks.LinkMetadataStore 52 ProductNoticesStore mocks.ProductNoticesStore 53 context context.Context 54 } 55 56 func (s *Store) SetContext(context context.Context) { s.context = context } 57 func (s *Store) Context() context.Context { return s.context } 58 func (s *Store) Team() store.TeamStore { return &s.TeamStore } 59 func (s *Store) Channel() store.ChannelStore { return &s.ChannelStore } 60 func (s *Store) Post() store.PostStore { return &s.PostStore } 61 func (s *Store) User() store.UserStore { return &s.UserStore } 62 func (s *Store) Bot() store.BotStore { return &s.BotStore } 63 func (s *Store) ProductNotices() store.ProductNoticesStore { return &s.ProductNoticesStore } 64 func (s *Store) Audit() store.AuditStore { return &s.AuditStore } 65 func (s *Store) ClusterDiscovery() store.ClusterDiscoveryStore { return &s.ClusterDiscoveryStore } 66 func (s *Store) Compliance() store.ComplianceStore { return &s.ComplianceStore } 67 func (s *Store) Session() store.SessionStore { return &s.SessionStore } 68 func (s *Store) OAuth() store.OAuthStore { return &s.OAuthStore } 69 func (s *Store) System() store.SystemStore { return &s.SystemStore } 70 func (s *Store) Webhook() store.WebhookStore { return &s.WebhookStore } 71 func (s *Store) Command() store.CommandStore { return &s.CommandStore } 72 func (s *Store) CommandWebhook() store.CommandWebhookStore { return &s.CommandWebhookStore } 73 func (s *Store) Preference() store.PreferenceStore { return &s.PreferenceStore } 74 func (s *Store) License() store.LicenseStore { return &s.LicenseStore } 75 func (s *Store) Token() store.TokenStore { return &s.TokenStore } 76 func (s *Store) Emoji() store.EmojiStore { return &s.EmojiStore } 77 func (s *Store) Thread() store.ThreadStore { return &s.ThreadStore } 78 func (s *Store) Status() store.StatusStore { return &s.StatusStore } 79 func (s *Store) FileInfo() store.FileInfoStore { return &s.FileInfoStore } 80 func (s *Store) UploadSession() store.UploadSessionStore { return &s.UploadSessionStore } 81 func (s *Store) Reaction() store.ReactionStore { return &s.ReactionStore } 82 func (s *Store) Job() store.JobStore { return &s.JobStore } 83 func (s *Store) UserAccessToken() store.UserAccessTokenStore { return &s.UserAccessTokenStore } 84 func (s *Store) Plugin() store.PluginStore { return &s.PluginStore } 85 func (s *Store) Role() store.RoleStore { return &s.RoleStore } 86 func (s *Store) Scheme() store.SchemeStore { return &s.SchemeStore } 87 func (s *Store) TermsOfService() store.TermsOfServiceStore { return &s.TermsOfServiceStore } 88 func (s *Store) UserTermsOfService() store.UserTermsOfServiceStore { return &s.UserTermsOfServiceStore } 89 func (s *Store) ChannelMemberHistory() store.ChannelMemberHistoryStore { 90 return &s.ChannelMemberHistoryStore 91 } 92 func (s *Store) Group() store.GroupStore { return &s.GroupStore } 93 func (s *Store) LinkMetadata() store.LinkMetadataStore { return &s.LinkMetadataStore } 94 func (s *Store) MarkSystemRanUnitTests() { /* do nothing */ } 95 func (s *Store) Close() { /* do nothing */ } 96 func (s *Store) LockToMaster() { /* do nothing */ } 97 func (s *Store) UnlockFromMaster() { /* do nothing */ } 98 func (s *Store) DropAllTables() { /* do nothing */ } 99 func (s *Store) GetDbVersion(bool) (string, error) { return "", nil } 100 func (s *Store) RecycleDBConnections(time.Duration) {} 101 func (s *Store) TotalMasterDbConnections() int { return 1 } 102 func (s *Store) TotalReadDbConnections() int { return 1 } 103 func (s *Store) TotalSearchDbConnections() int { return 1 } 104 func (s *Store) GetCurrentSchemaVersion() string { return "" } 105 func (s *Store) CheckIntegrity() <-chan model.IntegrityCheckResult { 106 return make(chan model.IntegrityCheckResult) 107 } 108 109 func (s *Store) AssertExpectations(t mock.TestingT) bool { 110 return mock.AssertExpectationsForObjects(t, 111 &s.TeamStore, 112 &s.ChannelStore, 113 &s.PostStore, 114 &s.UserStore, 115 &s.BotStore, 116 &s.AuditStore, 117 &s.ClusterDiscoveryStore, 118 &s.ComplianceStore, 119 &s.SessionStore, 120 &s.OAuthStore, 121 &s.SystemStore, 122 &s.WebhookStore, 123 &s.CommandStore, 124 &s.CommandWebhookStore, 125 &s.PreferenceStore, 126 &s.LicenseStore, 127 &s.TokenStore, 128 &s.EmojiStore, 129 &s.StatusStore, 130 &s.FileInfoStore, 131 &s.UploadSessionStore, 132 &s.ReactionStore, 133 &s.JobStore, 134 &s.UserAccessTokenStore, 135 &s.ChannelMemberHistoryStore, 136 &s.PluginStore, 137 &s.RoleStore, 138 &s.SchemeStore, 139 &s.ThreadStore, 140 &s.ProductNoticesStore, 141 ) 142 }