Bump actions/dependency-review-action from 3 to 4 #69
integrate.yml
on: pull_request
3️⃣ Static Analysis
21s
4️⃣ Coding Standards
17s
5️⃣ Mutation Testing
32s
6️⃣ Rector Checkstyle
12s
7️⃣ Exported files
2s
Matrix: 2️⃣ Unit and functional tests
Annotations
1 error and 17 warnings
6️⃣ Rector Checkstyle
Process completed with exit code 2.
|
1️⃣ Syntax errors
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
|
6️⃣ Rector Checkstyle
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
|
2️⃣ Unit and functional tests (ubuntu-latest, 8.1, highest)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
|
4️⃣ Coding Standards
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
|
2️⃣ Unit and functional tests (ubuntu-latest, 8.1, lowest)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
|
3️⃣ Static Analysis
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
|
5️⃣ Mutation Testing
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
|
5️⃣ Mutation Testing:
src/Factory.php#L24
Escaped Mutant for Mutator "LogicalOrNegation":
--- Original
+++ New
@@ @@
{
try {
$parsed_url = Url::fromString($uri);
- $parsed_url->getScheme() === 'otpauth' || throw new InvalidArgumentException('Invalid scheme.');
+ !($parsed_url->getScheme() === 'otpauth' || throw new InvalidArgumentException('Invalid scheme.'));
} catch (Throwable $throwable) {
throw new InvalidArgumentException('Not a valid OTP provisioning URI', $throwable->getCode(), $throwable);
}
|
5️⃣ Mutation Testing:
src/Factory.php#L28
Escaped Mutant for Mutator "Identical":
--- Original
+++ New
@@ @@
} catch (Throwable $throwable) {
throw new InvalidArgumentException('Not a valid OTP provisioning URI', $throwable->getCode(), $throwable);
}
- if ($clock === null) {
+ if ($clock !== null) {
trigger_deprecation('spomky-labs/otphp', '11.3.0', 'The parameter "$clock" will become mandatory in 12.0.0. Please set a valid PSR Clock implementation instead of "null".');
$clock = new InternalClock();
}
|
5️⃣ Mutation Testing:
src/Factory.php#L63
Escaped Mutant for Mutator "LogicalOrNegation":
--- Original
+++ New
@@ @@
return;
}
if ($otp->getIssuer() !== null) {
- $result[0] === $otp->getIssuer() || throw new InvalidArgumentException('Invalid OTP: invalid issuer in parameter');
+ !($result[0] === $otp->getIssuer() || throw new InvalidArgumentException('Invalid OTP: invalid issuer in parameter'));
$otp->setIssuerIncludedAsParameter(true);
}
assert($result[0] !== '');
|
5️⃣ Mutation Testing:
src/Factory.php#L66
Escaped Mutant for Mutator "MethodCallRemoval":
--- Original
+++ New
@@ @@
}
if ($otp->getIssuer() !== null) {
$result[0] === $otp->getIssuer() || throw new InvalidArgumentException('Invalid OTP: invalid issuer in parameter');
- $otp->setIssuerIncludedAsParameter(true);
+
}
assert($result[0] !== '');
$otp->setIssuer($result[0]);
|
5️⃣ Mutation Testing:
src/Factory.php#L71
Escaped Mutant for Mutator "MethodCallRemoval":
--- Original
+++ New
@@ @@
$otp->setIssuerIncludedAsParameter(true);
}
assert($result[0] !== '');
- $otp->setIssuer($result[0]);
+
}
private static function createOTP(Url $parsed_url, ClockInterface $clock) : OTPInterface
{
|
5️⃣ Mutation Testing:
src/HOTP.php#L39
Escaped Mutant for Mutator "MethodCallRemoval":
--- Original
+++ New
@@ @@
$htop = new self($secret);
$htop->setCounter(self::DEFAULT_COUNTER);
$htop->setDigest(self::DEFAULT_DIGEST);
- $htop->setDigits(self::DEFAULT_DIGITS);
+
return $htop;
}
public static function generate() : self
|
5️⃣ Mutation Testing:
src/HOTP.php#L52
Escaped Mutant for Mutator "LogicalAnd":
--- Original
+++ New
@@ @@
public function getCounter() : int
{
$value = $this->getParameter('counter');
- is_int($value) && $value >= 0 || throw new InvalidArgumentException('Invalid "counter" parameter.');
+ is_int($value) || $value >= 0 || throw new InvalidArgumentException('Invalid "counter" parameter.');
return $value;
}
public function getProvisioningUri() : string
|
5️⃣ Mutation Testing:
src/HOTP.php#L52
Escaped Mutant for Mutator "LogicalOrNegation":
--- Original
+++ New
@@ @@
public function getCounter() : int
{
$value = $this->getParameter('counter');
- is_int($value) && $value >= 0 || throw new InvalidArgumentException('Invalid "counter" parameter.');
+ !(is_int($value) && $value >= 0 || throw new InvalidArgumentException('Invalid "counter" parameter.'));
return $value;
}
public function getProvisioningUri() : string
|
5️⃣ Mutation Testing:
src/HOTP.php#L59
Escaped Mutant for Mutator "ArrayItemRemoval":
--- Original
+++ New
@@ @@
}
public function getProvisioningUri() : string
{
- return $this->generateURI('hotp', ['counter' => $this->getCounter()]);
+ return $this->generateURI('hotp', []);
}
/**
* If the counter is not provided, the OTP is verified at the actual counter.
|
5️⃣ Mutation Testing:
src/HOTP.php#L69
Escaped Mutant for Mutator "LogicalOrNegation":
--- Original
+++ New
@@ @@
*/
public function verify(string $otp, null|int $counter = null, null|int $window = null) : bool
{
- $counter >= 0 || throw new InvalidArgumentException('The counter must be at least 0.');
+ !($counter >= 0 || throw new InvalidArgumentException('The counter must be at least 0.'));
if ($counter === null) {
$counter = $this->getCounter();
} elseif ($counter < $this->getCounter()) {
|