From 67a4a519aae7aae37a339e96a2b8df9ffc5cce4b Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Fri, 24 Jan 2020 06:10:51 -0800 Subject: [PATCH 1/3] Fix test on iOS --- .../cloud_functions/cloud_functions/example/pubspec.yaml | 1 + .../cloud_functions/example/test/cloud_functions.dart | 8 +++----- .../example/test_driver/cloud_functions_test.dart | 1 + packages/cloud_functions/cloud_functions/pubspec.yaml | 1 + 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/cloud_functions/cloud_functions/example/pubspec.yaml b/packages/cloud_functions/cloud_functions/example/pubspec.yaml index 2619baf7dcb8..f49da6b359c1 100644 --- a/packages/cloud_functions/cloud_functions/example/pubspec.yaml +++ b/packages/cloud_functions/cloud_functions/example/pubspec.yaml @@ -12,6 +12,7 @@ dependencies: firebase_core: ^0.4.0 dev_dependencies: + e2e: ^0.2.1 flutter_test: sdk: flutter flutter_driver: diff --git a/packages/cloud_functions/cloud_functions/example/test/cloud_functions.dart b/packages/cloud_functions/cloud_functions/example/test/cloud_functions.dart index 4bccc1f0aed0..27a8fa00a588 100644 --- a/packages/cloud_functions/cloud_functions/example/test/cloud_functions.dart +++ b/packages/cloud_functions/cloud_functions/example/test/cloud_functions.dart @@ -3,17 +3,15 @@ // BSD-style license that can be found in the LICENSE file. import 'dart:async'; -import 'package:flutter_driver/driver_extension.dart'; +import 'package:e2e/e2e.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:cloud_functions/cloud_functions.dart'; void main() { - final Completer completer = Completer(); - enableFlutterDriverExtension(handler: (_) => completer.future); - tearDownAll(() => completer.complete(null)); + E2EWidgetsFlutterBinding.ensureInitialized(); group('$CloudFunctions', () { - test('call', () async { + testWidgets('call', (_) async { // default timeout final HttpsCallable callable = CloudFunctions.instance.getHttpsCallable(functionName: 'repeat'); diff --git a/packages/cloud_functions/cloud_functions/example/test_driver/cloud_functions_test.dart b/packages/cloud_functions/cloud_functions/example/test_driver/cloud_functions_test.dart index bdb89a51b2ad..f57ce7b17bb1 100644 --- a/packages/cloud_functions/cloud_functions/example/test_driver/cloud_functions_test.dart +++ b/packages/cloud_functions/cloud_functions/example/test_driver/cloud_functions_test.dart @@ -8,4 +8,5 @@ Future main() async { final FlutterDriver driver = await FlutterDriver.connect(); await driver.requestData(null, timeout: const Duration(minutes: 1)); await driver.close(); + exit(result == 'pass' ? 0 : 1); } diff --git a/packages/cloud_functions/cloud_functions/pubspec.yaml b/packages/cloud_functions/cloud_functions/pubspec.yaml index cd51800d9fbe..8537acc98aa1 100644 --- a/packages/cloud_functions/cloud_functions/pubspec.yaml +++ b/packages/cloud_functions/cloud_functions/pubspec.yaml @@ -13,6 +13,7 @@ flutter: pluginClass: CloudFunctionsPlugin dependencies: + e2e: ^0.2.1 meta: ^1.1.6 flutter: sdk: flutter From 8a89a31f34c49b46f138d6f8696cec2b4daa6b69 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Fri, 24 Jan 2020 06:14:45 -0800 Subject: [PATCH 2/3] bump for release --- packages/cloud_functions/cloud_functions/CHANGELOG.md | 4 ++++ packages/cloud_functions/cloud_functions/pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/cloud_functions/cloud_functions/CHANGELOG.md b/packages/cloud_functions/cloud_functions/CHANGELOG.md index b2a37afbee68..1c4d43471ed2 100644 --- a/packages/cloud_functions/cloud_functions/CHANGELOG.md +++ b/packages/cloud_functions/cloud_functions/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.4.1+8 + +* Ensure that integration test failures on iOS turn the build red. + ## 0.4.1+7 * Update to use the platform interface to execute calls. diff --git a/packages/cloud_functions/cloud_functions/pubspec.yaml b/packages/cloud_functions/cloud_functions/pubspec.yaml index 8537acc98aa1..61a024ce536b 100644 --- a/packages/cloud_functions/cloud_functions/pubspec.yaml +++ b/packages/cloud_functions/cloud_functions/pubspec.yaml @@ -1,6 +1,6 @@ name: cloud_functions description: Flutter plugin for Cloud Functions. -version: 0.4.1+7 +version: 0.4.1+8 homepage: https://github.com/FirebaseExtended/flutterfire/tree/master/packages/cloud_functions/cloud_functions flutter: From 4bef3777411cb3d8439dfd1f31efad167987ca48 Mon Sep 17 00:00:00 2001 From: Collin Jackson Date: Fri, 24 Jan 2020 06:45:59 -0800 Subject: [PATCH 3/3] Fix test failures --- .../cloud_functions/example/test/cloud_functions.dart | 1 - .../example/test_driver/cloud_functions_test.dart | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/cloud_functions/cloud_functions/example/test/cloud_functions.dart b/packages/cloud_functions/cloud_functions/example/test/cloud_functions.dart index 27a8fa00a588..f824ebe2f489 100644 --- a/packages/cloud_functions/cloud_functions/example/test/cloud_functions.dart +++ b/packages/cloud_functions/cloud_functions/example/test/cloud_functions.dart @@ -2,7 +2,6 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. -import 'dart:async'; import 'package:e2e/e2e.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:cloud_functions/cloud_functions.dart'; diff --git a/packages/cloud_functions/cloud_functions/example/test_driver/cloud_functions_test.dart b/packages/cloud_functions/cloud_functions/example/test_driver/cloud_functions_test.dart index f57ce7b17bb1..ccd716607d60 100644 --- a/packages/cloud_functions/cloud_functions/example/test_driver/cloud_functions_test.dart +++ b/packages/cloud_functions/cloud_functions/example/test_driver/cloud_functions_test.dart @@ -2,11 +2,15 @@ // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. +import 'dart:async'; +import 'dart:io'; + 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)); + final String result = + await driver.requestData(null, timeout: const Duration(minutes: 1)); await driver.close(); exit(result == 'pass' ? 0 : 1); }