git subrepo commit (merge) mailcow/src/mailcow-dockerized
subrepo: subdir: "mailcow/src/mailcow-dockerized"
merged: "02ae5285"
upstream: origin: "https://github.com/mailcow/mailcow-dockerized.git"
branch: "master"
commit: "649a5c01"
git-subrepo: version: "0.4.3"
origin: "???"
commit: "???"
Change-Id: I870ad468fba026cc5abf3c5699ed1e12ff28b32b
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/LdapExpectation.php b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/LdapExpectation.php
new file mode 100644
index 0000000..90a5fa2
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/lib/vendor/directorytree/ldaprecord/src/Testing/LdapExpectation.php
@@ -0,0 +1,303 @@
+<?php
+
+namespace LdapRecord\Testing;
+
+use LdapRecord\LdapRecordException;
+use PHPUnit\Framework\Constraint\Constraint;
+use PHPUnit\Framework\Constraint\IsEqual;
+use UnexpectedValueException;
+
+class LdapExpectation
+{
+ /**
+ * The value to return from the expectation.
+ *
+ * @var mixed
+ */
+ protected $value;
+
+ /**
+ * The exception to throw from the expectation.
+ *
+ * @var null|LdapRecordException|\Exception
+ */
+ protected $exception;
+
+ /**
+ * The amount of times the expectation should be called.
+ *
+ * @var int
+ */
+ protected $count = 1;
+
+ /**
+ * The method that the expectation belongs to.
+ *
+ * @var string
+ */
+ protected $method;
+
+ /**
+ * The methods argument's.
+ *
+ * @var array
+ */
+ protected $args = [];
+
+ /**
+ * Whether the same expectation should be returned indefinitely.
+ *
+ * @var bool
+ */
+ protected $indefinitely = true;
+
+ /**
+ * Whether the expectation should return errors.
+ *
+ * @var bool
+ */
+ protected $errors = false;
+
+ /**
+ * The error number to return.
+ *
+ * @var int
+ */
+ protected $errorCode = 1;
+
+ /**
+ * The last error string to return.
+ *
+ * @var string
+ */
+ protected $errorMessage = '';
+
+ /**
+ * The diagnostic message string to return.
+ *
+ * @var string
+ */
+ protected $errorDiagnosticMessage = '';
+
+ /**
+ * Constructor.
+ *
+ * @param string $method
+ */
+ public function __construct($method)
+ {
+ $this->method = $method;
+ }
+
+ /**
+ * Set the arguments that the operation should receive.
+ *
+ * @param mixed $args
+ *
+ * @return $this
+ */
+ public function with($args)
+ {
+ $args = is_array($args) ? $args : func_get_args();
+
+ foreach ($args as $key => $arg) {
+ if (! $arg instanceof Constraint) {
+ $args[$key] = new IsEqual($arg);
+ }
+ }
+
+ $this->args = $args;
+
+ return $this;
+ }
+
+ /**
+ * Set the expected value to return.
+ *
+ * @param mixed $value
+ *
+ * @return $this
+ */
+ public function andReturn($value)
+ {
+ $this->value = $value;
+
+ return $this;
+ }
+
+ /**
+ * The error message to return from the expectation.
+ *
+ * @param int $code
+ * @param string $error
+ * @param string $diagnosticMessage
+ *
+ * @return $this
+ */
+ public function andReturnError($code = 1, $error = '', $diagnosticMessage = '')
+ {
+ $this->errors = true;
+
+ $this->errorCode = $code;
+ $this->errorMessage = $error;
+ $this->errorDiagnosticMessage = $diagnosticMessage;
+
+ return $this;
+ }
+
+ /**
+ * Set the expected exception to throw.
+ *
+ * @param string|\Exception|LdapRecordException $exception
+ *
+ * @return $this
+ */
+ public function andThrow($exception)
+ {
+ if (is_string($exception)) {
+ $exception = new LdapRecordException($exception);
+ }
+
+ $this->exception = $exception;
+
+ return $this;
+ }
+
+ /**
+ * Set the expectation to be only called once.
+ *
+ * @return $this
+ */
+ public function once()
+ {
+ return $this->times(1);
+ }
+
+ /**
+ * Set the expectation to be only called twice.
+ *
+ * @return $this
+ */
+ public function twice()
+ {
+ return $this->times(2);
+ }
+
+ /**
+ * Set the expectation to be called the given number of times.
+ *
+ * @param int $count
+ *
+ * @return $this
+ */
+ public function times($count = 1)
+ {
+ $this->indefinitely = false;
+
+ $this->count = $count;
+
+ return $this;
+ }
+
+ /**
+ * Get the method the expectation belongs to.
+ *
+ * @return string
+ */
+ public function getMethod()
+ {
+ if (is_null($this->method)) {
+ throw new UnexpectedValueException('An expectation must have a method.');
+ }
+
+ return $this->method;
+ }
+
+ /**
+ * Get the expected call count.
+ *
+ * @return int
+ */
+ public function getExpectedCount()
+ {
+ return $this->count;
+ }
+
+ /**
+ * Get the expected arguments.
+ *
+ * @return Constraint[]
+ */
+ public function getExpectedArgs()
+ {
+ return $this->args;
+ }
+
+ /**
+ * Get the expected exception.
+ *
+ * @return null|\Exception|LdapRecordException
+ */
+ public function getExpectedException()
+ {
+ return $this->exception;
+ }
+
+ /**
+ * Get the expected value.
+ *
+ * @return mixed
+ */
+ public function getExpectedValue()
+ {
+ return $this->value;
+ }
+
+ /**
+ * Determine whether the expectation is returning an error.
+ *
+ * @return bool
+ */
+ public function isReturningError()
+ {
+ return $this->errors;
+ }
+
+ /**
+ * @return int
+ */
+ public function getExpectedErrorCode()
+ {
+ return $this->errorCode;
+ }
+
+ /**
+ * @return string
+ */
+ public function getExpectedErrorMessage()
+ {
+ return $this->errorMessage;
+ }
+
+ /**
+ * @return string
+ */
+ public function getExpectedErrorDiagnosticMessage()
+ {
+ return $this->errorDiagnosticMessage;
+ }
+
+ /**
+ * Decrement the call count of the expectation.
+ *
+ * @return $this
+ */
+ public function decrementCallCount()
+ {
+ if (! $this->indefinitely) {
+ $this->count -= 1;
+ }
+
+ return $this;
+ }
+}