summaryrefslogtreecommitdiff
path: root/lib/plugins/usermanager/_test/mocks.class.php
diff options
context:
space:
mode:
authorGerrit Uitslag <klapinklapin@gmail.com>2014-02-15 15:10:15 +0100
committerGerrit Uitslag <klapinklapin@gmail.com>2014-02-15 15:10:15 +0100
commit2643fc174cfce2c89b096e1aa28b8433c1bd9088 (patch)
tree4219fa16c1e196fca55429092494051eb899891c /lib/plugins/usermanager/_test/mocks.class.php
parent1da8dc976a4e9184fe550789a77d8e5cb866926f (diff)
parent0ba750c06b51626ccace39f0f6be7062eebb0a40 (diff)
downloadrpg-2643fc174cfce2c89b096e1aa28b8433c1bd9088.tar.gz
rpg-2643fc174cfce2c89b096e1aa28b8433c1bd9088.tar.bz2
Merge remote-tracking branch 'origin/master' into diff_navigation
Diffstat (limited to 'lib/plugins/usermanager/_test/mocks.class.php')
-rw-r--r--lib/plugins/usermanager/_test/mocks.class.php58
1 files changed, 58 insertions, 0 deletions
diff --git a/lib/plugins/usermanager/_test/mocks.class.php b/lib/plugins/usermanager/_test/mocks.class.php
new file mode 100644
index 000000000..91c74768c
--- /dev/null
+++ b/lib/plugins/usermanager/_test/mocks.class.php
@@ -0,0 +1,58 @@
+<?php
+
+/**
+ * test wrapper to allow access to private/protected functions/properties
+ *
+ * NB: for plugin introspection methods, getPluginType() & getPluginName() to work
+ * this class name needs to start "admin_" and end "_usermanager". Internally
+ * these methods are used in setting up the class, e.g. for language strings
+ */
+class admin_mock_usermanager extends admin_plugin_usermanager {
+
+ public $mock_email_notifications = true;
+ public $mock_email_notifications_sent = 0;
+
+ public function getImportFailures() {
+ return $this->_import_failures;
+ }
+
+ public function tryExport() {
+ ob_start();
+ $this->_export();
+ return ob_get_clean();
+ }
+
+ public function tryImport() {
+ return $this->_import();
+ }
+
+ /**
+ * @deprecated remove when dokuwiki requires php 5.3+
+ * also associated unit test & usermanager methods
+ */
+ public function access_str_getcsv($line){
+ return $this->str_getcsv($line);
+ }
+
+ // no need to send email notifications (mostly)
+ protected function _notifyUser($user, $password, $status_alert=true) {
+ if ($this->mock_email_notifications) {
+ $this->mock_email_notifications_sent++;
+ return true;
+ } else {
+ return parent::_notifyUser($user, $password, $status_alert);
+ }
+ }
+
+ protected function _isUploadedFile($file) {
+ return file_exists($file);
+ }
+}
+
+class auth_mock_authplain extends auth_plugin_authplain {
+
+ public function setCanDo($op, $canDo) {
+ $this->cando[$op] = $canDo;
+ }
+
+}