github.com/masterhung0112/hk_server/v5@v5.0.0-20220302090640-ec71aef15e1c/store/storetest/mockstore/store.go (about)

     1  // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
     2  // See LICENSE.txt for license information.
     3  
     4  package mockstore
     5  
     6  import (
     7  	"context"
     8  	"time"
     9  
    10  	"github.com/stretchr/testify/mock"
    11  
    12  	"github.com/masterhung0112/hk_server/v5/model"
    13  	"github.com/masterhung0112/hk_server/v5/store"
    14  	"github.com/masterhung0112/hk_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  	RetentionPolicyStore      mocks.RetentionPolicyStore
    24  	BotStore                  mocks.BotStore
    25  	AuditStore                mocks.AuditStore
    26  	ClusterDiscoveryStore     mocks.ClusterDiscoveryStore
    27  	RemoteClusterStore        mocks.RemoteClusterStore
    28  	ComplianceStore           mocks.ComplianceStore
    29  	SessionStore              mocks.SessionStore
    30  	OAuthStore                mocks.OAuthStore
    31  	SystemStore               mocks.SystemStore
    32  	WebhookStore              mocks.WebhookStore
    33  	CommandStore              mocks.CommandStore
    34  	CommandWebhookStore       mocks.CommandWebhookStore
    35  	PreferenceStore           mocks.PreferenceStore
    36  	LicenseStore              mocks.LicenseStore
    37  	TokenStore                mocks.TokenStore
    38  	EmojiStore                mocks.EmojiStore
    39  	ThreadStore               mocks.ThreadStore
    40  	StatusStore               mocks.StatusStore
    41  	FileInfoStore             mocks.FileInfoStore
    42  	UploadSessionStore        mocks.UploadSessionStore
    43  	ReactionStore             mocks.ReactionStore
    44  	JobStore                  mocks.JobStore
    45  	UserAccessTokenStore      mocks.UserAccessTokenStore
    46  	PluginStore               mocks.PluginStore
    47  	ChannelMemberHistoryStore mocks.ChannelMemberHistoryStore
    48  	RoleStore                 mocks.RoleStore
    49  	SchemeStore               mocks.SchemeStore
    50  	TermsOfServiceStore       mocks.TermsOfServiceStore
    51  	GroupStore                mocks.GroupStore
    52  	UserTermsOfServiceStore   mocks.UserTermsOfServiceStore
    53  	LinkMetadataStore         mocks.LinkMetadataStore
    54  	SharedChannelStore        mocks.SharedChannelStore
    55  	ProductNoticesStore       mocks.ProductNoticesStore
    56  	TrackPointStore           mocks.TrackPointStore
    57  	TrackRecordStore          mocks.TrackRecordStore
    58  	context                   context.Context
    59  }
    60  
    61  func (s *Store) SetContext(context context.Context)            { s.context = context }
    62  func (s *Store) Context() context.Context                      { return s.context }
    63  func (s *Store) Team() store.TeamStore                         { return &s.TeamStore }
    64  func (s *Store) Channel() store.ChannelStore                   { return &s.ChannelStore }
    65  func (s *Store) Post() store.PostStore                         { return &s.PostStore }
    66  func (s *Store) User() store.UserStore                         { return &s.UserStore }
    67  func (s *Store) RetentionPolicy() store.RetentionPolicyStore   { return &s.RetentionPolicyStore }
    68  func (s *Store) Bot() store.BotStore                           { return &s.BotStore }
    69  func (s *Store) ProductNotices() store.ProductNoticesStore     { return &s.ProductNoticesStore }
    70  func (s *Store) Audit() store.AuditStore                       { return &s.AuditStore }
    71  func (s *Store) ClusterDiscovery() store.ClusterDiscoveryStore { return &s.ClusterDiscoveryStore }
    72  func (s *Store) RemoteCluster() store.RemoteClusterStore       { return &s.RemoteClusterStore }
    73  func (s *Store) Compliance() store.ComplianceStore             { return &s.ComplianceStore }
    74  func (s *Store) Session() store.SessionStore                   { return &s.SessionStore }
    75  func (s *Store) OAuth() store.OAuthStore                       { return &s.OAuthStore }
    76  func (s *Store) System() store.SystemStore                     { return &s.SystemStore }
    77  func (s *Store) Webhook() store.WebhookStore                   { return &s.WebhookStore }
    78  func (s *Store) Command() store.CommandStore                   { return &s.CommandStore }
    79  func (s *Store) CommandWebhook() store.CommandWebhookStore     { return &s.CommandWebhookStore }
    80  func (s *Store) Preference() store.PreferenceStore             { return &s.PreferenceStore }
    81  func (s *Store) License() store.LicenseStore                   { return &s.LicenseStore }
    82  func (s *Store) Token() store.TokenStore                       { return &s.TokenStore }
    83  func (s *Store) Emoji() store.EmojiStore                       { return &s.EmojiStore }
    84  func (s *Store) Thread() store.ThreadStore                     { return &s.ThreadStore }
    85  func (s *Store) Status() store.StatusStore                     { return &s.StatusStore }
    86  func (s *Store) FileInfo() store.FileInfoStore                 { return &s.FileInfoStore }
    87  func (s *Store) UploadSession() store.UploadSessionStore       { return &s.UploadSessionStore }
    88  func (s *Store) Reaction() store.ReactionStore                 { return &s.ReactionStore }
    89  func (s *Store) Job() store.JobStore                           { return &s.JobStore }
    90  func (s *Store) UserAccessToken() store.UserAccessTokenStore   { return &s.UserAccessTokenStore }
    91  func (s *Store) Plugin() store.PluginStore                     { return &s.PluginStore }
    92  func (s *Store) Role() store.RoleStore                         { return &s.RoleStore }
    93  func (s *Store) Scheme() store.SchemeStore                     { return &s.SchemeStore }
    94  func (s *Store) TrackPoint() store.TrackPointStore             { return &s.TrackPointStore }
    95  func (s *Store) TrackRecord() store.TrackRecordStore           { return &s.TrackRecordStore }
    96  func (s *Store) ChannelMemberHistory() store.ChannelMemberHistoryStore {
    97  	return &s.ChannelMemberHistoryStore
    98  }
    99  func (s *Store) Group() store.GroupStore                           { return &s.GroupStore }
   100  func (s *Store) LinkMetadata() store.LinkMetadataStore             { return &s.LinkMetadataStore }
   101  func (s *Store) SharedChannel() store.SharedChannelStore           { return &s.SharedChannelStore }
   102  func (s *Store) TermsOfService() store.TermsOfServiceStore         { return &s.TermsOfServiceStore }
   103  func (s *Store) UserTermsOfService() store.UserTermsOfServiceStore { return &s.UserTermsOfServiceStore }
   104  func (s *Store) MarkSystemRanUnitTests()                           { /* do nothing */ }
   105  func (s *Store) Close()                                            { /* do nothing */ }
   106  func (s *Store) LockToMaster()                                     { /* do nothing */ }
   107  func (s *Store) UnlockFromMaster()                                 { /* do nothing */ }
   108  func (s *Store) DropAllTables()                                    { /* do nothing */ }
   109  func (s *Store) GetDbVersion(bool) (string, error)                 { return "", nil }
   110  func (s *Store) RecycleDBConnections(time.Duration)                {}
   111  func (s *Store) TotalMasterDbConnections() int                     { return 1 }
   112  func (s *Store) TotalReadDbConnections() int                       { return 1 }
   113  func (s *Store) TotalSearchDbConnections() int                     { return 1 }
   114  func (s *Store) GetCurrentSchemaVersion() string                   { return "" }
   115  func (s *Store) CheckIntegrity() <-chan model.IntegrityCheckResult {
   116  	return make(chan model.IntegrityCheckResult)
   117  }
   118  func (s *Store) ReplicaLagAbs() error  { return nil }
   119  func (s *Store) ReplicaLagTime() error { return nil }
   120  
   121  func (s *Store) AssertExpectations(t mock.TestingT) bool {
   122  	return mock.AssertExpectationsForObjects(t,
   123  		&s.TeamStore,
   124  		&s.ChannelStore,
   125  		&s.PostStore,
   126  		&s.UserStore,
   127  		&s.BotStore,
   128  		&s.AuditStore,
   129  		&s.ClusterDiscoveryStore,
   130  		&s.RemoteClusterStore,
   131  		&s.ComplianceStore,
   132  		&s.SessionStore,
   133  		&s.OAuthStore,
   134  		&s.SystemStore,
   135  		&s.WebhookStore,
   136  		&s.CommandStore,
   137  		&s.CommandWebhookStore,
   138  		&s.PreferenceStore,
   139  		&s.LicenseStore,
   140  		&s.TokenStore,
   141  		&s.EmojiStore,
   142  		&s.StatusStore,
   143  		&s.FileInfoStore,
   144  		&s.UploadSessionStore,
   145  		&s.ReactionStore,
   146  		&s.JobStore,
   147  		&s.UserAccessTokenStore,
   148  		&s.ChannelMemberHistoryStore,
   149  		&s.PluginStore,
   150  		&s.RoleStore,
   151  		&s.SchemeStore,
   152  		&s.ThreadStore,
   153  		&s.ProductNoticesStore,
   154  		&s.SharedChannelStore,
   155  		&s.TrackPointStore,
   156  		&s.TrackRecordStore,
   157  	)
   158  }