W3cubDocs

/CakePHP 4.4

Class CookieEncryptedEquals

CookieEncryptedEquals

Property Summary

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.

  • exporter() protected
  • 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

  • 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.

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(array<string>|string $values, string|false $mode, string|null $key = null): array|string

Decrypts $value using public $type method in Security class

Parameters

array<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

evaluated value or object

Returns

string

count() public

count(): int

Counts the number of constraint elements.

Returns

int

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

$other
string $description optional
bool $returnResult optional

Returns

?bool

Throws

SebastianBergmann\RecursionContext\InvalidArgumentException

ExpectationFailedException

exporter() protected

exporter(): Exporter

Returns

Exporter

fail() protected

fail(mixed $other, string $description, ComparisonFailure $comparisonFailure = null): void

Throws an exception for the given compared value and test description.

Parameters

mixed $other

evaluated value or object

string $description

Additional information about the test

ComparisonFailure $comparisonFailure optional

Returns

void

Throws

SebastianBergmann\RecursionContext\InvalidArgumentException

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

evaluated value or object

Returns

string

Throws

SebastianBergmann\RecursionContext\InvalidArgumentException

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

the $operator of the expression

mixed $role

role of $this constraint in the $operator expression

mixed $other

evaluated value or object

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

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
      • -

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

can be reduced to

LogicalNot

  • IsTrue

Returns

self

toString() public

toString(): string

Assertion message

Returns

string

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

the $operator of the expression

mixed $role

role of $this constraint in the $operator expression

Returns

string

Property Detail

$_validCiphers protected

Valid cipher names for encrypted cookies.

Type

array<string>

$cookieName protected

Type

string

$key protected

Type

string

$mode protected

Type

string

$response protected

Type

Cake\Http\Response

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.TestSuite.Constraint.Response.CookieEncryptedEquals.html