summaryrefslogtreecommitdiff
path: root/src/mongo/db/auth/authz_session_external_state_mock.h
diff options
context:
space:
mode:
authorSpencer T Brody <spencer@10gen.com>2013-05-30 17:00:12 -0400
committerSpencer T Brody <spencer@10gen.com>2013-05-31 17:17:06 -0400
commited8e8bde125c38db215e1fe5dfbdc2ad560ced4e (patch)
tree38a1489661827fede6b525ff43cff158a9f1e174 /src/mongo/db/auth/authz_session_external_state_mock.h
parent0f97e5ee12313038cc9f0d62184cd98fa80fa790 (diff)
downloadmongo-ed8e8bde125c38db215e1fe5dfbdc2ad560ced4e.tar.gz
Rename Auth[Global,Session]ExternalState
Diffstat (limited to 'src/mongo/db/auth/authz_session_external_state_mock.h')
-rw-r--r--src/mongo/db/auth/authz_session_external_state_mock.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/mongo/db/auth/authz_session_external_state_mock.h b/src/mongo/db/auth/authz_session_external_state_mock.h
new file mode 100644
index 00000000000..a081eab45bd
--- /dev/null
+++ b/src/mongo/db/auth/authz_session_external_state_mock.h
@@ -0,0 +1,58 @@
+/**
+* Copyright (C) 2012 10gen Inc.
+*
+* This program is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Affero General Public License, version 3,
+* as published by the Free Software Foundation.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Affero General Public License for more details.
+*
+* You should have received a copy of the GNU Affero General Public License
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "mongo/base/disallow_copying.h"
+#include "mongo/base/status.h"
+#include "mongo/db/auth/authz_session_external_state.h"
+
+namespace mongo {
+
+ /**
+ * Mock of the AuthzSessionExternalState class used only for testing.
+ */
+ class AuthzSessionExternalStateMock : public AuthzSessionExternalState {
+ MONGO_DISALLOW_COPYING(AuthzSessionExternalStateMock);
+
+ public:
+ AuthzSessionExternalStateMock() : _returnValue(false) {}
+
+ virtual bool shouldIgnoreAuthChecks() const {
+ return _returnValue;
+ }
+
+ void setReturnValueForShouldIgnoreAuthChecks(bool returnValue) {
+ _returnValue = returnValue;
+ }
+
+ virtual bool _findUser(const std::string& usersNamespace,
+ const BSONObj& query,
+ BSONObj* result) const {
+ return false;
+ }
+
+ virtual void startRequest() {}
+
+ virtual void onAddAuthorizedPrincipal(Principal*) {}
+
+ virtual void onLogoutDatabase(const std::string& dbname) {}
+
+ private:
+ bool _returnValue;
+ };
+
+} // namespace mongo