@@ -7,6 +7,8 @@ import 'package:sentry_flutter/src/event_processor/url_filter/url_filter_event_p
7
7
8
8
// can be tested on command line with
9
9
// `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
+
10
12
void main () {
11
13
group (UrlFilterEventProcessor , () {
12
14
late Fixture fixture;
@@ -16,57 +18,53 @@ void main() {
16
18
});
17
19
18
20
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 ();
24
23
25
- var eventProcessor = fixture.getSut ();
26
- event = await eventProcessor.apply (event, Hint ());
24
+ final processedEvent = await eventProcessor.apply (event, Hint ());
27
25
28
- expect (event , isNotNull);
26
+ expect (processedEvent , isNotNull);
29
27
});
30
28
31
29
test ('returns null if allowUrl is set and does not match with url' ,
32
30
() async {
33
- final event = _createEventWithException ( "foo.bar" );
31
+ final event = SentryEvent ( );
34
32
fixture.options.allowUrls = ["another.url" ];
33
+ final eventProcessor = fixture.getSut ();
35
34
36
- var eventProcessor = fixture.getSut ();
37
35
final processedEvent = await eventProcessor.apply (event, Hint ());
38
36
39
37
expect (processedEvent, isNull);
40
38
});
41
39
42
40
test ('returns event if allowUrl is set and does partially match with url' ,
43
41
() 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 ();
46
45
47
- var eventProcessor = fixture.getSut ();
48
46
final processedEvent = await eventProcessor.apply (event, Hint ());
49
47
50
48
expect (processedEvent, isNotNull);
51
49
});
52
50
53
51
test ('returns event if denyUrl is set and does not match with url' ,
54
52
() async {
55
- final event = _createEventWithException ( "foo.bar" );
53
+ final event = SentryEvent ( );
56
54
fixture.options.denyUrls = ["another.url" ];
55
+ final eventProcessor = fixture.getSut ();
57
56
58
- var eventProcessor = fixture.getSut ();
59
57
final processedEvent = await eventProcessor.apply (event, Hint ());
60
58
61
59
expect (processedEvent, isNotNull);
62
60
});
63
61
64
62
test ('returns null if denyUrl is set and partially matches with url' ,
65
63
() 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 ();
68
67
69
- var eventProcessor = fixture.getSut ();
70
68
final processedEvent = await eventProcessor.apply (event, Hint ());
71
69
72
70
expect (processedEvent, isNull);
@@ -75,13 +73,11 @@ void main() {
75
73
test (
76
74
'returns null if it is part of the allowed domain, but blocked for subdomain' ,
77
75
() 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 ();
83
80
84
- var eventProcessor = fixture.getSut ();
85
81
final processedEvent = await eventProcessor.apply (event, Hint ());
86
82
87
83
expect (processedEvent, isNull);
@@ -90,12 +86,11 @@ void main() {
90
86
test (
91
87
'returns event if it is part of the allowed domain, and not of the blocked for subdomain' ,
92
88
() 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.*\$ " ];
96
91
fixture.options.denyUrls = ["special" ];
92
+ final eventProcessor = fixture.getSut ();
97
93
98
- var eventProcessor = fixture.getSut ();
99
94
final processedEvent = await eventProcessor.apply (event, Hint ());
100
95
101
96
expect (processedEvent, isNotNull);
@@ -104,60 +99,15 @@ void main() {
104
99
test (
105
100
'returns null if it is not part of the allowed domain, and not of the blocked for subdomain' ,
106
101
() async {
107
- final event = _createEventWithException (
108
- "another.url/for/a/test/testing/this-feature" );
102
+ final event = SentryEvent ();
109
103
fixture.options.allowUrls = ["^this.is/.*\$ " ];
110
104
fixture.options.denyUrls = ["special" ];
105
+ final eventProcessor = fixture.getSut ();
111
106
112
- var eventProcessor = fixture.getSut ();
113
107
final processedEvent = await eventProcessor.apply (event, Hint ());
114
108
115
109
expect (processedEvent, isNull);
116
110
});
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
- });
161
111
});
162
112
}
163
113
@@ -167,13 +117,3 @@ class Fixture {
167
117
return UrlFilterEventProcessor (options);
168
118
}
169
119
}
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