use a static map for additional headers

This commit is contained in:
Salvatore Giordano
2021-11-03 12:53:36 +01:00
parent dbe9e38ab0
commit 55e4c1ebd5
9 changed files with 74 additions and 38 deletions
@@ -0,0 +1,37 @@
import 'package:dio/dio.dart';
import 'package:mocktail/mocktail.dart';
import 'package:stream_chat/src/core/http/interceptor/additional_headers_interceptor.dart';
import 'package:stream_chat/src/core/http/stream_chat_dio_error.dart';
import 'package:stream_chat/src/core/http/stream_http_client.dart';
import 'package:stream_chat/src/core/http/token.dart';
import 'package:stream_chat/stream_chat.dart';
import 'package:test/test.dart';
import '../../../mocks.dart';
void main() {
late StreamHttpClient client;
late AdditionalHeadersInterceptor additionalHeadersInterceptor;
setUp(() {
client = MockHttpClient();
additionalHeadersInterceptor = AdditionalHeadersInterceptor();
});
test(
'`onRequest` should add additional headers in the request',
() async {
final options = RequestOptions(path: 'test-path');
final handler = RequestInterceptorHandler();
StreamChatClient.additionalHeaders = {'test-header': 'test-value'};
additionalHeadersInterceptor.onRequest(options, handler);
final updatedOptions = (await handler.future).data as RequestOptions;
final updateHeaders = updatedOptions.headers;
expect(updateHeaders.containsKey('test-header'), isTrue);
expect(updateHeaders['test-header'], 'test-value');
},
);
}
@@ -7,7 +7,7 @@ import 'package:stream_chat/src/core/http/connection_id_manager.dart';
import 'package:stream_chat/src/core/http/interceptor/auth_interceptor.dart';
import 'package:stream_chat/src/core/http/interceptor/connection_id_interceptor.dart';
import 'package:stream_chat/src/core/http/interceptor/logging_interceptor.dart';
import 'package:stream_chat/src/core/http/interceptor/user_agent_interceptor.dart';
import 'package:stream_chat/src/core/http/interceptor/additional_headers_interceptor.dart';
import 'package:stream_chat/src/core/http/stream_chat_dio_error.dart';
import 'package:stream_chat/src/core/http/stream_http_client.dart';
import 'package:stream_chat/src/core/http/token_manager.dart';
@@ -54,7 +54,9 @@ void main() {
final client = StreamHttpClient(apiKey);
expect(
client.httpClient.interceptors.whereType<UserAgentInterceptor>().length,
client.httpClient.interceptors
.whereType<AdditionalHeadersInterceptor>()
.length,
1);
});