TF-1204 Rename Registration to Subscription

This commit is contained in:
dab246
2022-11-15 18:01:48 +07:00
committed by Dat H. Pham
parent 719f271385
commit 8e1b97de39
12 changed files with 97 additions and 95 deletions
@@ -1,13 +0,0 @@
import 'package:fcm/model/firebase_registration_id.dart';
import 'package:jmap_dart_client/jmap/core/id.dart';
import 'package:json_annotation/json_annotation.dart';
class FirebaseRegistrationIdNullableConverter implements JsonConverter<FirebaseRegistrationId?, String?> {
const FirebaseRegistrationIdNullableConverter();
@override
FirebaseRegistrationId? fromJson(String? json) => json != null ? FirebaseRegistrationId(Id(json)) : null;
@override
String? toJson(FirebaseRegistrationId? object) => object?.id.value;
}
@@ -0,0 +1,13 @@
import 'package:fcm/model/firebase_subscription_id.dart';
import 'package:jmap_dart_client/jmap/core/id.dart';
import 'package:json_annotation/json_annotation.dart';
class FirebaseSubscriptionIdNullableConverter implements JsonConverter<FirebaseSubscriptionId?, String?> {
const FirebaseSubscriptionIdNullableConverter();
@override
FirebaseSubscriptionId? fromJson(String? json) => json != null ? FirebaseSubscriptionId(Id(json)) : null;
@override
String? toJson(FirebaseSubscriptionId? object) => object?.id.value;
}
@@ -1,4 +1,4 @@
import 'package:fcm/utils/firebase_utils.dart'; import 'package:fcm/model/firebase_capability.dart';
import 'package:jmap_dart_client/http/converter/id_converter.dart'; import 'package:jmap_dart_client/http/converter/id_converter.dart';
import 'package:jmap_dart_client/http/converter/properties_converter.dart'; import 'package:jmap_dart_client/http/converter/properties_converter.dart';
import 'package:jmap_dart_client/jmap/core/capability/capability_identifier.dart'; import 'package:jmap_dart_client/jmap/core/capability/capability_identifier.dart';
@@ -7,14 +7,14 @@ import 'package:jmap_dart_client/jmap/core/request/request_invocation.dart';
import 'package:jmap_dart_client/jmap/core/request/result_reference.dart'; import 'package:jmap_dart_client/jmap/core/request/result_reference.dart';
import 'package:json_annotation/json_annotation.dart'; import 'package:json_annotation/json_annotation.dart';
part 'firebase_registration_get_method.g.dart'; part 'firebase_subscription_get_method.g.dart';
@IdConverter() @IdConverter()
@PropertiesConverter() @PropertiesConverter()
@JsonSerializable(explicitToJson: true) @JsonSerializable(explicitToJson: true)
class FirebaseRegistrationGetMethod extends GetMethodNoNeedAccountId { class FirebaseSubscriptionGetMethod extends GetMethodNoNeedAccountId {
FirebaseRegistrationGetMethod() : super(); FirebaseSubscriptionGetMethod() : super();
@override @override
MethodName get methodName => MethodName('FirebaseRegistration/get'); MethodName get methodName => MethodName('FirebaseRegistration/get');
@@ -22,14 +22,14 @@ class FirebaseRegistrationGetMethod extends GetMethodNoNeedAccountId {
@override @override
Set<CapabilityIdentifier> get requiredCapabilities => { Set<CapabilityIdentifier> get requiredCapabilities => {
CapabilityIdentifier.jmapCore, CapabilityIdentifier.jmapCore,
FirebaseUtils.capabilityLinagoraFirebase, FirebaseCapability.identifier,
}; };
@override @override
List<Object?> get props => [methodName, ids, requiredCapabilities]; List<Object?> get props => [methodName, ids, requiredCapabilities];
factory FirebaseRegistrationGetMethod.fromJson(Map<String, dynamic> json) => _$FirebaseRegistrationGetMethodFromJson(json); factory FirebaseSubscriptionGetMethod.fromJson(Map<String, dynamic> json) => _$FirebaseSubscriptionGetMethodFromJson(json);
@override @override
Map<String, dynamic> toJson() => _$FirebaseRegistrationGetMethodToJson(this); Map<String, dynamic> toJson() => _$FirebaseSubscriptionGetMethodToJson(this);
} }
@@ -1,30 +1,30 @@
import 'package:fcm/model/firebase_registration.dart'; import 'package:fcm/model/firebase_subscription.dart';
import 'package:jmap_dart_client/http/converter/id_converter.dart'; import 'package:jmap_dart_client/http/converter/id_converter.dart';
import 'package:jmap_dart_client/http/converter/state_converter.dart'; import 'package:jmap_dart_client/http/converter/state_converter.dart';
import 'package:jmap_dart_client/jmap/core/id.dart'; import 'package:jmap_dart_client/jmap/core/id.dart';
import 'package:jmap_dart_client/jmap/core/method/response/get_response.dart'; import 'package:jmap_dart_client/jmap/core/method/response/get_response.dart';
import 'package:json_annotation/json_annotation.dart'; import 'package:json_annotation/json_annotation.dart';
part 'firebase_registration_get_response.g.dart'; part 'firebase_subscription_get_response.g.dart';
@StateConverter() @StateConverter()
@IdConverter() @IdConverter()
@JsonSerializable(explicitToJson: true) @JsonSerializable(explicitToJson: true)
class FirebaseRegistrationGetResponse extends GetResponseNoAccountId<FirebaseRegistration> { class FirebaseSubscriptionGetResponse extends GetResponseNoAccountId<FirebaseSubscription> {
FirebaseRegistrationGetResponse( FirebaseSubscriptionGetResponse(
List<FirebaseRegistration> list, List<FirebaseSubscription> list,
List<Id>? notFound List<Id>? notFound
) : super(list, notFound); ) : super(list, notFound);
factory FirebaseRegistrationGetResponse.fromJson(Map<String, dynamic> json) => factory FirebaseSubscriptionGetResponse.fromJson(Map<String, dynamic> json) =>
_$FirebaseRegistrationGetResponseFromJson(json); _$FirebaseSubscriptionGetResponseFromJson(json);
static FirebaseRegistrationGetResponse deserialize(Map<String, dynamic> json) { static FirebaseSubscriptionGetResponse deserialize(Map<String, dynamic> json) {
return FirebaseRegistrationGetResponse.fromJson(json); return FirebaseSubscriptionGetResponse.fromJson(json);
} }
Map<String, dynamic> toJson() => _$FirebaseRegistrationGetResponseToJson(this); Map<String, dynamic> toJson() => _$FirebaseSubscriptionGetResponseToJson(this);
@override @override
List<Object?> get props => [list, notFound]; List<Object?> get props => [list, notFound];
@@ -1,14 +1,14 @@
import 'package:fcm/model/firebase_registration.dart'; import 'package:fcm/model/firebase_subscription.dart';
import 'package:fcm/utils/firebase_utils.dart'; import 'package:fcm/model/firebase_capability.dart';
import 'package:jmap_dart_client/http/converter/id_converter.dart'; import 'package:jmap_dart_client/http/converter/id_converter.dart';
import 'package:jmap_dart_client/http/converter/set/set_method_properties_converter.dart'; import 'package:jmap_dart_client/http/converter/set/set_method_properties_converter.dart';
import 'package:jmap_dart_client/jmap/core/capability/capability_identifier.dart'; import 'package:jmap_dart_client/jmap/core/capability/capability_identifier.dart';
import 'package:jmap_dart_client/jmap/core/method/request/set_method.dart'; import 'package:jmap_dart_client/jmap/core/method/request/set_method.dart';
import 'package:jmap_dart_client/jmap/core/request/request_invocation.dart'; import 'package:jmap_dart_client/jmap/core/request/request_invocation.dart';
class FirebaseRegistrationSetMethod extends SetMethodNoNeedAccountId<FirebaseRegistration> { class FirebaseSubscriptionSetMethod extends SetMethodNoNeedAccountId<FirebaseSubscription> {
FirebaseRegistrationSetMethod() : super(); FirebaseSubscriptionSetMethod() : super();
@override @override
MethodName get methodName => MethodName('FirebaseRegistration/set'); MethodName get methodName => MethodName('FirebaseRegistration/set');
@@ -16,7 +16,7 @@ class FirebaseRegistrationSetMethod extends SetMethodNoNeedAccountId<FirebaseReg
@override @override
Set<CapabilityIdentifier> get requiredCapabilities => { Set<CapabilityIdentifier> get requiredCapabilities => {
CapabilityIdentifier.jmapCore, CapabilityIdentifier.jmapCore,
FirebaseUtils.capabilityLinagoraFirebase, FirebaseCapability.identifier
}; };
@override @override
@@ -1,13 +1,13 @@
import 'package:fcm/model/firebase_registration.dart'; import 'package:fcm/model/firebase_subscription.dart';
import 'package:jmap_dart_client/http/converter/id_converter.dart'; import 'package:jmap_dart_client/http/converter/id_converter.dart';
import 'package:jmap_dart_client/jmap/core/error/set_error.dart'; import 'package:jmap_dart_client/jmap/core/error/set_error.dart';
import 'package:jmap_dart_client/jmap/core/id.dart'; import 'package:jmap_dart_client/jmap/core/id.dart';
import 'package:jmap_dart_client/jmap/core/method/response/set_response.dart'; import 'package:jmap_dart_client/jmap/core/method/response/set_response.dart';
class FirebaseRegistrationSetResponse extends SetResponseNoAccount<FirebaseRegistration> { class FirebaseSubscriptionSetResponse extends SetResponseNoAccount<FirebaseSubscription> {
FirebaseRegistrationSetResponse({ FirebaseSubscriptionSetResponse({
Map<Id, FirebaseRegistration>? created, Map<Id, FirebaseSubscription>? created,
Map<Id, FirebaseRegistration?>? updated, Map<Id, FirebaseSubscription?>? updated,
Set<Id>? destroyed, Set<Id>? destroyed,
Map<Id, SetError>? notCreated, Map<Id, SetError>? notCreated,
Map<Id, SetError>? notUpdated, Map<Id, SetError>? notUpdated,
@@ -21,15 +21,15 @@ class FirebaseRegistrationSetResponse extends SetResponseNoAccount<FirebaseRegis
notDestroyed: notDestroyed notDestroyed: notDestroyed
); );
static FirebaseRegistrationSetResponse deserialize(Map<String, dynamic> json) { static FirebaseSubscriptionSetResponse deserialize(Map<String, dynamic> json) {
return FirebaseRegistrationSetResponse( return FirebaseSubscriptionSetResponse(
created: (json['created'] as Map<String, dynamic>?)?.map((key, value) => MapEntry( created: (json['created'] as Map<String, dynamic>?)?.map((key, value) => MapEntry(
const IdConverter().fromJson(key), const IdConverter().fromJson(key),
FirebaseRegistration.fromJson(value as Map<String, dynamic>) FirebaseSubscription.fromJson(value as Map<String, dynamic>)
)), )),
updated: (json['updated'] as Map<String, dynamic>?)?.map((key, value) => MapEntry( updated: (json['updated'] as Map<String, dynamic>?)?.map((key, value) => MapEntry(
const IdConverter().fromJson(key), const IdConverter().fromJson(key),
value != null ? FirebaseRegistration.fromJson(value as Map<String, dynamic>) : null value != null ? FirebaseSubscription.fromJson(value as Map<String, dynamic>) : null
)), )),
destroyed: (json['destroyed'] as List<dynamic>?)?.map((id) => const IdConverter().fromJson(id)).toSet(), destroyed: (json['destroyed'] as List<dynamic>?)?.map((id) => const IdConverter().fromJson(id)).toSet(),
notCreated: (json['notCreated'] as Map<String, dynamic>?)?.map((key, value) => MapEntry( notCreated: (json['notCreated'] as Map<String, dynamic>?)?.map((key, value) => MapEntry(
+8
View File
@@ -0,0 +1,8 @@
import 'package:jmap_dart_client/jmap/core/capability/capability_identifier.dart';
class FirebaseCapability extends CapabilityIdentifier {
static final identifier = FirebaseCapability(Uri.parse('com:linagora:params:jmap:firebase:push'));
FirebaseCapability(super.value);
}
@@ -2,33 +2,33 @@
import 'package:equatable/equatable.dart'; import 'package:equatable/equatable.dart';
import 'package:fcm/converter/device_client_id_nullable_converter.dart'; import 'package:fcm/converter/device_client_id_nullable_converter.dart';
import 'package:fcm/converter/firebase_expired_time_nullable_converter.dart'; import 'package:fcm/converter/firebase_expired_time_nullable_converter.dart';
import 'package:fcm/converter/firebase_registration_id_nullable_converter.dart'; import 'package:fcm/converter/firebase_subscription_id_nullable_converter.dart';
import 'package:fcm/converter/firebase_token_nullable_converter.dart'; import 'package:fcm/converter/firebase_token_nullable_converter.dart';
import 'package:fcm/converter/type_name_converter.dart'; import 'package:fcm/converter/type_name_converter.dart';
import 'package:fcm/model/device_client_id.dart'; import 'package:fcm/model/device_client_id.dart';
import 'package:fcm/model/firebase_expired_time.dart'; import 'package:fcm/model/firebase_expired_time.dart';
import 'package:fcm/model/firebase_registration_id.dart'; import 'package:fcm/model/firebase_subscription_id.dart';
import 'package:fcm/model/firebase_token.dart'; import 'package:fcm/model/firebase_token.dart';
import 'package:fcm/model/type_name.dart'; import 'package:fcm/model/type_name.dart';
import 'package:json_annotation/json_annotation.dart'; import 'package:json_annotation/json_annotation.dart';
part 'firebase_registration.g.dart'; part 'firebase_subscription.g.dart';
@DeviceClientIdNullableConverter() @DeviceClientIdNullableConverter()
@FirebaseRegistrationIdNullableConverter() @FirebaseSubscriptionIdNullableConverter()
@FirebaseTokenNullableConverter() @FirebaseTokenNullableConverter()
@FirebaseExpiredTimeNullableConverter() @FirebaseExpiredTimeNullableConverter()
@TypeNameConverter() @TypeNameConverter()
@JsonSerializable(explicitToJson: true, includeIfNull: false) @JsonSerializable(explicitToJson: true, includeIfNull: false)
class FirebaseRegistration with EquatableMixin { class FirebaseSubscription with EquatableMixin {
final FirebaseRegistrationId? id; final FirebaseSubscriptionId? id;
final FirebaseToken? token; final FirebaseToken? token;
final DeviceClientId? deviceClientId; final DeviceClientId? deviceClientId;
final FirebaseExpiredTime? expires; final FirebaseExpiredTime? expires;
final List<TypeName>? types; final List<TypeName>? types;
FirebaseRegistration({ FirebaseSubscription({
this.id, this.id,
this.token, this.token,
this.deviceClientId, this.deviceClientId,
@@ -36,9 +36,9 @@ class FirebaseRegistration with EquatableMixin {
this.types this.types
}); });
factory FirebaseRegistration.fromJson(Map<String, dynamic> json) => _$FirebaseRegistrationFromJson(json); factory FirebaseSubscription.fromJson(Map<String, dynamic> json) => _$FirebaseSubscriptionFromJson(json);
Map<String, dynamic> toJson() => _$FirebaseRegistrationToJson(this); Map<String, dynamic> toJson() => _$FirebaseSubscriptionToJson(this);
@override @override
List<Object?> get props => [id, token, deviceClientId, expires, types]; List<Object?> get props => [id, token, deviceClientId, expires, types];
@@ -2,11 +2,11 @@
import 'package:equatable/equatable.dart'; import 'package:equatable/equatable.dart';
import 'package:jmap_dart_client/jmap/core/id.dart'; import 'package:jmap_dart_client/jmap/core/id.dart';
class FirebaseRegistrationId with EquatableMixin { class FirebaseSubscriptionId with EquatableMixin {
final Id id; final Id id;
FirebaseRegistrationId(this.id); FirebaseSubscriptionId(this.id);
@override @override
List<Object?> get props => [id]; List<Object?> get props => [id];
-6
View File
@@ -1,6 +0,0 @@
import 'package:jmap_dart_client/jmap/core/capability/capability_identifier.dart';
class FirebaseUtils {
static final capabilityLinagoraFirebase = CapabilityIdentifier(Uri.parse('com:linagora:params:jmap:firebase:push'));
}
@@ -1,10 +1,10 @@
import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:fcm/method/get/firebase_registration_get_method.dart'; import 'package:fcm/method/get/firebase_subscription_get_method.dart';
import 'package:fcm/method/get/firebase_registration_get_response.dart'; import 'package:fcm/method/get/firebase_subscription_get_response.dart';
import 'package:fcm/model/device_client_id.dart'; import 'package:fcm/model/device_client_id.dart';
import 'package:fcm/model/firebase_expired_time.dart'; import 'package:fcm/model/firebase_expired_time.dart';
import 'package:fcm/model/firebase_registration.dart'; import 'package:fcm/model/firebase_subscription.dart';
import 'package:fcm/model/firebase_registration_id.dart'; import 'package:fcm/model/firebase_subscription_id.dart';
import 'package:fcm/model/type_name.dart'; import 'package:fcm/model/type_name.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:http_mock_adapter/http_mock_adapter.dart'; import 'package:http_mock_adapter/http_mock_adapter.dart';
@@ -14,22 +14,22 @@ import 'package:jmap_dart_client/jmap/core/utc_date.dart';
import 'package:jmap_dart_client/jmap/jmap_request.dart'; import 'package:jmap_dart_client/jmap/jmap_request.dart';
void main() { void main() {
group('test to json firebase registration get method', () { group('test to json firebase subscription get method', () {
final expectFirebaseRegistration1 = FirebaseRegistration( final expectFirebaseSubscription1 = FirebaseSubscription(
id: FirebaseRegistrationId(Id('e50b2c1d-9553-41a3-b0a7-a7d26b599ee1')), id: FirebaseSubscriptionId(Id('e50b2c1d-9553-41a3-b0a7-a7d26b599ee1')),
deviceClientId: DeviceClientId('b37ff8001ca0'), deviceClientId: DeviceClientId('b37ff8001ca0'),
expires: FirebaseExpiredTime(UTCDate(DateTime.parse('2018-07-31T00:13:21Z'))), expires: FirebaseExpiredTime(UTCDate(DateTime.parse('2018-07-31T00:13:21Z'))),
types: [TypeName.mailboxType], types: [TypeName.mailboxType],
); );
final expectFirebaseRegistration2 = FirebaseRegistration( final expectFirebaseSubscription2 = FirebaseSubscription(
id: FirebaseRegistrationId(Id('f2d0aab5-e976-4e8b-ad4b-b380a5b987e4')), id: FirebaseSubscriptionId(Id('f2d0aab5-e976-4e8b-ad4b-b380a5b987e4')),
deviceClientId: DeviceClientId('X8980fc'), deviceClientId: DeviceClientId('X8980fc'),
expires: FirebaseExpiredTime(UTCDate(DateTime.parse('2018-07-12T05:55:00Z'))), expires: FirebaseExpiredTime(UTCDate(DateTime.parse('2018-07-12T05:55:00Z'))),
types: [TypeName.mailboxType, TypeName.emailType, TypeName.emailDelivery], types: [TypeName.mailboxType, TypeName.emailType, TypeName.emailDelivery],
); );
test('firebase registration get method and response parsing', () async { test('firebase subscription get method and response parsing', () async {
final baseOption = BaseOptions(method: 'POST'); final baseOption = BaseOptions(method: 'POST');
final dio = Dio(baseOption)..options.baseUrl = 'http://domain.com/jmap'; final dio = Dio(baseOption)..options.baseUrl = 'http://domain.com/jmap';
final dioAdapter = DioAdapter(dio: dio); final dioAdapter = DioAdapter(dio: dio);
@@ -85,20 +85,20 @@ void main() {
final processingInvocation = ProcessingInvocation(); final processingInvocation = ProcessingInvocation();
final requestBuilder = JmapRequestBuilder(httpClient, processingInvocation); final requestBuilder = JmapRequestBuilder(httpClient, processingInvocation);
final firebaseRegistrationGetMethod = FirebaseRegistrationGetMethod(); final firebaseSubscriptionGetMethod = FirebaseSubscriptionGetMethod();
final firebaseRegistrationGetInvocation = requestBuilder.invocation(firebaseRegistrationGetMethod); final firebaseSubscriptionGetInvocation = requestBuilder.invocation(firebaseSubscriptionGetMethod);
final response = await (requestBuilder final response = await (requestBuilder
..usings(firebaseRegistrationGetMethod.requiredCapabilities)) ..usings(firebaseSubscriptionGetMethod.requiredCapabilities))
.build() .build()
.execute(); .execute();
final resultList = response.parse<FirebaseRegistrationGetResponse>( final resultList = response.parse<FirebaseSubscriptionGetResponse>(
firebaseRegistrationGetInvocation.methodCallId, firebaseSubscriptionGetInvocation.methodCallId,
FirebaseRegistrationGetResponse.deserialize FirebaseSubscriptionGetResponse.deserialize
); );
expect(resultList?.list.length, equals(2)); expect(resultList?.list.length, equals(2));
expect(resultList?.list, containsAll([expectFirebaseRegistration1, expectFirebaseRegistration2])); expect(resultList?.list, containsAll([expectFirebaseSubscription1, expectFirebaseSubscription2]));
}); });
}); });
} }
@@ -1,10 +1,10 @@
import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:fcm/method/set/firebase_registration_set_method.dart'; import 'package:fcm/method/set/firebase_subscription_set_method.dart';
import 'package:fcm/method/set/firebase_registration_set_response.dart'; import 'package:fcm/method/set/firebase_subscription_set_response.dart';
import 'package:fcm/model/device_client_id.dart'; import 'package:fcm/model/device_client_id.dart';
import 'package:fcm/model/firebase_expired_time.dart'; import 'package:fcm/model/firebase_expired_time.dart';
import 'package:fcm/model/firebase_registration.dart'; import 'package:fcm/model/firebase_subscription.dart';
import 'package:fcm/model/firebase_registration_id.dart'; import 'package:fcm/model/firebase_subscription_id.dart';
import 'package:fcm/model/firebase_token.dart'; import 'package:fcm/model/firebase_token.dart';
import 'package:fcm/model/type_name.dart'; import 'package:fcm/model/type_name.dart';
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
@@ -15,13 +15,13 @@ import 'package:jmap_dart_client/jmap/core/utc_date.dart';
import 'package:jmap_dart_client/jmap/jmap_request.dart'; import 'package:jmap_dart_client/jmap/jmap_request.dart';
void main() { void main() {
group('test to json firebase registration set method', () { group('test to json firebase subscription set method', () {
final expectedFirebaseRegistrationCreated = FirebaseRegistration( final expectedFirebaseSubscriptionCreated = FirebaseSubscription(
id: FirebaseRegistrationId(Id('175dbd70-93d1-11ec-984e-e3f8b83572b4')), id: FirebaseSubscriptionId(Id('175dbd70-93d1-11ec-984e-e3f8b83572b4')),
expires: FirebaseExpiredTime(UTCDate(DateTime.parse('2022-03-31T02:14:29Z'))), expires: FirebaseExpiredTime(UTCDate(DateTime.parse('2022-03-31T02:14:29Z'))),
); );
test('firebase registration set method and response parsing', () async { test('firebase subscription set method and response parsing', () async {
final baseOption = BaseOptions(method: 'POST'); final baseOption = BaseOptions(method: 'POST');
final dio = Dio(baseOption) final dio = Dio(baseOption)
..options.baseUrl = 'http://domain.com/jmap'; ..options.baseUrl = 'http://domain.com/jmap';
@@ -75,10 +75,10 @@ void main() {
final createRequestId = Id('dab246'); final createRequestId = Id('dab246');
final firebaseRegistrationSetMethod = FirebaseRegistrationSetMethod() final firebaseSubscriptionSetMethod = FirebaseSubscriptionSetMethod()
..addCreate( ..addCreate(
createRequestId, createRequestId,
FirebaseRegistration( FirebaseSubscription(
deviceClientId: DeviceClientId('a123-b123-c123'), deviceClientId: DeviceClientId('a123-b123-c123'),
token: FirebaseToken('token1'), token: FirebaseToken('token1'),
types: [TypeName.mailboxType] types: [TypeName.mailboxType]
@@ -87,19 +87,19 @@ void main() {
final httpClient = HttpClient(dio); final httpClient = HttpClient(dio);
final requestBuilder = JmapRequestBuilder(httpClient, ProcessingInvocation()); final requestBuilder = JmapRequestBuilder(httpClient, ProcessingInvocation());
final firebaseRegistrationSetInvocation = requestBuilder.invocation(firebaseRegistrationSetMethod); final firebaseSubscriptionSetInvocation = requestBuilder.invocation(firebaseSubscriptionSetMethod);
final response = await (requestBuilder final response = await (requestBuilder
..usings(firebaseRegistrationSetMethod.requiredCapabilities)) ..usings(firebaseSubscriptionSetMethod.requiredCapabilities))
.build() .build()
.execute(); .execute();
final firebaseRegistrationSetResponse = response.parse<FirebaseRegistrationSetResponse>( final firebaseSubscriptionSetResponse = response.parse<FirebaseSubscriptionSetResponse>(
firebaseRegistrationSetInvocation.methodCallId, firebaseSubscriptionSetInvocation.methodCallId,
FirebaseRegistrationSetResponse.deserialize); FirebaseSubscriptionSetResponse.deserialize);
expect( expect(
firebaseRegistrationSetResponse!.created![createRequestId]!.id, firebaseSubscriptionSetResponse!.created![createRequestId]!.id,
equals(expectedFirebaseRegistrationCreated.id) equals(expectedFirebaseSubscriptionCreated.id)
); );
}); });
}); });