Class CookieEncryptedEquals
CookieEncryptedEquals
Property Summary
-
$_validCiphers protected
list<string>
Valid cipher names for encrypted cookies.
-
$cookieName protected
string
-
$key protected
string
-
$mode protected
string
-
$response protected
Cake\Http\Response
Method Summary
-
__construct() public
Constructor.
-
_checkCipher() protected
Helper method for validating encryption cipher names.
-
_decode() protected
Decodes and decrypts a single value.
-
_decrypt() protected
Decrypts $value using public $type method in Security class
-
_encrypt() protected
Encrypts $value using public $type method in Security class
-
_explode() protected
Explode method to return array from string set in CookieComponent::_implode() Maintains reading backwards compatibility with 1.x CookieComponent::_implode().
-
_getBodyAsString() protected
Get the response body as string
-
_getCookieEncryptionKey() protected
Returns the encryption key
-
_implode() protected
Implode method to keep keys are multidimensional arrays
-
additionalFailureDescription() protected
Return additional failure description where needed.
-
count() public
Counts the number of constraint elements.
-
evaluate() public
Evaluates the constraint for parameter $other.
-
fail() protected
Throws an exception for the given compared value and test description.
-
failureDescription() protected
Returns the description of the failure.
-
failureDescriptionInContext() protected
Returns the description of the failure when this constraint appears in context of an $operator expression.
-
matches() public
Checks assertion
-
readCookie() protected
Read a cookie from either the response cookie collection, or headers
-
reduce() protected
Reduces the sub-expression starting at $this by skipping degenerate sub-expression and returns first descendant constraint that starts a non-reducible sub-expression.
-
toString() public
Assertion message
-
toStringInContext() protected
Returns a custom string representation of the constraint object when it appears in context of an $operator expression.
-
valueToTypeStringFragment() protected
Method Detail
__construct() ¶ public
__construct(Cake\Http\Response|null $response, string $cookieName, string $mode, string $key)
Constructor.
Parameters
-
Cake\Http\Response|null
$response A response instance.
-
string
$cookieName Cookie name
-
string
$mode Mode
-
string
$key Key
_checkCipher() ¶ protected
_checkCipher(string $encrypt): void
Helper method for validating encryption cipher names.
Parameters
-
string
$encrypt The cipher name.
Returns
void
Throws
RuntimeException
When an invalid cipher is provided.
_decode() ¶ protected
_decode(string $value, string|false $encrypt, string|null $key): array|string
Decodes and decrypts a single value.
Parameters
-
string
$value The value to decode & decrypt.
-
string|false
$encrypt The encryption cipher to use.
-
string|null
$key Used as the security salt if specified.
Returns
array|string
_decrypt() ¶ protected
_decrypt(list<string>|string $values, string|false $mode, string|null $key = null): array|string
Decrypts $value using public $type method in Security class
Parameters
-
list<string>|string
$values Values to decrypt
-
string|false
$mode Encryption mode
-
string|null
$key optional Used as the security salt if specified.
Returns
array|string
_encrypt() ¶ protected
_encrypt(array|string $value, string|false $encrypt, string|null $key = null): string
Encrypts $value using public $type method in Security class
Parameters
-
array|string
$value Value to encrypt
-
string|false
$encrypt Encryption mode to use. False disabled encryption.
-
string|null
$key optional Used as the security salt if specified.
Returns
string
_explode() ¶ protected
_explode(string $string): array|string
Explode method to return array from string set in CookieComponent::_implode() Maintains reading backwards compatibility with 1.x CookieComponent::_implode().
Parameters
-
string
$string A string containing JSON encoded data, or a bare string.
Returns
array|string
_getBodyAsString() ¶ protected
_getBodyAsString(): string
Get the response body as string
Returns
string
_getCookieEncryptionKey() ¶ protected
_getCookieEncryptionKey(): string
Returns the encryption key
Returns
string
_implode() ¶ protected
_implode(array $array): string
Implode method to keep keys are multidimensional arrays
Parameters
-
array
$array Map of key and values
Returns
string
additionalFailureDescription() ¶ protected
additionalFailureDescription(mixed $other): string
Return additional failure description where needed.
The function can be overridden to provide additional failure information like a diff
Parameters
-
mixed
$other
Returns
string
evaluate() ¶ public
evaluate(mixed $other, string $description = '', bool $returnResult = false): ?bool
Evaluates the constraint for parameter $other.
If $returnResult is set to false (the default), an exception is thrown in case of a failure. null is returned otherwise.
If $returnResult is true, the result of the evaluation is returned as a boolean value instead: true in case of success, false in case of a failure.
Parameters
-
mixed
$other -
string
$description optional -
bool
$returnResult optional
Returns
?bool
Throws
ExpectationFailedException
fail() ¶ protected
fail(mixed $other, string $description, ?ComparisonFailure $comparisonFailure = null): never
Throws an exception for the given compared value and test description.
Parameters
-
mixed
$other -
string
$description -
?ComparisonFailure
$comparisonFailure optional
Returns
never
Throws
ExpectationFailedException
failureDescription() ¶ protected
failureDescription(mixed $other): string
Returns the description of the failure.
The beginning of failure messages is "Failed asserting that" in most cases. This method should return the second part of that sentence.
To provide additional failure information additionalFailureDescription can be used.
Parameters
-
mixed
$other
Returns
string
failureDescriptionInContext() ¶ protected
failureDescriptionInContext(Operator $operator, mixed $role, mixed $other): string
Returns the description of the failure when this constraint appears in context of an $operator expression.
The purpose of this method is to provide meaningful failure description in context of operators such as LogicalNot. Native PHPUnit constraints are supported out of the box by LogicalNot, but externally developed ones had no way to provide correct messages in this context.
The method shall return empty string, when it does not handle customization by itself.
Parameters
-
Operator
$operator -
mixed
$role -
mixed
$other
Returns
string
matches() ¶ public
matches(mixed $other): bool
Checks assertion
This method can be overridden to implement the evaluation algorithm.
Parameters
-
mixed
$other Expected content
Returns
bool
readCookie() ¶ protected
readCookie(string $name): array|null
Read a cookie from either the response cookie collection, or headers
Parameters
-
string
$name The name of the cookie you want to read.
Returns
array|null
reduce() ¶ protected
reduce(): self
Reduces the sub-expression starting at $this by skipping degenerate sub-expression and returns first descendant constraint that starts a non-reducible sub-expression.
Returns $this for terminal constraints and for operators that start non-reducible sub-expression, or the nearest descendant of $this that starts a non-reducible sub-expression.
A constraint expression may be modelled as a tree with non-terminal nodes (operators) and terminal nodes. For example:
LogicalOr (operator, non-terminal)
- LogicalAnd (operator, non-terminal) | + IsType('int') (terminal) | + GreaterThan(10) (terminal)
- LogicalNot (operator, non-terminal)
- IsType('array') (terminal)
A degenerate sub-expression is a part of the tree, that effectively does not contribute to the evaluation of the expression it appears in. An example of degenerate sub-expression is a BinaryOperator constructed with single operand or nested BinaryOperators, each with single operand. An expression involving a degenerate sub-expression is equivalent to a reduced expression with the degenerate sub-expression removed, for example
LogicalAnd (operator)
- LogicalOr (degenerate operator) | + LogicalAnd (degenerate operator) | + IsType('int') (terminal)
- GreaterThan(10) (terminal)
is equivalent to
LogicalAnd (operator)
- IsType('int') (terminal)
- GreaterThan(10) (terminal)
because the subexpression
- LogicalOr
- LogicalAnd
- -
- LogicalAnd
is degenerate. Calling reduce() on the LogicalOr object above, as well as on LogicalAnd, shall return the IsType('int') instance.
Other specific reductions can be implemented, for example cascade of LogicalNot operators
- LogicalNot
- LogicalNot
+LogicalNot
- IsTrue
- LogicalNot
+LogicalNot
can be reduced to
LogicalNot
- IsTrue
Returns
self
toStringInContext() ¶ protected
toStringInContext(Operator $operator, mixed $role): string
Returns a custom string representation of the constraint object when it appears in context of an $operator expression.
The purpose of this method is to provide meaningful descriptive string in context of operators such as LogicalNot. Native PHPUnit constraints are supported out of the box by LogicalNot, but externally developed ones had no way to provide correct strings in this context.
The method shall return empty string, when it does not handle customization by itself.
Parameters
-
Operator
$operator -
mixed
$role
Returns
string
valueToTypeStringFragment() ¶ protected
valueToTypeStringFragment(mixed $value): non-empty-string
Parameters
-
mixed
$value
Returns
non-empty-string