Skip to content

Commit 309089b

Browse files
committed
Add and map capture_silenced_errors option
1 parent f3dedde commit 309089b

File tree

4 files changed

+34
-4
lines changed

4 files changed

+34
-4
lines changed

src/DependencyInjection/Configuration.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ public function getConfigTreeBuilder()
5353
->validate()
5454
->ifTrue($this->isNotAValidCallback())
5555
->thenInvalid('Expecting callable or service reference, got %s');
56+
if (PrettyVersions::getVersion('sentry/sentry')->getPrettyVersion() !== '2.0.0') {
57+
$optionsChildNodes->booleanNode('capture_silenced_errors');
58+
}
5659
$optionsChildNodes->integerNode('context_lines')
5760
->min(0)
5861
->max(99);

src/DependencyInjection/SentryExtension.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ private function passConfigurationToOptions(ContainerBuilder $container, array $
5252
$processedOptions = $processedConfiguration['options'];
5353
$mappableOptions = [
5454
'attach_stacktrace',
55+
'capture_silenced_errors',
5556
'context_lines',
5657
'default_integrations',
5758
'enable_compression',

test/DependencyInjection/ConfigurationTest.php

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Sentry\SentryBundle\Test\DependencyInjection;
44

5+
use Jean85\PrettyVersions;
56
use PHPUnit\Framework\TestCase;
67
use Sentry\Options;
78
use Sentry\SentryBundle\DependencyInjection\Configuration;
@@ -18,8 +19,14 @@ public function testDataProviderIsMappingTheRightNumberOfOptions(): void
1819
$providerData = $this->optionValuesProvider();
1920
$supportedOptions = \array_unique(\array_column($providerData, 0));
2021

22+
$expectedCount = self::SUPPORTED_SENTRY_OPTIONS_COUNT;
23+
24+
if (PrettyVersions::getVersion('sentry/sentry')->getPrettyVersion() !== '2.0.0') {
25+
++$expectedCount;
26+
}
27+
2128
$this->assertCount(
22-
self::SUPPORTED_SENTRY_OPTIONS_COUNT,
29+
$expectedCount,
2330
$supportedOptions,
2431
'Provider for configuration options mismatch: ' . PHP_EOL . print_r($supportedOptions, true)
2532
);
@@ -83,7 +90,7 @@ public function testOptionValuesProcessing(string $option, $value): void
8390

8491
public function optionValuesProvider(): array
8592
{
86-
return [
93+
$options = [
8794
['attach_stacktrace', true],
8895
['before_breadcrumb', 'count'],
8996
['before_send', 'count'],
@@ -112,6 +119,12 @@ public function optionValuesProvider(): array
112119
['server_name', 'server001.example.com'],
113120
['tags', ['tag-name' => 'value']],
114121
];
122+
123+
if (PrettyVersions::getVersion('sentry/sentry')->getPrettyVersion() !== '2.0.0') {
124+
$options[] = ['capture_silenced_errors', true];
125+
}
126+
127+
return $options;
115128
}
116129

117130
/**

test/DependencyInjection/SentryExtensionTest.php

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Sentry\SentryBundle\Test\DependencyInjection;
44

5+
use Jean85\PrettyVersions;
56
use PHPUnit\Framework\TestCase;
67
use Sentry\Breadcrumb;
78
use Sentry\Event;
@@ -30,8 +31,14 @@ public function testDataProviderIsMappingTheRightNumberOfOptions(): void
3031
$supportedOptions = \array_unique(\array_column($providerData, 0));
3132

3233
// subtracted one is `integration`, which cannot be tested with the provider
34+
$expectedCount = ConfigurationTest::SUPPORTED_SENTRY_OPTIONS_COUNT - 1;
35+
36+
if (PrettyVersions::getVersion('sentry/sentry')->getPrettyVersion() !== '2.0.0') {
37+
++$expectedCount;
38+
}
39+
3340
$this->assertCount(
34-
ConfigurationTest::SUPPORTED_SENTRY_OPTIONS_COUNT - 1,
41+
$expectedCount,
3542
$supportedOptions,
3643
'Provider for configuration options mismatch: ' . PHP_EOL . print_r($supportedOptions, true)
3744
);
@@ -90,7 +97,7 @@ public function testValuesArePassedToOptions(string $name, $value, string $gette
9097

9198
public function optionsValueProvider(): array
9299
{
93-
return [
100+
$options = [
94101
['attach_stacktrace', true, 'shouldAttachStacktrace'],
95102
['before_breadcrumb', __NAMESPACE__ . '\mockBeforeBreadcrumb', 'getBeforeBreadcrumbCallback'],
96103
['before_send', __NAMESPACE__ . '\mockBeforeSend', 'getBeforeSendCallback'],
@@ -114,6 +121,12 @@ public function optionsValueProvider(): array
114121
['server_name', 'server.example.com'],
115122
['tags', ['tag-name' => 'tag-value']],
116123
];
124+
125+
if (PrettyVersions::getVersion('sentry/sentry')->getPrettyVersion() !== '2.0.0') {
126+
$options[] = ['capture_silenced_errors', true, 'shouldCaptureSilencedErrors'];
127+
}
128+
129+
return $options;
117130
}
118131

119132
public function testErrorTypesAreParsed(): void

0 commit comments

Comments
 (0)