From 3eea5004d3e5c8419f40baa8629144cc61ce21f4 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 22 Apr 2019 16:19:16 -0700 Subject: [PATCH 1/8] Initial firebase_messaging integration tests --- .../firebase_messaging/example/pubspec.yaml | 47 +++---------------- .../test_driver/firebase_messaging.dart | 24 ++++++++++ .../test_driver/firebase_messaging_test.dart | 7 +++ packages/firebase_messaging/pubspec.yaml | 2 + 4 files changed, 39 insertions(+), 41 deletions(-) create mode 100644 packages/firebase_messaging/example/test_driver/firebase_messaging.dart create mode 100644 packages/firebase_messaging/example/test_driver/firebase_messaging_test.dart diff --git a/packages/firebase_messaging/example/pubspec.yaml b/packages/firebase_messaging/example/pubspec.yaml index 42940ecdd010..cc59e51792b9 100644 --- a/packages/firebase_messaging/example/pubspec.yaml +++ b/packages/firebase_messaging/example/pubspec.yaml @@ -8,47 +8,12 @@ dependencies: path: ../ firebase_core: ^0.3.0 -# For information on the generic Dart part of this file, see the -# following page: https://www.dartlang.org/tools/pub/pubspec +dev_dependencies: + flutter_test: + sdk: flutter + flutter_driver: + sdk: flutter + test: any -# The following section is specific to Flutter. flutter: - - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the Icons class. uses-material-design: true - - # To add assets to your application, add an assets section here, in - # this "flutter" section, as in: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg - - # To add assets from package dependencies, first ensure the asset - # is in the lib/ directory of the dependency. Then, - # refer to the asset with a path prefixed with - # `packages/PACKAGE_NAME/`. Note: the `lib/` is implied, do not - # include `lib/` in the asset path. - # - # Here is an example: - # - # assets: - # - packages/PACKAGE_NAME/path/to/asset - - # To add custom fonts to your application, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 diff --git a/packages/firebase_messaging/example/test_driver/firebase_messaging.dart b/packages/firebase_messaging/example/test_driver/firebase_messaging.dart new file mode 100644 index 000000000000..4e2fc9bbf6f4 --- /dev/null +++ b/packages/firebase_messaging/example/test_driver/firebase_messaging.dart @@ -0,0 +1,24 @@ +import 'dart:async'; +import 'package:flutter_driver/driver_extension.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:firebase_messaging/firebase_messaging.dart'; + +void main() { + final Completer completer = Completer(); + enableFlutterDriverExtension(handler: (_) => completer.future); + tearDownAll(() => completer.complete(null)); + + group('$FirebaseMessaging', () { + final FirebaseMessaging firebaseMessaging = FirebaseMessaging(); + + test('getToken', () async { + final String token = await firebaseMessaging.getToken(); + expect(token, isNotNull); + }); + + test('subscribeToTopic and unsubscribeFromTopic', () async { + await firebaseMessaging.subscribeToTopic('foo'); + firebaseMessaging.unsubscribeFromTopic('foo'); + }); + }); +} diff --git a/packages/firebase_messaging/example/test_driver/firebase_messaging_test.dart b/packages/firebase_messaging/example/test_driver/firebase_messaging_test.dart new file mode 100644 index 000000000000..38fe6c447e05 --- /dev/null +++ b/packages/firebase_messaging/example/test_driver/firebase_messaging_test.dart @@ -0,0 +1,7 @@ +import 'package:flutter_driver/flutter_driver.dart'; + +Future main() async { + final FlutterDriver driver = await FlutterDriver.connect(); + await driver.requestData(null, timeout: const Duration(minutes: 1)); + driver.close(); +} diff --git a/packages/firebase_messaging/pubspec.yaml b/packages/firebase_messaging/pubspec.yaml index ebc12e22d736..495311e33965 100644 --- a/packages/firebase_messaging/pubspec.yaml +++ b/packages/firebase_messaging/pubspec.yaml @@ -23,6 +23,8 @@ dev_dependencies: flutter_test: sdk: flutter firebase_core: ^0.3.0 + flutter_driver: + sdk: flutter environment: sdk: ">=2.0.0-dev.28.0 <3.0.0" From d9b4430ee09ab36d11c14432d60e5f496b656cc7 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 8 Jul 2019 08:16:02 -0700 Subject: [PATCH 2/8] More integration tests for firebase_messaging --- .../test_driver/firebase_messaging.dart | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/packages/firebase_messaging/example/test_driver/firebase_messaging.dart b/packages/firebase_messaging/example/test_driver/firebase_messaging.dart index 4e2fc9bbf6f4..813010fa2a03 100644 --- a/packages/firebase_messaging/example/test_driver/firebase_messaging.dart +++ b/packages/firebase_messaging/example/test_driver/firebase_messaging.dart @@ -1,3 +1,4 @@ +import 'dart:io'; import 'dart:async'; import 'package:flutter_driver/driver_extension.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -13,12 +14,28 @@ void main() { test('getToken', () async { final String token = await firebaseMessaging.getToken(); - expect(token, isNotNull); + // Token is sometimes null in simulators + // expect(token, isNotNull); }); - test('subscribeToTopic and unsubscribeFromTopic', () async { - await firebaseMessaging.subscribeToTopic('foo'); + test('autoInitEnabled', () async { + await firebaseMessaging.setAutoInitEnabled(false); + expect(await firebaseMessaging.autoInitEnabled(), false); + await firebaseMessaging.setAutoInitEnabled(true); + expect(await firebaseMessaging.autoInitEnabled(), true); + }); + + test('subscribeToTopic', () async { + firebaseMessaging.subscribeToTopic('foo'); + }); + + test('unsubscribeFromTopic', () async { firebaseMessaging.unsubscribeFromTopic('foo'); }); + + test('deleteInstanceID', () async { + bool result = await firebaseMessaging.deleteInstanceID(); + expect(result, isTrue); + }); }); } From 518a82b479e1d311862154be799d7572e3f5f67b Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 8 Jul 2019 08:17:59 -0700 Subject: [PATCH 3/8] Bump changelog and pubspec for release --- packages/firebase_messaging/CHANGELOG.md | 4 ++++ packages/firebase_messaging/pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/firebase_messaging/CHANGELOG.md b/packages/firebase_messaging/CHANGELOG.md index ed659dffb2b3..8855158f911f 100644 --- a/packages/firebase_messaging/CHANGELOG.md +++ b/packages/firebase_messaging/CHANGELOG.md @@ -1,3 +1,7 @@ +## 4.0.0+4 + +* Additional integration tests. + ## 4.0.0+3 * Update iOS configuration documentation. diff --git a/packages/firebase_messaging/pubspec.yaml b/packages/firebase_messaging/pubspec.yaml index 495311e33965..841d9f83eb56 100644 --- a/packages/firebase_messaging/pubspec.yaml +++ b/packages/firebase_messaging/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for Firebase Cloud Messaging, a cross-platform messaging solution that lets you reliably deliver messages on Android and iOS. author: Flutter Team homepage: https://github.com/flutter/plugins/tree/master/packages/firebase_messaging -version: 4.0.0+3 +version: 4.0.0+4 flutter: plugin: From 387cce4d23a7359daf43530d4b8ef7d46808f63a Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 8 Jul 2019 08:22:51 -0700 Subject: [PATCH 4/8] fix analyzer issues --- .../example/test_driver/firebase_messaging.dart | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/firebase_messaging/example/test_driver/firebase_messaging.dart b/packages/firebase_messaging/example/test_driver/firebase_messaging.dart index 813010fa2a03..a49d37924399 100644 --- a/packages/firebase_messaging/example/test_driver/firebase_messaging.dart +++ b/packages/firebase_messaging/example/test_driver/firebase_messaging.dart @@ -1,4 +1,3 @@ -import 'dart:io'; import 'dart:async'; import 'package:flutter_driver/driver_extension.dart'; import 'package:flutter_test/flutter_test.dart'; @@ -13,7 +12,7 @@ void main() { final FirebaseMessaging firebaseMessaging = FirebaseMessaging(); test('getToken', () async { - final String token = await firebaseMessaging.getToken(); + await firebaseMessaging.getToken(); // Token is sometimes null in simulators // expect(token, isNotNull); }); @@ -34,7 +33,7 @@ void main() { }); test('deleteInstanceID', () async { - bool result = await firebaseMessaging.deleteInstanceID(); + final bool result = await firebaseMessaging.deleteInstanceID(); expect(result, isTrue); }); }); From d65ab41deaaa089b467940f396f1650445617586 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 8 Jul 2019 08:25:47 -0700 Subject: [PATCH 5/8] merge damage --- packages/firebase_messaging/CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/firebase_messaging/CHANGELOG.md b/packages/firebase_messaging/CHANGELOG.md index 523afec9df7f..450f8c0f81f1 100644 --- a/packages/firebase_messaging/CHANGELOG.md +++ b/packages/firebase_messaging/CHANGELOG.md @@ -31,7 +31,6 @@ ## 4.0.0+4 * Remove obsolete `use_frameworks!` instruction. ->>>>>>> origin/master ## 4.0.0+3 From 1256f79acec700677c2f4cd5ce67d2522e834487 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 8 Jul 2019 08:43:17 -0700 Subject: [PATCH 6/8] fix merge issue --- packages/firebase_messaging/pubspec.yaml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/firebase_messaging/pubspec.yaml b/packages/firebase_messaging/pubspec.yaml index 04b0cbdd7e68..59ced563d0db 100644 --- a/packages/firebase_messaging/pubspec.yaml +++ b/packages/firebase_messaging/pubspec.yaml @@ -22,13 +22,9 @@ dev_dependencies: mockito: ^3.0.0 flutter_test: sdk: flutter -<<<<<<< HEAD - firebase_core: ^0.3.0 + firebase_core: ^0.4.0 flutter_driver: sdk: flutter -======= - firebase_core: ^0.4.0 ->>>>>>> origin/master environment: sdk: ">=2.0.0-dev.28.0 <3.0.0" From 2d9c96e027f135d1cde76dea955d77dbc0ac262c Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 8 Jul 2019 08:46:28 -0700 Subject: [PATCH 7/8] Update version --- packages/firebase_messaging/CHANGELOG.md | 2 +- packages/firebase_messaging/pubspec.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/firebase_messaging/CHANGELOG.md b/packages/firebase_messaging/CHANGELOG.md index 450f8c0f81f1..80985bef4410 100644 --- a/packages/firebase_messaging/CHANGELOG.md +++ b/packages/firebase_messaging/CHANGELOG.md @@ -1,4 +1,4 @@ -## 5.0.4+1 +## 5.0.5 * Additional integration tests. diff --git a/packages/firebase_messaging/pubspec.yaml b/packages/firebase_messaging/pubspec.yaml index 59ced563d0db..694300de77ad 100644 --- a/packages/firebase_messaging/pubspec.yaml +++ b/packages/firebase_messaging/pubspec.yaml @@ -3,7 +3,7 @@ description: Flutter plugin for Firebase Cloud Messaging, a cross-platform messaging solution that lets you reliably deliver messages on Android and iOS. author: Flutter Team homepage: https://github.com/flutter/plugins/tree/master/packages/firebase_messaging -version: 5.0.4+1 +version: 5.0.5 flutter: plugin: From ddb94c3e3bffb599ff6e7a0bb657706e3b74918c Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Mon, 8 Jul 2019 11:28:28 -0700 Subject: [PATCH 8/8] Remove token test --- .../example/test_driver/firebase_messaging.dart | 6 ------ 1 file changed, 6 deletions(-) diff --git a/packages/firebase_messaging/example/test_driver/firebase_messaging.dart b/packages/firebase_messaging/example/test_driver/firebase_messaging.dart index a49d37924399..67965b164bbb 100644 --- a/packages/firebase_messaging/example/test_driver/firebase_messaging.dart +++ b/packages/firebase_messaging/example/test_driver/firebase_messaging.dart @@ -11,12 +11,6 @@ void main() { group('$FirebaseMessaging', () { final FirebaseMessaging firebaseMessaging = FirebaseMessaging(); - test('getToken', () async { - await firebaseMessaging.getToken(); - // Token is sometimes null in simulators - // expect(token, isNotNull); - }); - test('autoInitEnabled', () async { await firebaseMessaging.setAutoInitEnabled(false); expect(await firebaseMessaging.autoInitEnabled(), false);