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  }