1
1
import 'package:dio/dio.dart' ;
2
- import 'package:http/http.dart' ;
3
- import 'package:mockito/mockito.dart' ;
4
2
import 'package:sentry/sentry.dart' ;
5
3
import 'package:sentry_dio/src/sentry_dio_client_adapter.dart' ;
6
4
import 'package:test/test.dart' ;
@@ -47,16 +45,10 @@ void main() {
47
45
});
48
46
49
47
test ('close does get called for user defined client' , () async {
50
- final mockHub = MockHub ();
48
+ final client = createCloseClient ();
49
+ final sut = fixture.getSut (client: client);
51
50
52
- final mockClient = CloseableMockClient ();
53
-
54
- final client = SentryHttpClient (client: mockClient, hub: mockHub);
55
- client.close ();
56
-
57
- expect (mockHub.addBreadcrumbCalls.length, 0 );
58
- expect (mockHub.captureExceptionCalls.length, 0 );
59
- verify (mockClient.close ());
51
+ sut.close (force: true );
60
52
});
61
53
62
54
test ('no captured span if tracing disabled' , () async {
@@ -96,7 +88,18 @@ MockHttpClientAdapter createThrowingClient() {
96
88
);
97
89
}
98
90
99
- class CloseableMockClient extends Mock implements BaseClient {}
91
+ void _close ({bool force = false }) {
92
+ expect (force, true );
93
+ }
94
+
95
+ MockHttpClientAdapter createCloseClient () {
96
+ return MockHttpClientAdapter (
97
+ (_, __, ___) async {
98
+ return ResponseBody .fromString ('' , 200 );
99
+ },
100
+ mockCloseMethod: _close,
101
+ );
102
+ }
100
103
101
104
class Fixture {
102
105
Dio getSut ({
@@ -121,10 +124,12 @@ class Fixture {
121
124
final MockHub hub = MockHub ();
122
125
123
126
MockHttpClientAdapter getClient ({int statusCode = 200 , String ? reason}) {
124
- return MockHttpClientAdapter ((options, _, __) async {
125
- expect (options.uri, requestUri);
126
- return ResponseBody .fromString ('' , statusCode);
127
- });
127
+ return MockHttpClientAdapter (
128
+ (options, _, __) async {
129
+ expect (options.uri, requestUri);
130
+ return ResponseBody .fromString ('' , statusCode);
131
+ },
132
+ );
128
133
}
129
134
}
130
135
0 commit comments