@@ -7,6 +7,8 @@ import 'package:sentry_flutter/src/event_processor/url_filter/url_filter_event_p
77
88// can be tested on command line with
99// `flutter test --platform=chrome test/event_processor/url_filter/web_url_filter_event_processor_test.dart`
10+ // The URL looks something like this: http://localhost:58551/event_processor/url_filter/web_url_filter_event_processor_test.html
11+
1012void main () {
1113 group (UrlFilterEventProcessor , () {
1214 late Fixture fixture;
@@ -16,57 +18,53 @@ void main() {
1618 });
1719
1820 test ('returns event if no allowUrl and no denyUrl is set' , () async {
19- SentryEvent ? event = SentryEvent (
20- request: SentryRequest (
21- url: 'foo.bar' ,
22- ),
23- );
21+ final event = SentryEvent ();
22+ final eventProcessor = fixture.getSut ();
2423
25- var eventProcessor = fixture.getSut ();
26- event = await eventProcessor.apply (event, Hint ());
24+ final processedEvent = await eventProcessor.apply (event, Hint ());
2725
28- expect (event , isNotNull);
26+ expect (processedEvent , isNotNull);
2927 });
3028
3129 test ('returns null if allowUrl is set and does not match with url' ,
3230 () async {
33- final event = _createEventWithException ( "foo.bar" );
31+ final event = SentryEvent ( );
3432 fixture.options.allowUrls = ["another.url" ];
33+ final eventProcessor = fixture.getSut ();
3534
36- var eventProcessor = fixture.getSut ();
3735 final processedEvent = await eventProcessor.apply (event, Hint ());
3836
3937 expect (processedEvent, isNull);
4038 });
4139
4240 test ('returns event if allowUrl is set and does partially match with url' ,
4341 () async {
44- final event = _createEventWithException ("foo.bar" );
45- fixture.options.allowUrls = ["bar" ];
42+ final event = SentryEvent ();
43+ fixture.options.allowUrls = ["event_processor_test" ];
44+ final eventProcessor = fixture.getSut ();
4645
47- var eventProcessor = fixture.getSut ();
4846 final processedEvent = await eventProcessor.apply (event, Hint ());
4947
5048 expect (processedEvent, isNotNull);
5149 });
5250
5351 test ('returns event if denyUrl is set and does not match with url' ,
5452 () async {
55- final event = _createEventWithException ( "foo.bar" );
53+ final event = SentryEvent ( );
5654 fixture.options.denyUrls = ["another.url" ];
55+ final eventProcessor = fixture.getSut ();
5756
58- var eventProcessor = fixture.getSut ();
5957 final processedEvent = await eventProcessor.apply (event, Hint ());
6058
6159 expect (processedEvent, isNotNull);
6260 });
6361
6462 test ('returns null if denyUrl is set and partially matches with url' ,
6563 () async {
66- final event = _createEventWithException ("foo.bar" );
67- fixture.options.denyUrls = ["bar" ];
64+ final event = SentryEvent ();
65+ fixture.options.denyUrls = ["event_processor_test" ];
66+ final eventProcessor = fixture.getSut ();
6867
69- var eventProcessor = fixture.getSut ();
7068 final processedEvent = await eventProcessor.apply (event, Hint ());
7169
7270 expect (processedEvent, isNull);
@@ -75,13 +73,11 @@ void main() {
7573 test (
7674 'returns null if it is part of the allowed domain, but blocked for subdomain' ,
7775 () async {
78- final event = _createEventWithException (
79- "this.is/a/special/url/for-testing/this-feature" );
80-
81- fixture.options.allowUrls = ["^this.is/.*\$ " ];
82- fixture.options.denyUrls = ["special" ];
76+ final event = SentryEvent ();
77+ fixture.options.allowUrls = [".*localhost.*\$ " ];
78+ fixture.options.denyUrls = ["event" ];
79+ final eventProcessor = fixture.getSut ();
8380
84- var eventProcessor = fixture.getSut ();
8581 final processedEvent = await eventProcessor.apply (event, Hint ());
8682
8783 expect (processedEvent, isNull);
@@ -90,12 +86,11 @@ void main() {
9086 test (
9187 'returns event if it is part of the allowed domain, and not of the blocked for subdomain' ,
9288 () async {
93- final event = _createEventWithException (
94- "this.is/a/test/url/for-testing/this-feature" );
95- fixture.options.allowUrls = ["^this.is/.*\$ " ];
89+ final event = SentryEvent ();
90+ fixture.options.allowUrls = [".*localhost.*\$ " ];
9691 fixture.options.denyUrls = ["special" ];
92+ final eventProcessor = fixture.getSut ();
9793
98- var eventProcessor = fixture.getSut ();
9994 final processedEvent = await eventProcessor.apply (event, Hint ());
10095
10196 expect (processedEvent, isNotNull);
@@ -104,60 +99,15 @@ void main() {
10499 test (
105100 'returns null if it is not part of the allowed domain, and not of the blocked for subdomain' ,
106101 () async {
107- final event = _createEventWithException (
108- "another.url/for/a/test/testing/this-feature" );
102+ final event = SentryEvent ();
109103 fixture.options.allowUrls = ["^this.is/.*\$ " ];
110104 fixture.options.denyUrls = ["special" ];
105+ final eventProcessor = fixture.getSut ();
111106
112- var eventProcessor = fixture.getSut ();
113107 final processedEvent = await eventProcessor.apply (event, Hint ());
114108
115109 expect (processedEvent, isNull);
116110 });
117-
118- test (
119- 'returns event if denyUrl is set and not matching with url of first exception' ,
120- () async {
121- final frame1 = SentryStackFrame (absPath: "test.url" );
122- final st1 = SentryStackTrace (frames: [frame1]);
123- final exception1 = SentryException (
124- type: "test-type" , value: "test-value" , stackTrace: st1);
125-
126- final frame2 = SentryStackFrame (absPath: "foo.bar" );
127- final st2 = SentryStackTrace (frames: [frame2]);
128- final exception2 = SentryException (
129- type: "test-type" , value: "test-value" , stackTrace: st2);
130-
131- SentryEvent event = SentryEvent (exceptions: [exception1, exception2]);
132-
133- fixture.options.denyUrls = ["bar" ];
134-
135- var eventProcessor = fixture.getSut ();
136- final processedEvent = await eventProcessor.apply (event, Hint ());
137-
138- expect (processedEvent, isNotNull);
139- });
140-
141- test (
142- 'returns event if denyUrl is set and not matching with url of first stacktraceframe' ,
143- () async {
144- final frame1 = SentryStackFrame (absPath: "test.url" );
145- final st1 = SentryStackTrace (frames: [frame1]);
146- final thread1 = SentryThread (stacktrace: st1);
147-
148- final frame2 = SentryStackFrame (absPath: "foo.bar" );
149- final st2 = SentryStackTrace (frames: [frame2]);
150- final thread2 = SentryThread (stacktrace: st2);
151-
152- SentryEvent event = SentryEvent (threads: [thread1, thread2]);
153-
154- fixture.options.denyUrls = ["bar" ];
155-
156- var eventProcessor = fixture.getSut ();
157- final processedEvent = await eventProcessor.apply (event, Hint ());
158-
159- expect (processedEvent, isNotNull);
160- });
161111 });
162112}
163113
@@ -167,13 +117,3 @@ class Fixture {
167117 return UrlFilterEventProcessor (options);
168118 }
169119}
170-
171- SentryEvent _createEventWithException (String url) {
172- final frame = SentryStackFrame (absPath: url);
173- final st = SentryStackTrace (frames: [frame]);
174- final exception =
175- SentryException (type: "test-type" , value: "test-value" , stackTrace: st);
176- SentryEvent event = SentryEvent (exceptions: [exception]);
177-
178- return event;
179- }
0 commit comments