Remove more mocks from error_handling_io and attach_test (#83504)
This commit is contained in:
parent
5c92c5f2c8
commit
6b92a93c0f
@ -9,6 +9,7 @@ import 'dart:io';
|
|||||||
|
|
||||||
import 'package:file/memory.dart';
|
import 'package:file/memory.dart';
|
||||||
import 'package:flutter_tools/src/android/android_device.dart';
|
import 'package:flutter_tools/src/android/android_device.dart';
|
||||||
|
import 'package:flutter_tools/src/artifacts.dart';
|
||||||
import 'package:flutter_tools/src/base/common.dart';
|
import 'package:flutter_tools/src/base/common.dart';
|
||||||
import 'package:flutter_tools/src/base/dds.dart';
|
import 'package:flutter_tools/src/base/dds.dart';
|
||||||
import 'package:flutter_tools/src/base/file_system.dart';
|
import 'package:flutter_tools/src/base/file_system.dart';
|
||||||
@ -20,6 +21,7 @@ import 'package:flutter_tools/src/commands/attach.dart';
|
|||||||
import 'package:flutter_tools/src/device.dart';
|
import 'package:flutter_tools/src/device.dart';
|
||||||
import 'package:flutter_tools/src/device_port_forwarder.dart';
|
import 'package:flutter_tools/src/device_port_forwarder.dart';
|
||||||
import 'package:flutter_tools/src/globals_null_migrated.dart' as globals;
|
import 'package:flutter_tools/src/globals_null_migrated.dart' as globals;
|
||||||
|
import 'package:flutter_tools/src/ios/application_package.dart';
|
||||||
import 'package:flutter_tools/src/ios/devices.dart';
|
import 'package:flutter_tools/src/ios/devices.dart';
|
||||||
import 'package:flutter_tools/src/project.dart';
|
import 'package:flutter_tools/src/project.dart';
|
||||||
import 'package:flutter_tools/src/resident_runner.dart';
|
import 'package:flutter_tools/src/resident_runner.dart';
|
||||||
@ -77,14 +79,14 @@ void main() {
|
|||||||
|
|
||||||
FakeDeviceLogReader fakeLogReader;
|
FakeDeviceLogReader fakeLogReader;
|
||||||
MockPortForwarder portForwarder;
|
MockPortForwarder portForwarder;
|
||||||
MockDartDevelopmentService mockDds;
|
FakeDartDevelopmentService fakeDds;
|
||||||
MockAndroidDevice device;
|
MockAndroidDevice device;
|
||||||
|
|
||||||
setUp(() {
|
setUp(() {
|
||||||
fakeLogReader = FakeDeviceLogReader();
|
fakeLogReader = FakeDeviceLogReader();
|
||||||
portForwarder = MockPortForwarder();
|
portForwarder = MockPortForwarder();
|
||||||
device = MockAndroidDevice();
|
device = MockAndroidDevice();
|
||||||
mockDds = MockDartDevelopmentService();
|
fakeDds = FakeDartDevelopmentService();
|
||||||
when(device.portForwarder)
|
when(device.portForwarder)
|
||||||
.thenReturn(portForwarder);
|
.thenReturn(portForwarder);
|
||||||
when(portForwarder.forward(devicePort, hostPort: anyNamed('hostPort')))
|
when(portForwarder.forward(devicePort, hostPort: anyNamed('hostPort')))
|
||||||
@ -93,12 +95,7 @@ void main() {
|
|||||||
.thenReturn(<ForwardedPort>[ForwardedPort(hostPort, devicePort)]);
|
.thenReturn(<ForwardedPort>[ForwardedPort(hostPort, devicePort)]);
|
||||||
when(portForwarder.unforward(any))
|
when(portForwarder.unforward(any))
|
||||||
.thenAnswer((_) async {});
|
.thenAnswer((_) async {});
|
||||||
when(device.dds).thenReturn(mockDds);
|
when(device.dds).thenReturn(fakeDds);
|
||||||
final Completer<void> noopCompleter = Completer<void>();
|
|
||||||
when(mockDds.startDartDevelopmentService(any, any, false, any, logger: anyNamed('logger'))).thenReturn(null);
|
|
||||||
when(mockDds.uri).thenReturn(Uri.parse('http://localhost:8181'));
|
|
||||||
when(mockDds.done).thenAnswer((_) => noopCompleter.future);
|
|
||||||
|
|
||||||
// We cannot add the device to a device manager because that is
|
// We cannot add the device to a device manager because that is
|
||||||
// only enabled by the context of each testUsingContext call.
|
// only enabled by the context of each testUsingContext call.
|
||||||
//
|
//
|
||||||
@ -293,16 +290,14 @@ void main() {
|
|||||||
const int hostPort = 42;
|
const int hostPort = 42;
|
||||||
final FakeDeviceLogReader fakeLogReader = FakeDeviceLogReader();
|
final FakeDeviceLogReader fakeLogReader = FakeDeviceLogReader();
|
||||||
final MockPortForwarder portForwarder = MockPortForwarder();
|
final MockPortForwarder portForwarder = MockPortForwarder();
|
||||||
final MockDartDevelopmentService mockDds = MockDartDevelopmentService();
|
final FakeDartDevelopmentService fakeDds = FakeDartDevelopmentService();
|
||||||
final MockAndroidDevice device = MockAndroidDevice();
|
final MockAndroidDevice device = MockAndroidDevice();
|
||||||
final MockHotRunner mockHotRunner = MockHotRunner();
|
final MockHotRunner mockHotRunner = MockHotRunner();
|
||||||
final MockHotRunnerFactory mockHotRunnerFactory = MockHotRunnerFactory();
|
final MockHotRunnerFactory mockHotRunnerFactory = MockHotRunnerFactory();
|
||||||
when(device.portForwarder)
|
when(device.portForwarder)
|
||||||
.thenReturn(portForwarder);
|
.thenReturn(portForwarder);
|
||||||
when(device.dds)
|
when(device.dds)
|
||||||
.thenReturn(mockDds);
|
.thenReturn(fakeDds);
|
||||||
final Completer<void> noopCompleter = Completer<void>();
|
|
||||||
when(mockDds.done).thenAnswer((_) => noopCompleter.future);
|
|
||||||
when(portForwarder.forward(devicePort, hostPort: anyNamed('hostPort')))
|
when(portForwarder.forward(devicePort, hostPort: anyNamed('hostPort')))
|
||||||
.thenAnswer((_) async => hostPort);
|
.thenAnswer((_) async => hostPort);
|
||||||
when(portForwarder.forwardedPorts)
|
when(portForwarder.forwardedPorts)
|
||||||
@ -324,8 +319,6 @@ void main() {
|
|||||||
)).thenReturn(mockHotRunner);
|
)).thenReturn(mockHotRunner);
|
||||||
when(mockHotRunner.exited).thenReturn(false);
|
when(mockHotRunner.exited).thenReturn(false);
|
||||||
when(mockHotRunner.isWaitingForObservatory).thenReturn(false);
|
when(mockHotRunner.isWaitingForObservatory).thenReturn(false);
|
||||||
when(mockDds.startDartDevelopmentService(any, any, false, any, logger: anyNamed('logger'))).thenReturn(null);
|
|
||||||
when(mockDds.uri).thenReturn(Uri.parse('http://localhost:8181'));
|
|
||||||
|
|
||||||
testDeviceManager.addDevice(device);
|
testDeviceManager.addDevice(device);
|
||||||
when(device.getLogReader(includePastLogs: anyNamed('includePastLogs')))
|
when(device.getLogReader(includePastLogs: anyNamed('includePastLogs')))
|
||||||
@ -378,18 +371,10 @@ void main() {
|
|||||||
const int hostPort = 42;
|
const int hostPort = 42;
|
||||||
final FakeDeviceLogReader fakeLogReader = FakeDeviceLogReader();
|
final FakeDeviceLogReader fakeLogReader = FakeDeviceLogReader();
|
||||||
final MockPortForwarder portForwarder = MockPortForwarder();
|
final MockPortForwarder portForwarder = MockPortForwarder();
|
||||||
final MockDartDevelopmentService mockDds = MockDartDevelopmentService();
|
final FakeDartDevelopmentService mockDds = FakeDartDevelopmentService();
|
||||||
final MockIOSDevice device = MockIOSDevice();
|
final FakeIOSDevice device = FakeIOSDevice(dds: mockDds, portForwarder: portForwarder, logReader: fakeLogReader);
|
||||||
final MockHotRunner mockHotRunner = MockHotRunner();
|
final MockHotRunner mockHotRunner = MockHotRunner();
|
||||||
final MockHotRunnerFactory mockHotRunnerFactory = MockHotRunnerFactory();
|
final MockHotRunnerFactory mockHotRunnerFactory = MockHotRunnerFactory();
|
||||||
when(device.portForwarder)
|
|
||||||
.thenReturn(portForwarder);
|
|
||||||
when(device.dds)
|
|
||||||
.thenReturn(mockDds);
|
|
||||||
final Completer<void> noopCompleter = Completer<void>();
|
|
||||||
when(mockDds.done).thenAnswer((_) => noopCompleter.future);
|
|
||||||
when(device.getLogReader(includePastLogs: anyNamed('includePastLogs')))
|
|
||||||
.thenAnswer((_) => fakeLogReader);
|
|
||||||
when(portForwarder.forward(devicePort, hostPort: anyNamed('hostPort')))
|
when(portForwarder.forward(devicePort, hostPort: anyNamed('hostPort')))
|
||||||
.thenAnswer((_) async => hostPort);
|
.thenAnswer((_) async => hostPort);
|
||||||
when(portForwarder.forwardedPorts)
|
when(portForwarder.forwardedPorts)
|
||||||
@ -411,8 +396,6 @@ void main() {
|
|||||||
)).thenReturn(mockHotRunner);
|
)).thenReturn(mockHotRunner);
|
||||||
when(mockHotRunner.exited).thenReturn(false);
|
when(mockHotRunner.exited).thenReturn(false);
|
||||||
when(mockHotRunner.isWaitingForObservatory).thenReturn(false);
|
when(mockHotRunner.isWaitingForObservatory).thenReturn(false);
|
||||||
when(mockDds.startDartDevelopmentService(any, any, false, any, logger: anyNamed('logger'))).thenReturn(null);
|
|
||||||
when(mockDds.uri).thenReturn(Uri.parse('http://localhost:8181'));
|
|
||||||
|
|
||||||
testDeviceManager.addDevice(device);
|
testDeviceManager.addDevice(device);
|
||||||
|
|
||||||
@ -445,7 +428,7 @@ void main() {
|
|||||||
|
|
||||||
setUp(() {
|
setUp(() {
|
||||||
portForwarder = MockPortForwarder();
|
portForwarder = MockPortForwarder();
|
||||||
final MockDartDevelopmentService mockDds = MockDartDevelopmentService();
|
final FakeDartDevelopmentService fakeDds = FakeDartDevelopmentService();
|
||||||
device = MockAndroidDevice();
|
device = MockAndroidDevice();
|
||||||
|
|
||||||
when(device.portForwarder)
|
when(device.portForwarder)
|
||||||
@ -457,12 +440,7 @@ void main() {
|
|||||||
when(portForwarder.unforward(any))
|
when(portForwarder.unforward(any))
|
||||||
.thenAnswer((_) async {});
|
.thenAnswer((_) async {});
|
||||||
when(device.dds)
|
when(device.dds)
|
||||||
.thenReturn(mockDds);
|
.thenReturn(fakeDds);
|
||||||
when(mockDds.startDartDevelopmentService(any, any, any, any, logger: anyNamed('logger')))
|
|
||||||
.thenReturn(null);
|
|
||||||
when(mockDds.uri).thenReturn(Uri.parse('http://localhost:8181'));
|
|
||||||
final Completer<void> noopCompleter = Completer<void>();
|
|
||||||
when(mockDds.done).thenAnswer((_) => noopCompleter.future);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
testUsingContext('succeeds in ipv4 mode', () async {
|
testUsingContext('succeeds in ipv4 mode', () async {
|
||||||
@ -596,7 +574,7 @@ void main() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
testUsingContext('fails when targeted device is not Android with --device-user', () async {
|
testUsingContext('fails when targeted device is not Android with --device-user', () async {
|
||||||
final MockIOSDevice device = MockIOSDevice();
|
final FakeIOSDevice device = FakeIOSDevice();
|
||||||
testDeviceManager.addDevice(device);
|
testDeviceManager.addDevice(device);
|
||||||
expect(createTestCommandRunner(AttachCommand()).run(<String>[
|
expect(createTestCommandRunner(AttachCommand()).run(<String>[
|
||||||
'attach',
|
'attach',
|
||||||
@ -718,7 +696,6 @@ void main() {
|
|||||||
|
|
||||||
class MockHotRunner extends Mock implements HotRunner {}
|
class MockHotRunner extends Mock implements HotRunner {}
|
||||||
class MockHotRunnerFactory extends Mock implements HotRunnerFactory {}
|
class MockHotRunnerFactory extends Mock implements HotRunnerFactory {}
|
||||||
class MockIOSDevice extends Mock implements IOSDevice {}
|
|
||||||
class MockPortForwarder extends Mock implements DevicePortForwarder {}
|
class MockPortForwarder extends Mock implements DevicePortForwarder {}
|
||||||
|
|
||||||
class StreamLogger extends Logger {
|
class StreamLogger extends Logger {
|
||||||
@ -927,7 +904,23 @@ class TestHotRunnerFactory extends HotRunnerFactory {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class MockDartDevelopmentService extends Mock implements DartDevelopmentService {}
|
class FakeDartDevelopmentService extends Fake implements DartDevelopmentService {
|
||||||
|
@override
|
||||||
|
Future<void> get done => noopCompleter.future;
|
||||||
|
final Completer<void> noopCompleter = Completer<void>();
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> startDartDevelopmentService(
|
||||||
|
Uri observatoryUri,
|
||||||
|
int hostPort,
|
||||||
|
bool ipv6,
|
||||||
|
bool disableServiceAuthCodes, {
|
||||||
|
@required Logger logger,
|
||||||
|
}) async {}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Uri get uri => Uri.parse('http://localhost:8181');
|
||||||
|
}
|
||||||
|
|
||||||
class MockAndroidDevice extends Mock implements AndroidDevice {
|
class MockAndroidDevice extends Mock implements AndroidDevice {
|
||||||
@override
|
@override
|
||||||
@ -945,3 +938,33 @@ class MockAndroidDevice extends Mock implements AndroidDevice {
|
|||||||
@override
|
@override
|
||||||
bool isSupportedForProject(FlutterProject flutterProject) => true;
|
bool isSupportedForProject(FlutterProject flutterProject) => true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class FakeIOSDevice extends Fake implements IOSDevice {
|
||||||
|
FakeIOSDevice({this.dds, this.portForwarder, this.logReader});
|
||||||
|
|
||||||
|
@override
|
||||||
|
final DevicePortForwarder portForwarder;
|
||||||
|
|
||||||
|
@override
|
||||||
|
final DartDevelopmentService dds;
|
||||||
|
|
||||||
|
final DeviceLogReader logReader;
|
||||||
|
|
||||||
|
@override
|
||||||
|
DeviceLogReader getLogReader({
|
||||||
|
IOSApp app,
|
||||||
|
bool includePastLogs = false,
|
||||||
|
}) => logReader;
|
||||||
|
|
||||||
|
@override
|
||||||
|
OverrideArtifacts get artifactOverrides => null;
|
||||||
|
|
||||||
|
@override
|
||||||
|
final String name = 'name';
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<TargetPlatform> get targetPlatform async => TargetPlatform.ios;
|
||||||
|
|
||||||
|
@override
|
||||||
|
final PlatformType platformType = PlatformType.ios;
|
||||||
|
}
|
||||||
|
@ -798,44 +798,39 @@ void main() {
|
|||||||
|
|
||||||
group('toString() gives toString() of delegate', () {
|
group('toString() gives toString() of delegate', () {
|
||||||
testWithoutContext('ErrorHandlingFileSystem', () {
|
testWithoutContext('ErrorHandlingFileSystem', () {
|
||||||
final MockFileSystem mockFileSystem = MockFileSystem();
|
final MemoryFileSystem delegate = MemoryFileSystem.test();
|
||||||
final FileSystem fs = ErrorHandlingFileSystem(
|
final FileSystem fs = ErrorHandlingFileSystem(
|
||||||
delegate: mockFileSystem,
|
delegate: delegate,
|
||||||
platform: const LocalPlatform(),
|
platform: const LocalPlatform(),
|
||||||
);
|
);
|
||||||
|
|
||||||
expect(mockFileSystem.toString(), isNotNull);
|
expect(delegate.toString(), isNotNull);
|
||||||
expect(fs.toString(), equals(mockFileSystem.toString()));
|
expect(fs.toString(), delegate.toString());
|
||||||
});
|
});
|
||||||
|
|
||||||
testWithoutContext('ErrorHandlingFile', () {
|
testWithoutContext('ErrorHandlingFile', () {
|
||||||
final MockFileSystem mockFileSystem = MockFileSystem();
|
final MemoryFileSystem delegate = MemoryFileSystem.test();
|
||||||
final FileSystem fs = ErrorHandlingFileSystem(
|
final FileSystem fs = ErrorHandlingFileSystem(
|
||||||
delegate: mockFileSystem,
|
delegate: delegate,
|
||||||
platform: const LocalPlatform(),
|
platform: const LocalPlatform(),
|
||||||
);
|
);
|
||||||
final MockFile mockFile = MockFile();
|
final File file = delegate.file('file');
|
||||||
when(mockFileSystem.file(any)).thenReturn(mockFile);
|
|
||||||
|
|
||||||
expect(mockFile.toString(), isNotNull);
|
expect(file.toString(), isNotNull);
|
||||||
expect(fs.file('file').toString(), equals(mockFile.toString()));
|
expect(fs.file('file').toString(), file.toString());
|
||||||
});
|
});
|
||||||
|
|
||||||
testWithoutContext('ErrorHandlingDirectory', () {
|
testWithoutContext('ErrorHandlingDirectory', () {
|
||||||
final MockFileSystem mockFileSystem = MockFileSystem();
|
final MemoryFileSystem delegate = MemoryFileSystem.test();
|
||||||
final FileSystem fs = ErrorHandlingFileSystem(
|
final FileSystem fs = ErrorHandlingFileSystem(
|
||||||
delegate: mockFileSystem,
|
delegate: delegate,
|
||||||
platform: const LocalPlatform(),
|
platform: const LocalPlatform(),
|
||||||
);
|
);
|
||||||
final MockDirectory mockDirectory = MockDirectory();
|
final Directory directory = delegate.directory('directory')..createSync();
|
||||||
when(mockFileSystem.directory(any)).thenReturn(mockDirectory);
|
expect(fs.directory('directory').toString(), directory.toString());
|
||||||
|
delegate.currentDirectory = directory;
|
||||||
|
|
||||||
expect(mockDirectory.toString(), isNotNull);
|
expect(fs.currentDirectory.toString(), delegate.currentDirectory.toString());
|
||||||
expect(fs.directory('directory').toString(), equals(mockDirectory.toString()));
|
|
||||||
|
|
||||||
when(mockFileSystem.currentDirectory).thenReturn(mockDirectory);
|
|
||||||
|
|
||||||
expect(fs.currentDirectory.toString(), equals(mockDirectory.toString()));
|
|
||||||
expect(fs.currentDirectory, isA<ErrorHandlingDirectory>());
|
expect(fs.currentDirectory, isA<ErrorHandlingDirectory>());
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user