Merge pull request #64 from acelaya-forks/feature/remove-functional #79
ci.yml
on: push
Matrix: ci / unit-tests
Matrix: ci / static-analysis
Matrix: ci / mutation-tests
Matrix: ci / upload-coverage
ci
/
delete-artifacts
4s
Annotations
20 warnings
ci / mutation-tests (8.3):
src/Command/ImportCommand.php#L109
Escaped Mutant for Mutator "LogicalAnd":
--- Original
+++ New
@@ @@
$io->warning(sprintf('Not all URLs were properly imported. Wait a few minutes, and then try executing this command again, ' . 'providing "%s" when the "continue token" is requested. That will ensure already processed URLs ' . 'are skipped.', $continueToken));
}
$app = $this->getApplication();
- if ($app !== null && $io->isVerbose()) {
+ if ($app !== null || $io->isVerbose()) {
$app->renderThrowable($e, $io);
}
}
}
|
ci / mutation-tests (8.3):
src/Exception/ImportException.php#L15
Escaped Mutant for Mutator "DecrementInteger":
--- Original
+++ New
@@ @@
use Throwable;
class ImportException extends RuntimeException implements ExceptionInterface
{
- protected function __construct(string $message, public readonly ?string $continueToken, int $code = 0, ?Throwable $previous = null)
+ protected function __construct(string $message, public readonly ?string $continueToken, int $code = -1, ?Throwable $previous = null)
{
parent::__construct($message, $code, $previous);
}
|
ci / mutation-tests (8.3):
src/Exception/ImportException.php#L15
Escaped Mutant for Mutator "IncrementInteger":
--- Original
+++ New
@@ @@
use Throwable;
class ImportException extends RuntimeException implements ExceptionInterface
{
- protected function __construct(string $message, public readonly ?string $continueToken, int $code = 0, ?Throwable $previous = null)
+ protected function __construct(string $message, public readonly ?string $continueToken, int $code = 1, ?Throwable $previous = null)
{
parent::__construct($message, $code, $previous);
}
|
ci / mutation-tests (8.3):
src/Sources/Bitly/BitlyApiImporter.php#L53
Escaped Mutant for Mutator "CatchBlockRemoval":
--- Original
+++ New
@@ @@
}
} catch (ImportException $e) {
throw $e;
- } catch (Throwable $e) {
- throw ImportException::fromError($e);
}
}
/**
|
ci / mutation-tests (8.3):
src/Sources/Bitly/BitlyApiImporter.php#L58
Escaped Mutant for Mutator "Identical":
--- Original
+++ New
@@ @@
['groups' => $groups] = $this->callToBitlyApi('/groups', $params, $progressTracker);
foreach ($groups as ['guid' => $groupId]) {
// Skip groups until the initial one is found
- $initialGroupFound = $initialGroupFound || $groupId === $initialGroup;
+ $initialGroupFound = $initialGroupFound || $groupId !== $initialGroup;
if (!$initialGroupFound) {
continue;
}
|
ci / mutation-tests (8.3):
src/Sources/Bitly/BitlyApiImporter.php#L58
Escaped Mutant for Mutator "LogicalOrAllSubExprNegation":
--- Original
+++ New
@@ @@
['groups' => $groups] = $this->callToBitlyApi('/groups', $params, $progressTracker);
foreach ($groups as ['guid' => $groupId]) {
// Skip groups until the initial one is found
- $initialGroupFound = $initialGroupFound || $groupId === $initialGroup;
+ $initialGroupFound = !$initialGroupFound || !($groupId === $initialGroup);
if (!$initialGroupFound) {
continue;
}
|
ci / mutation-tests (8.3):
src/Sources/Bitly/BitlyApiImporter.php#L83
Escaped Mutant for Mutator "Ternary":
--- Original
+++ New
@@ @@
private function loadUrlsForGroup(string $groupId, BitlyApiParams $params, BitlyApiProgressTracker $progressTracker) : iterable
{
$pagination = [];
- $archived = $params->ignoreArchived ? 'off' : 'both';
+ $archived = $params->ignoreArchived ? 'both' : 'off';
$createdBefore = $groupId === $progressTracker->initialGroup() ? $progressTracker->createdBefore() : '';
do {
$url = $pagination['next'] ?? sprintf('/groups/%s/bitlinks?archived=%s&created_before=%s', $groupId, $archived, $createdBefore);
|
ci / mutation-tests (8.3):
src/Sources/Bitly/BitlyApiImporter.php#L84
Escaped Mutant for Mutator "Identical":
--- Original
+++ New
@@ @@
{
$pagination = [];
$archived = $params->ignoreArchived ? 'off' : 'both';
- $createdBefore = $groupId === $progressTracker->initialGroup() ? $progressTracker->createdBefore() : '';
+ $createdBefore = $groupId !== $progressTracker->initialGroup() ? $progressTracker->createdBefore() : '';
do {
$url = $pagination['next'] ?? sprintf('/groups/%s/bitlinks?archived=%s&created_before=%s', $groupId, $archived, $createdBefore);
['links' => $links, 'pagination' => $pagination] = $this->callToBitlyApi($url, $params, $progressTracker);
|
ci / mutation-tests (8.3):
src/Sources/Bitly/BitlyApiImporter.php#L84
Escaped Mutant for Mutator "Ternary":
--- Original
+++ New
@@ @@
{
$pagination = [];
$archived = $params->ignoreArchived ? 'off' : 'both';
- $createdBefore = $groupId === $progressTracker->initialGroup() ? $progressTracker->createdBefore() : '';
+ $createdBefore = $groupId === $progressTracker->initialGroup() ? '' : $progressTracker->createdBefore();
do {
$url = $pagination['next'] ?? sprintf('/groups/%s/bitlinks?archived=%s&created_before=%s', $groupId, $archived, $createdBefore);
['links' => $links, 'pagination' => $pagination] = $this->callToBitlyApi($url, $params, $progressTracker);
|
ci / mutation-tests (8.3):
src/Sources/Bitly/BitlyApiImporter.php#L87
Escaped Mutant for Mutator "Coalesce":
--- Original
+++ New
@@ @@
$archived = $params->ignoreArchived ? 'off' : 'both';
$createdBefore = $groupId === $progressTracker->initialGroup() ? $progressTracker->createdBefore() : '';
do {
- $url = $pagination['next'] ?? sprintf('/groups/%s/bitlinks?archived=%s&created_before=%s', $groupId, $archived, $createdBefore);
+ $url = sprintf('/groups/%s/bitlinks?archived=%s&created_before=%s', $groupId, $archived, $createdBefore) ?? $pagination['next'];
['links' => $links, 'pagination' => $pagination] = $this->callToBitlyApi($url, $params, $progressTracker);
$progressTracker->updateLastProcessedGroup($groupId);
$filteredLinks = array_filter($links, static fn(array $link): bool => isset($link['long_url']) && !empty($link['long_url']));
|
ci / mutation-tests (8.2):
src/Command/ImportCommand.php#L109
Escaped Mutant for Mutator "LogicalAnd":
--- Original
+++ New
@@ @@
$io->warning(sprintf('Not all URLs were properly imported. Wait a few minutes, and then try executing this command again, ' . 'providing "%s" when the "continue token" is requested. That will ensure already processed URLs ' . 'are skipped.', $continueToken));
}
$app = $this->getApplication();
- if ($app !== null && $io->isVerbose()) {
+ if ($app !== null || $io->isVerbose()) {
$app->renderThrowable($e, $io);
}
}
}
|
ci / mutation-tests (8.2):
src/Exception/ImportException.php#L15
Escaped Mutant for Mutator "DecrementInteger":
--- Original
+++ New
@@ @@
use Throwable;
class ImportException extends RuntimeException implements ExceptionInterface
{
- protected function __construct(string $message, public readonly ?string $continueToken, int $code = 0, ?Throwable $previous = null)
+ protected function __construct(string $message, public readonly ?string $continueToken, int $code = -1, ?Throwable $previous = null)
{
parent::__construct($message, $code, $previous);
}
|
ci / mutation-tests (8.2):
src/Exception/ImportException.php#L15
Escaped Mutant for Mutator "IncrementInteger":
--- Original
+++ New
@@ @@
use Throwable;
class ImportException extends RuntimeException implements ExceptionInterface
{
- protected function __construct(string $message, public readonly ?string $continueToken, int $code = 0, ?Throwable $previous = null)
+ protected function __construct(string $message, public readonly ?string $continueToken, int $code = 1, ?Throwable $previous = null)
{
parent::__construct($message, $code, $previous);
}
|
ci / mutation-tests (8.2):
src/Sources/Bitly/BitlyApiImporter.php#L53
Escaped Mutant for Mutator "CatchBlockRemoval":
--- Original
+++ New
@@ @@
}
} catch (ImportException $e) {
throw $e;
- } catch (Throwable $e) {
- throw ImportException::fromError($e);
}
}
/**
|
ci / mutation-tests (8.2):
src/Sources/Bitly/BitlyApiImporter.php#L58
Escaped Mutant for Mutator "Identical":
--- Original
+++ New
@@ @@
['groups' => $groups] = $this->callToBitlyApi('/groups', $params, $progressTracker);
foreach ($groups as ['guid' => $groupId]) {
// Skip groups until the initial one is found
- $initialGroupFound = $initialGroupFound || $groupId === $initialGroup;
+ $initialGroupFound = $initialGroupFound || $groupId !== $initialGroup;
if (!$initialGroupFound) {
continue;
}
|
ci / mutation-tests (8.2):
src/Sources/Bitly/BitlyApiImporter.php#L58
Escaped Mutant for Mutator "LogicalOrAllSubExprNegation":
--- Original
+++ New
@@ @@
['groups' => $groups] = $this->callToBitlyApi('/groups', $params, $progressTracker);
foreach ($groups as ['guid' => $groupId]) {
// Skip groups until the initial one is found
- $initialGroupFound = $initialGroupFound || $groupId === $initialGroup;
+ $initialGroupFound = !$initialGroupFound || !($groupId === $initialGroup);
if (!$initialGroupFound) {
continue;
}
|
ci / mutation-tests (8.2):
src/Sources/Bitly/BitlyApiImporter.php#L83
Escaped Mutant for Mutator "Ternary":
--- Original
+++ New
@@ @@
private function loadUrlsForGroup(string $groupId, BitlyApiParams $params, BitlyApiProgressTracker $progressTracker) : iterable
{
$pagination = [];
- $archived = $params->ignoreArchived ? 'off' : 'both';
+ $archived = $params->ignoreArchived ? 'both' : 'off';
$createdBefore = $groupId === $progressTracker->initialGroup() ? $progressTracker->createdBefore() : '';
do {
$url = $pagination['next'] ?? sprintf('/groups/%s/bitlinks?archived=%s&created_before=%s', $groupId, $archived, $createdBefore);
|
ci / mutation-tests (8.2):
src/Sources/Bitly/BitlyApiImporter.php#L84
Escaped Mutant for Mutator "Identical":
--- Original
+++ New
@@ @@
{
$pagination = [];
$archived = $params->ignoreArchived ? 'off' : 'both';
- $createdBefore = $groupId === $progressTracker->initialGroup() ? $progressTracker->createdBefore() : '';
+ $createdBefore = $groupId !== $progressTracker->initialGroup() ? $progressTracker->createdBefore() : '';
do {
$url = $pagination['next'] ?? sprintf('/groups/%s/bitlinks?archived=%s&created_before=%s', $groupId, $archived, $createdBefore);
['links' => $links, 'pagination' => $pagination] = $this->callToBitlyApi($url, $params, $progressTracker);
|
ci / mutation-tests (8.2):
src/Sources/Bitly/BitlyApiImporter.php#L84
Escaped Mutant for Mutator "Ternary":
--- Original
+++ New
@@ @@
{
$pagination = [];
$archived = $params->ignoreArchived ? 'off' : 'both';
- $createdBefore = $groupId === $progressTracker->initialGroup() ? $progressTracker->createdBefore() : '';
+ $createdBefore = $groupId === $progressTracker->initialGroup() ? '' : $progressTracker->createdBefore();
do {
$url = $pagination['next'] ?? sprintf('/groups/%s/bitlinks?archived=%s&created_before=%s', $groupId, $archived, $createdBefore);
['links' => $links, 'pagination' => $pagination] = $this->callToBitlyApi($url, $params, $progressTracker);
|
ci / mutation-tests (8.2):
src/Sources/Bitly/BitlyApiImporter.php#L87
Escaped Mutant for Mutator "Coalesce":
--- Original
+++ New
@@ @@
$archived = $params->ignoreArchived ? 'off' : 'both';
$createdBefore = $groupId === $progressTracker->initialGroup() ? $progressTracker->createdBefore() : '';
do {
- $url = $pagination['next'] ?? sprintf('/groups/%s/bitlinks?archived=%s&created_before=%s', $groupId, $archived, $createdBefore);
+ $url = sprintf('/groups/%s/bitlinks?archived=%s&created_before=%s', $groupId, $archived, $createdBefore) ?? $pagination['next'];
['links' => $links, 'pagination' => $pagination] = $this->callToBitlyApi($url, $params, $progressTracker);
$progressTracker->updateLastProcessedGroup($groupId);
$filteredLinks = array_filter($links, static fn(array $link): bool => isset($link['long_url']) && !empty($link['long_url']));
|