blob: 8e7fb92369f6227880dd96b2b46aaccf3d4b619d [file] [log] [blame]
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:file/file.dart';
import 'package:flutter_tools/src/base/file_system.dart';
import 'package:vm_service/vm_service.dart';
import 'package:vm_service/vm_service_io.dart';
import '../src/common.dart';
import 'test_data/basic_project.dart';
import 'test_driver.dart';
import 'test_utils.dart';
void main() {
Directory tempDir;
FlutterRunTestDriver flutter;
test('Flutter Tool VMService methods can be called', () async {
tempDir = createResolvedTempDirectorySync('vmservice_integration_test.');
final BasicProject _project = BasicProject();
await _project.setUpIn(tempDir);
flutter = FlutterRunTestDriver(tempDir);
await flutter.run(withDebugger: true);
final int port = flutter.vmServicePort;
final VmService vmService = await vmServiceConnectUri('ws://localhost:$port/ws');
final Response versionResponse = await vmService.callMethod('s0.flutterVersion');
expect(versionResponse.type, 'Success');
expect(versionResponse.json, containsPair('frameworkRevisionShort', isNotNull));
expect(versionResponse.json, containsPair('engineRevisionShort', isNotNull));
final Response memoryInfoResponse = await vmService.callMethod('s0.flutterMemoryInfo');
expect(memoryInfoResponse.type, 'Success');
});
tearDown(() {
tryToDelete(tempDir);
flutter?.stop();
});
}