github.com/vnforks/kid@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  }