Update SECURITY.md with new supported versions and reporting method (… #3
infection.yml
on: push
5️⃣ Mutation Testing
1m 8s
Annotations
11 warnings
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/bundle/DependencyInjection/Compiler/PayloadCacheCompilerPass.php#L37
Escaped Mutant for Mutator "LogicalOr":
--- Original
+++ New
@@ @@
}
private function processForService(ContainerBuilder $container, string $class, string $cache, string $parameter): void
{
- if (!$container->hasDefinition($class) || !$container->hasAlias($cache)) {
+ if (!$container->hasDefinition($class) && !$container->hasAlias($cache)) {
return;
}
$cacheLifetime = $container->getParameter($parameter);
|
5️⃣ Mutation Testing:
src/bundle/DependencyInjection/Compiler/SymfonyServiceCompilerPass.php#L18
Escaped Mutant for Mutator "LogicalNot":
--- Original
+++ New
@@ @@
{
public function process(ContainerBuilder $container): void
{
- if (!$container->hasDefinition('http_client')) {
+ if ($container->hasDefinition('http_client')) {
return;
}
$definition = new Definition(WebPush::class, [new Reference('http_client'), new Reference(ExtensionManager::class)]);
|
5️⃣ Mutation Testing:
src/bundle/DependencyInjection/Compiler/SymfonyServiceCompilerPass.php#L22
Escaped Mutant for Mutator "ArrayItemRemoval":
--- Original
+++ New
@@ @@
if (!$container->hasDefinition('http_client')) {
return;
}
- $definition = new Definition(WebPush::class, [new Reference('http_client'), new Reference(ExtensionManager::class)]);
+ $definition = new Definition(WebPush::class, [new Reference(ExtensionManager::class)]);
$definition->setPublic(true);
$container->setDefinition('web_push.service', $definition);
}
}
|
5️⃣ Mutation Testing:
src/bundle/DependencyInjection/Compiler/SymfonyServiceCompilerPass.php#L26
Escaped Mutant for Mutator "TrueValue":
--- Original
+++ New
@@ @@
return;
}
$definition = new Definition(WebPush::class, [new Reference('http_client'), new Reference(ExtensionManager::class)]);
- $definition->setPublic(true);
+ $definition->setPublic(false);
$container->setDefinition('web_push.service', $definition);
}
}
|
5️⃣ Mutation Testing:
src/bundle/DependencyInjection/Compiler/SymfonyServiceCompilerPass.php#L26
Escaped Mutant for Mutator "MethodCallRemoval":
--- Original
+++ New
@@ @@
return;
}
$definition = new Definition(WebPush::class, [new Reference('http_client'), new Reference(ExtensionManager::class)]);
- $definition->setPublic(true);
+
$container->setDefinition('web_push.service', $definition);
}
}
|
5️⃣ Mutation Testing:
src/bundle/DependencyInjection/Compiler/SymfonyServiceCompilerPass.php#L27
Escaped Mutant for Mutator "MethodCallRemoval":
--- Original
+++ New
@@ @@
}
$definition = new Definition(WebPush::class, [new Reference('http_client'), new Reference(ExtensionManager::class)]);
$definition->setPublic(true);
- $container->setDefinition('web_push.service', $definition);
+
}
}
|
5️⃣ Mutation Testing:
src/bundle/DependencyInjection/Configuration.php#L113
Escaped Mutant for Mutator "LogicalOr":
--- Original
+++ New
@@ @@
if (!is_int($conf)) {
return true;
}
- return $conf < 0 || $conf > AES128GCM::PADDING_MAX;
+ return $conf < 0 && $conf > AES128GCM::PADDING_MAX;
})->thenInvalid(sprintf('The padding must have one of the following value: none, recommended, max or an integer between 0 and %d', AES128GCM::PADDING_MAX))->end()->end()->scalarNode('cache')->defaultNull()->info('A PSR6 cache pool to enable caching feature')->end()->scalarNode('cache_lifetime')->defaultValue('now + 30min')->info('A PSR6 cache pool to enable caching feature')->end()->end()->end()->arrayNode('aesgcm')->addDefaultsIfNotSet()->children()->scalarNode('padding')->defaultValue('recommended')->info('Length of the padding: none, recommended, max or and integer')->validate()->ifTrue(static function ($conf): bool {
if (in_array($conf, ['none', 'max', 'recommended'], true)) {
return false;
|
5️⃣ Mutation Testing:
src/bundle/DependencyInjection/Configuration.php#L148
Escaped Mutant for Mutator "LogicalOr":
--- Original
+++ New
@@ @@
if (!is_int($conf)) {
return true;
}
- return $conf < 0 || $conf > AESGCM::PADDING_MAX;
+ return $conf < 0 && $conf > AESGCM::PADDING_MAX;
})->thenInvalid(sprintf('The padding must have one of the following value: none, recommended, max or an integer between 0 and %d', AESGCM::PADDING_MAX))->end()->end()->scalarNode('cache')->defaultNull()->info('A PSR6 cache pool to enable caching feature')->end()->scalarNode('cache_lifetime')->defaultValue('now + 30min')->info('A PSR6 cache pool to enable caching feature')->end()->end()->end()->end()->end()->end();
return $treeBuilder;
}
}
|
5️⃣ Mutation Testing:
src/bundle/DependencyInjection/WebPushExtension.php#L38
Escaped Mutant for Mutator "MethodCallRemoval":
--- Original
+++ New
@@ @@
{
$processor = new Processor();
$config = $processor->processConfiguration($this->getConfiguration($configs, $container), $configs);
- $container->registerForAutoconfiguration(\WebPush\Extension::class)->addTag(ExtensionCompilerPass::TAG);
+
$container->registerForAutoconfiguration(Loggable::class)->addTag(LoggerSetterCompilerPass::TAG);
$container->registerForAutoconfiguration(ContentEncoding::class)->addTag(PayloadContentEncodingCompilerPass::TAG);
$loader = new PhpFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config/'));
|
5️⃣ Mutation Testing:
src/bundle/DependencyInjection/WebPushExtension.php#L39
Escaped Mutant for Mutator "MethodCallRemoval":
--- Original
+++ New
@@ @@
$processor = new Processor();
$config = $processor->processConfiguration($this->getConfiguration($configs, $container), $configs);
$container->registerForAutoconfiguration(\WebPush\Extension::class)->addTag(ExtensionCompilerPass::TAG);
- $container->registerForAutoconfiguration(Loggable::class)->addTag(LoggerSetterCompilerPass::TAG);
+
$container->registerForAutoconfiguration(ContentEncoding::class)->addTag(PayloadContentEncodingCompilerPass::TAG);
$loader = new PhpFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config/'));
$loader->load('services.php');
|