Skip to content

Commit

Permalink
[flutter_tools] Adds tests of mdns analytics events (#41410)
Browse files Browse the repository at this point in the history
  • Loading branch information
zanderso committed Sep 27, 2019
1 parent 8a2f8ad commit 716a672
Showing 1 changed file with 8 additions and 0 deletions.
Expand Up @@ -23,6 +23,7 @@ import 'package:flutter_tools/src/ios/ios_workflow.dart';
import 'package:flutter_tools/src/macos/xcode.dart';
import 'package:flutter_tools/src/mdns_discovery.dart';
import 'package:flutter_tools/src/project.dart';
import 'package:flutter_tools/src/reporting/reporting.dart';
import 'package:meta/meta.dart';
import 'package:mockito/mockito.dart';
import 'package:platform/platform.dart';
Expand All @@ -44,6 +45,7 @@ class MockMDnsObservatoryDiscovery extends Mock implements MDnsObservatoryDiscov
class MockXcode extends Mock implements Xcode {}
class MockFile extends Mock implements File {}
class MockPortForwarder extends Mock implements DevicePortForwarder {}
class MockUsage extends Mock implements Usage {}

void main() {
final FakePlatform macPlatform = FakePlatform.fromPlatform(const LocalPlatform());
Expand Down Expand Up @@ -84,6 +86,7 @@ void main() {
MockPortForwarder mockPortForwarder;
MockIMobileDevice mockIMobileDevice;
MockIOSDeploy mockIosDeploy;
MockUsage mockUsage;

Directory tempDir;
Directory projectDir;
Expand Down Expand Up @@ -115,6 +118,7 @@ void main() {
mockPortForwarder = MockPortForwarder();
mockIMobileDevice = MockIMobileDevice();
mockIosDeploy = MockIOSDeploy();
mockUsage = MockUsage();

tempDir = fs.systemTempDirectory.createTempSync('flutter_tools_create_test.');
projectDir = tempDir.childDirectory('flutter_project');
Expand Down Expand Up @@ -183,6 +187,7 @@ void main() {
debuggingOptions: DebuggingOptions.enabled(const BuildInfo(BuildMode.debug, null)),
platformArgs: <String, dynamic>{},
);
verify(mockUsage.sendEvent('ios-mdns', 'success')).called(1);
expect(launchResult.started, isTrue);
expect(launchResult.hasObservatory, isTrue);
expect(await device.stopApp(mockApp), isFalse);
Expand All @@ -193,6 +198,7 @@ void main() {
MDnsObservatoryDiscovery: () => mockMDnsObservatoryDiscovery,
Platform: () => macPlatform,
ProcessManager: () => mockProcessManager,
Usage: () => mockUsage,
});

testUsingContext(' succeeds in debug mode when mDNS fails by falling back to manual protocol discovery', () async {
Expand All @@ -212,6 +218,7 @@ void main() {
debuggingOptions: DebuggingOptions.enabled(const BuildInfo(BuildMode.debug, null)),
platformArgs: <String, dynamic>{},
);
verify(mockUsage.sendEvent('ios-mdns', 'failure')).called(1);
expect(launchResult.started, isTrue);
expect(launchResult.hasObservatory, isTrue);
expect(await device.stopApp(mockApp), isFalse);
Expand All @@ -222,6 +229,7 @@ void main() {
MDnsObservatoryDiscovery: () => mockMDnsObservatoryDiscovery,
Platform: () => macPlatform,
ProcessManager: () => mockProcessManager,
Usage: () => mockUsage,
});

testUsingContext(' fails in debug mode when mDNS fails and when Observatory URI is malformed', () async {
Expand Down

0 comments on commit 716a672

Please sign in to comment.