diff options
Diffstat (limited to 'src/mongo/db/auth/authz_manager_external_state_mock.h')
-rw-r--r-- | src/mongo/db/auth/authz_manager_external_state_mock.h | 151 |
1 files changed, 75 insertions, 76 deletions
diff --git a/src/mongo/db/auth/authz_manager_external_state_mock.h b/src/mongo/db/auth/authz_manager_external_state_mock.h index 43f3abb2546..d6b457e0de9 100644 --- a/src/mongo/db/auth/authz_manager_external_state_mock.h +++ b/src/mongo/db/auth/authz_manager_external_state_mock.h @@ -42,88 +42,87 @@ namespace mongo { - class AuthorizationManager; +class AuthorizationManager; - /** - * Mock of the AuthzManagerExternalState class used only for testing. - */ - class AuthzManagerExternalStateMock : public AuthzManagerExternalStateLocal { - MONGO_DISALLOW_COPYING(AuthzManagerExternalStateMock); +/** + * Mock of the AuthzManagerExternalState class used only for testing. + */ +class AuthzManagerExternalStateMock : public AuthzManagerExternalStateLocal { + MONGO_DISALLOW_COPYING(AuthzManagerExternalStateMock); - public: +public: + AuthzManagerExternalStateMock(); + virtual ~AuthzManagerExternalStateMock(); - AuthzManagerExternalStateMock(); - virtual ~AuthzManagerExternalStateMock(); + void setAuthorizationManager(AuthorizationManager* authzManager); + void setAuthzVersion(int version); - void setAuthorizationManager(AuthorizationManager* authzManager); - void setAuthzVersion(int version); + std::unique_ptr<AuthzSessionExternalState> makeAuthzSessionExternalState( + AuthorizationManager* authzManager) override; - std::unique_ptr<AuthzSessionExternalState> makeAuthzSessionExternalState( - AuthorizationManager* authzManager) override; + virtual Status findOne(OperationContext* txn, + const NamespaceString& collectionName, + const BSONObj& query, + BSONObj* result); - virtual Status findOne(OperationContext* txn, - const NamespaceString& collectionName, - const BSONObj& query, - BSONObj* result); + virtual Status query(OperationContext* txn, + const NamespaceString& collectionName, + const BSONObj& query, + const BSONObj& projection, // Currently unused in mock + const stdx::function<void(const BSONObj&)>& resultProcessor); - virtual Status query(OperationContext* txn, + /** + * Inserts the given user object into the "admin" database. + */ + Status insertPrivilegeDocument(OperationContext* txn, + const BSONObj& userObj, + const BSONObj& writeConcern); + + // This implementation does not understand uniqueness constraints. + virtual Status insert(OperationContext* txn, + const NamespaceString& collectionName, + const BSONObj& document, + const BSONObj& writeConcern); + + // This implementation does not understand uniqueness constraints, ignores writeConcern, + // and only correctly handles some upsert behaviors. + virtual Status updateOne(OperationContext* txn, const NamespaceString& collectionName, const BSONObj& query, - const BSONObj& projection, // Currently unused in mock - const stdx::function<void(const BSONObj&)>& resultProcessor); - - /** - * Inserts the given user object into the "admin" database. - */ - Status insertPrivilegeDocument(OperationContext* txn, - const BSONObj& userObj, - const BSONObj& writeConcern); - - // This implementation does not understand uniqueness constraints. - virtual Status insert(OperationContext* txn, - const NamespaceString& collectionName, - const BSONObj& document, - const BSONObj& writeConcern); - - // This implementation does not understand uniqueness constraints, ignores writeConcern, - // and only correctly handles some upsert behaviors. - virtual Status updateOne(OperationContext* txn, - const NamespaceString& collectionName, - const BSONObj& query, - const BSONObj& updatePattern, - bool upsert, - const BSONObj& writeConcern); - virtual Status update(OperationContext* txn, - const NamespaceString& collectionName, - const BSONObj& query, - const BSONObj& updatePattern, - bool upsert, - bool multi, - const BSONObj& writeConcern, - int* nMatched); - virtual Status remove(OperationContext* txn, - const NamespaceString& collectionName, - const BSONObj& query, - const BSONObj& writeConcern, - int* numRemoved); - - std::vector<BSONObj> getCollectionContents(const NamespaceString& collectionName); - - private: - typedef std::vector<BSONObj> BSONObjCollection; - typedef std::map<NamespaceString, BSONObjCollection> NamespaceDocumentMap; - - Status _findOneIter(const NamespaceString& collectionName, - const BSONObj& query, - BSONObjCollection::iterator* result); - - Status _queryVector(const NamespaceString& collectionName, - const BSONObj& query, - std::vector<BSONObjCollection::iterator>* result); - - - AuthorizationManager* _authzManager; // For reporting logOps. - NamespaceDocumentMap _documents; // Mock database. - }; - -} // namespace mongo + const BSONObj& updatePattern, + bool upsert, + const BSONObj& writeConcern); + virtual Status update(OperationContext* txn, + const NamespaceString& collectionName, + const BSONObj& query, + const BSONObj& updatePattern, + bool upsert, + bool multi, + const BSONObj& writeConcern, + int* nMatched); + virtual Status remove(OperationContext* txn, + const NamespaceString& collectionName, + const BSONObj& query, + const BSONObj& writeConcern, + int* numRemoved); + + std::vector<BSONObj> getCollectionContents(const NamespaceString& collectionName); + +private: + typedef std::vector<BSONObj> BSONObjCollection; + typedef std::map<NamespaceString, BSONObjCollection> NamespaceDocumentMap; + + Status _findOneIter(const NamespaceString& collectionName, + const BSONObj& query, + BSONObjCollection::iterator* result); + + Status _queryVector(const NamespaceString& collectionName, + const BSONObj& query, + std::vector<BSONObjCollection::iterator>* result); + + + AuthorizationManager* _authzManager; // For reporting logOps. + NamespaceDocumentMap _documents; // Mock database. +}; + +} // namespace mongo |