e97f1bdbf0
This should allow doing partial migration, specifically protocol files, which are imported by other libraries, but are a small library cycle that does not import much outside of it. Change-Id: I904c05d6d5b444ee9a9dbd1f7ada12aabdcc5165 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193583 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
80 lines
2.7 KiB
Dart
80 lines
2.7 KiB
Dart
// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
|
|
// 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.
|
|
|
|
// @dart = 2.9
|
|
|
|
import 'package:analysis_server/protocol/protocol.dart';
|
|
import 'package:analysis_server/protocol/protocol_constants.dart';
|
|
import 'package:analysis_server/protocol/protocol_generated.dart';
|
|
import 'package:analysis_server/src/analysis_server.dart';
|
|
import 'package:analysis_server/src/domain_server.dart';
|
|
import 'package:analysis_server/src/server/crash_reporting_attachments.dart';
|
|
import 'package:analysis_server/src/utilities/mocks.dart';
|
|
import 'package:analyzer/file_system/memory_file_system.dart';
|
|
import 'package:analyzer/instrumentation/instrumentation.dart';
|
|
import 'package:analyzer/src/generated/sdk.dart';
|
|
import 'package:test/test.dart';
|
|
|
|
import 'constants.dart';
|
|
import 'mocks.dart';
|
|
|
|
void main() {
|
|
AnalysisServer server;
|
|
ServerDomainHandler handler;
|
|
MockServerChannel serverChannel;
|
|
|
|
setUp(() {
|
|
serverChannel = MockServerChannel();
|
|
var resourceProvider = MemoryResourceProvider();
|
|
server = AnalysisServer(
|
|
serverChannel,
|
|
resourceProvider,
|
|
AnalysisServerOptions(),
|
|
DartSdkManager(''),
|
|
CrashReportingAttachmentsBuilder.empty,
|
|
InstrumentationService.NULL_SERVICE);
|
|
handler = ServerDomainHandler(server);
|
|
});
|
|
|
|
group('ServerDomainHandler', () {
|
|
test('getVersion', () {
|
|
var request = ServerGetVersionParams().toRequest('0');
|
|
var response = handler.handleRequest(request);
|
|
expect(
|
|
response.toJson(),
|
|
equals({
|
|
Response.ID: '0',
|
|
Response.RESULT: {VERSION: PROTOCOL_VERSION}
|
|
}));
|
|
});
|
|
|
|
group('setSubscriptions', () {
|
|
test('invalid service name', () {
|
|
var request = Request('0', SERVER_REQUEST_SET_SUBSCRIPTIONS, {
|
|
SUBSCRIPTIONS: ['noSuchService']
|
|
});
|
|
var response = handler.handleRequest(request);
|
|
expect(response, isResponseFailure('0'));
|
|
});
|
|
|
|
test('success', () {
|
|
expect(server.serverServices, isEmpty);
|
|
// send request
|
|
var request =
|
|
ServerSetSubscriptionsParams([ServerService.STATUS]).toRequest('0');
|
|
var response = handler.handleRequest(request);
|
|
expect(response, isResponseSuccess('0'));
|
|
// set of services has been changed
|
|
expect(server.serverServices, contains(ServerService.STATUS));
|
|
});
|
|
});
|
|
|
|
test('shutdown', () async {
|
|
var request = ServerShutdownParams().toRequest('0');
|
|
var response = await serverChannel.sendRequest(request);
|
|
expect(response, isResponseSuccess('0'));
|
|
});
|
|
});
|
|
}
|