|
| 1 | +#if ANDROID |
1 | 2 | using Microsoft.Extensions.Configuration; |
2 | 3 |
|
3 | 4 | namespace Sentry.Tests.Platforms.Android; |
4 | 5 |
|
5 | | -public class BindableSentryOptionsTests |
| 6 | +public class BindableSentryOptionsTests : BindableTests<SentryOptions.AndroidOptions> |
6 | 7 | { |
7 | | -#if ANDROID |
8 | | - [SkippableFact] |
9 | | - public void ApplyTo_SetsAndroidOptionsFromConfig() |
| 8 | + [Fact] |
| 9 | + public void BindableProperties_MatchOptionsProperties() |
10 | 10 | { |
11 | | - var expected = new SentryOptions.AndroidOptions(new SentryOptions()) |
12 | | - { |
13 | | - AnrEnabled = true, |
14 | | - AnrReportInDebug = true, |
15 | | - AnrTimeoutInterval = TimeSpan.FromSeconds(3), |
16 | | - AttachScreenshot = true, |
17 | | - EnableActivityLifecycleBreadcrumbs = true, |
18 | | - EnableAppComponentBreadcrumbs = true, |
19 | | - EnableAppLifecycleBreadcrumbs = true, |
20 | | - EnableRootCheck = true, |
21 | | - EnableSystemEventBreadcrumbs = true, |
22 | | - EnableUserInteractionBreadcrumbs = true, |
23 | | - EnableAutoActivityLifecycleTracing = true, |
24 | | - EnableActivityLifecycleTracingAutoFinish = true, |
25 | | - EnableUserInteractionTracing = true, |
26 | | - AttachThreads = true, |
27 | | - ConnectionTimeout = TimeSpan.FromSeconds(7), |
28 | | - EnableNdk = true, |
29 | | - EnableShutdownHook = true, |
30 | | - EnableUncaughtExceptionHandler = true, |
31 | | - PrintUncaughtStackTrace = true, |
32 | | - ReadTimeout = TimeSpan.FromSeconds(13), |
33 | | - EnableAndroidSdkTracing = true, |
34 | | - EnableAndroidSdkBeforeSend = true, |
35 | | - }; |
| 11 | + var actual = GetPropertyNames<BindableSentryOptions.AndroidOptions>(); |
| 12 | + AssertContainsAllOptionsProperties(actual); |
| 13 | + } |
36 | 14 |
|
37 | | - var config = new ConfigurationBuilder() |
38 | | - .AddInMemoryCollection(new Dictionary<string, string> |
39 | | - { |
40 | | - ["AnrEnabled"] = expected.AnrEnabled.ToString(), |
41 | | - ["AnrReportInDebug"] = expected.AnrReportInDebug.ToString(), |
42 | | - ["AnrTimeoutInterval"] = expected.AnrTimeoutInterval.ToString(), |
43 | | - ["AttachScreenshot"] = expected.AttachScreenshot.ToString(), |
44 | | - ["EnableActivityLifecycleBreadcrumbs"] = expected.EnableActivityLifecycleBreadcrumbs.ToString(), |
45 | | - ["EnableAppComponentBreadcrumbs"] = expected.EnableAppComponentBreadcrumbs.ToString(), |
46 | | - ["EnableAppLifecycleBreadcrumbs"] = expected.EnableAppLifecycleBreadcrumbs.ToString(), |
47 | | - ["EnableRootCheck"] = expected.EnableRootCheck.ToString(), |
48 | | - ["EnableSystemEventBreadcrumbs"] = expected.EnableSystemEventBreadcrumbs.ToString(), |
49 | | - ["EnableUserInteractionBreadcrumbs"] = expected.EnableUserInteractionBreadcrumbs.ToString(), |
50 | | - ["EnableAutoActivityLifecycleTracing"] = expected.EnableAutoActivityLifecycleTracing.ToString(), |
51 | | - ["EnableActivityLifecycleTracingAutoFinish"] = expected.EnableActivityLifecycleTracingAutoFinish.ToString(), |
52 | | - ["EnableUserInteractionTracing"] = expected.EnableUserInteractionTracing.ToString(), |
53 | | - ["AttachThreads"] = expected.AttachThreads.ToString(), |
54 | | - ["ConnectionTimeout"] = expected.ConnectionTimeout.ToString(), |
55 | | - ["EnableNdk"] = expected.EnableNdk.ToString(), |
56 | | - ["EnableShutdownHook"] = expected.EnableShutdownHook.ToString(), |
57 | | - ["EnableUncaughtExceptionHandler"] = expected.EnableUncaughtExceptionHandler.ToString(), |
58 | | - ["PrintUncaughtStackTrace"] = expected.PrintUncaughtStackTrace.ToString(), |
59 | | - ["ReadTimeout"] = expected.ReadTimeout.ToString(), |
60 | | - ["EnableAndroidSdkTracing"] = expected.EnableAndroidSdkTracing.ToString(), |
61 | | - ["EnableAndroidSdkBeforeSend"] = expected.EnableAndroidSdkBeforeSend.ToString() |
62 | | - }).Build(); |
63 | | - var bindable = new BindableSentryOptions.AndroidOptions(); |
| 15 | + [Fact] |
| 16 | + public void ApplyTo_SetsOptionsFromConfig() |
| 17 | + { |
| 18 | + // Arrange |
64 | 19 | var actual = new SentryOptions.AndroidOptions(new SentryOptions()); |
| 20 | + var bindable = new BindableSentryOptions.AndroidOptions(); |
65 | 21 |
|
66 | 22 | // Act |
67 | | - config.Bind(bindable); |
| 23 | + Fixture.Config.Bind(bindable); |
68 | 24 | bindable.ApplyTo(actual); |
69 | 25 |
|
70 | 26 | // Assert |
71 | | - using (new AssertionScope()) |
72 | | - { |
73 | | - actual.AnrEnabled.Should().Be(expected.AnrEnabled); |
74 | | - actual.AnrReportInDebug.Should().Be(expected.AnrReportInDebug); |
75 | | - actual.AnrTimeoutInterval.Should().Be(expected.AnrTimeoutInterval); |
76 | | - actual.AttachScreenshot.Should().Be(expected.AttachScreenshot); |
77 | | - actual.EnableActivityLifecycleBreadcrumbs.Should().Be(expected.EnableActivityLifecycleBreadcrumbs); |
78 | | - actual.EnableAppComponentBreadcrumbs.Should().Be(expected.EnableAppComponentBreadcrumbs); |
79 | | - actual.EnableAppLifecycleBreadcrumbs.Should().Be(expected.EnableAppLifecycleBreadcrumbs); |
80 | | - actual.EnableRootCheck.Should().Be(expected.EnableRootCheck); |
81 | | - actual.EnableSystemEventBreadcrumbs.Should().Be(expected.EnableSystemEventBreadcrumbs); |
82 | | - actual.EnableUserInteractionBreadcrumbs.Should().Be(expected.EnableUserInteractionBreadcrumbs); |
83 | | - actual.EnableAutoActivityLifecycleTracing.Should().Be(expected.EnableAutoActivityLifecycleTracing); |
84 | | - actual.EnableActivityLifecycleTracingAutoFinish.Should().Be(expected.EnableActivityLifecycleTracingAutoFinish); |
85 | | - actual.EnableUserInteractionTracing.Should().Be(expected.EnableUserInteractionTracing); |
86 | | - actual.AttachThreads.Should().Be(expected.AttachThreads); |
87 | | - actual.ConnectionTimeout.Should().Be(expected.ConnectionTimeout); |
88 | | - actual.EnableNdk.Should().Be(expected.EnableNdk); |
89 | | - actual.EnableShutdownHook.Should().Be(expected.EnableShutdownHook); |
90 | | - actual.EnableUncaughtExceptionHandler.Should().Be(expected.EnableUncaughtExceptionHandler); |
91 | | - actual.PrintUncaughtStackTrace.Should().Be(expected.PrintUncaughtStackTrace); |
92 | | - actual.ReadTimeout.Should().Be(expected.ReadTimeout); |
93 | | - actual.EnableAndroidSdkTracing.Should().Be(expected.EnableAndroidSdkTracing); |
94 | | - actual.EnableAndroidSdkBeforeSend.Should().Be(expected.EnableAndroidSdkBeforeSend); |
95 | | - } |
| 27 | + AssertContainsExpectedPropertyValues(actual); |
96 | 28 | } |
97 | | -#endif |
98 | 29 | } |
| 30 | +#endif |
0 commit comments