mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
[flutter_tools] Adds tests of mdns analytics events (#41410)
This commit is contained in:
parent
8a2f8adfb0
commit
716a672bc8
@ -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/macos/xcode.dart';
|
||||||
import 'package:flutter_tools/src/mdns_discovery.dart';
|
import 'package:flutter_tools/src/mdns_discovery.dart';
|
||||||
import 'package:flutter_tools/src/project.dart';
|
import 'package:flutter_tools/src/project.dart';
|
||||||
|
import 'package:flutter_tools/src/reporting/reporting.dart';
|
||||||
import 'package:meta/meta.dart';
|
import 'package:meta/meta.dart';
|
||||||
import 'package:mockito/mockito.dart';
|
import 'package:mockito/mockito.dart';
|
||||||
import 'package:platform/platform.dart';
|
import 'package:platform/platform.dart';
|
||||||
@ -44,6 +45,7 @@ class MockMDnsObservatoryDiscovery extends Mock implements MDnsObservatoryDiscov
|
|||||||
class MockXcode extends Mock implements Xcode {}
|
class MockXcode extends Mock implements Xcode {}
|
||||||
class MockFile extends Mock implements File {}
|
class MockFile extends Mock implements File {}
|
||||||
class MockPortForwarder extends Mock implements DevicePortForwarder {}
|
class MockPortForwarder extends Mock implements DevicePortForwarder {}
|
||||||
|
class MockUsage extends Mock implements Usage {}
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
final FakePlatform macPlatform = FakePlatform.fromPlatform(const LocalPlatform());
|
final FakePlatform macPlatform = FakePlatform.fromPlatform(const LocalPlatform());
|
||||||
@ -84,6 +86,7 @@ void main() {
|
|||||||
MockPortForwarder mockPortForwarder;
|
MockPortForwarder mockPortForwarder;
|
||||||
MockIMobileDevice mockIMobileDevice;
|
MockIMobileDevice mockIMobileDevice;
|
||||||
MockIOSDeploy mockIosDeploy;
|
MockIOSDeploy mockIosDeploy;
|
||||||
|
MockUsage mockUsage;
|
||||||
|
|
||||||
Directory tempDir;
|
Directory tempDir;
|
||||||
Directory projectDir;
|
Directory projectDir;
|
||||||
@ -115,6 +118,7 @@ void main() {
|
|||||||
mockPortForwarder = MockPortForwarder();
|
mockPortForwarder = MockPortForwarder();
|
||||||
mockIMobileDevice = MockIMobileDevice();
|
mockIMobileDevice = MockIMobileDevice();
|
||||||
mockIosDeploy = MockIOSDeploy();
|
mockIosDeploy = MockIOSDeploy();
|
||||||
|
mockUsage = MockUsage();
|
||||||
|
|
||||||
tempDir = fs.systemTempDirectory.createTempSync('flutter_tools_create_test.');
|
tempDir = fs.systemTempDirectory.createTempSync('flutter_tools_create_test.');
|
||||||
projectDir = tempDir.childDirectory('flutter_project');
|
projectDir = tempDir.childDirectory('flutter_project');
|
||||||
@ -183,6 +187,7 @@ void main() {
|
|||||||
debuggingOptions: DebuggingOptions.enabled(const BuildInfo(BuildMode.debug, null)),
|
debuggingOptions: DebuggingOptions.enabled(const BuildInfo(BuildMode.debug, null)),
|
||||||
platformArgs: <String, dynamic>{},
|
platformArgs: <String, dynamic>{},
|
||||||
);
|
);
|
||||||
|
verify(mockUsage.sendEvent('ios-mdns', 'success')).called(1);
|
||||||
expect(launchResult.started, isTrue);
|
expect(launchResult.started, isTrue);
|
||||||
expect(launchResult.hasObservatory, isTrue);
|
expect(launchResult.hasObservatory, isTrue);
|
||||||
expect(await device.stopApp(mockApp), isFalse);
|
expect(await device.stopApp(mockApp), isFalse);
|
||||||
@ -193,6 +198,7 @@ void main() {
|
|||||||
MDnsObservatoryDiscovery: () => mockMDnsObservatoryDiscovery,
|
MDnsObservatoryDiscovery: () => mockMDnsObservatoryDiscovery,
|
||||||
Platform: () => macPlatform,
|
Platform: () => macPlatform,
|
||||||
ProcessManager: () => mockProcessManager,
|
ProcessManager: () => mockProcessManager,
|
||||||
|
Usage: () => mockUsage,
|
||||||
});
|
});
|
||||||
|
|
||||||
testUsingContext(' succeeds in debug mode when mDNS fails by falling back to manual protocol discovery', () async {
|
testUsingContext(' succeeds in debug mode when mDNS fails by falling back to manual protocol discovery', () async {
|
||||||
@ -212,6 +218,7 @@ void main() {
|
|||||||
debuggingOptions: DebuggingOptions.enabled(const BuildInfo(BuildMode.debug, null)),
|
debuggingOptions: DebuggingOptions.enabled(const BuildInfo(BuildMode.debug, null)),
|
||||||
platformArgs: <String, dynamic>{},
|
platformArgs: <String, dynamic>{},
|
||||||
);
|
);
|
||||||
|
verify(mockUsage.sendEvent('ios-mdns', 'failure')).called(1);
|
||||||
expect(launchResult.started, isTrue);
|
expect(launchResult.started, isTrue);
|
||||||
expect(launchResult.hasObservatory, isTrue);
|
expect(launchResult.hasObservatory, isTrue);
|
||||||
expect(await device.stopApp(mockApp), isFalse);
|
expect(await device.stopApp(mockApp), isFalse);
|
||||||
@ -222,6 +229,7 @@ void main() {
|
|||||||
MDnsObservatoryDiscovery: () => mockMDnsObservatoryDiscovery,
|
MDnsObservatoryDiscovery: () => mockMDnsObservatoryDiscovery,
|
||||||
Platform: () => macPlatform,
|
Platform: () => macPlatform,
|
||||||
ProcessManager: () => mockProcessManager,
|
ProcessManager: () => mockProcessManager,
|
||||||
|
Usage: () => mockUsage,
|
||||||
});
|
});
|
||||||
|
|
||||||
testUsingContext(' fails in debug mode when mDNS fails and when Observatory URI is malformed', () async {
|
testUsingContext(' fails in debug mode when mDNS fails and when Observatory URI is malformed', () async {
|
||||||
|
Loading…
Reference in New Issue
Block a user