Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library test.analysis_server; | 5 library test.analysis_server; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 | 8 |
| 9 import 'package:analysis_server/src/analysis_server.dart'; | 9 import 'package:analysis_server/src/analysis_server.dart'; |
| 10 import 'package:analysis_server/src/domain_server.dart'; | 10 import 'package:analysis_server/src/domain_server.dart'; |
| 11 import 'package:analysis_server/src/protocol.dart'; | 11 import 'package:analysis_server/src/protocol.dart'; |
| 12 import 'package:unittest/unittest.dart'; | 12 import 'package:unittest/unittest.dart'; |
| 13 | 13 |
| 14 import 'mocks.dart'; | 14 import 'mocks.dart'; |
| 15 | 15 |
| 16 main() { | 16 main() { |
| 17 group('AnalysisServer', () { | 17 group('AnalysisServer', () { |
| 18 setUp(AnalysisServerTest.setUp); | 18 setUp(AnalysisServerTest.setUp); |
| 19 // test('createContext', AnalysisServerTest.createContext); | 19 test('createContext', AnalysisServerTest.createContext); |
| 20 test('echo', AnalysisServerTest.echo); | 20 test('echo', AnalysisServerTest.echo); |
| 21 test('shutdown', AnalysisServerTest.shutdown); | 21 test('shutdown', AnalysisServerTest.shutdown); |
| 22 test('unknownRequest', AnalysisServerTest.unknownRequest); | 22 test('unknownRequest', AnalysisServerTest.unknownRequest); |
| 23 }); | 23 }); |
| 24 } | 24 } |
| 25 | 25 |
| 26 class AnalysisServerTest { | 26 class AnalysisServerTest { |
| 27 static MockServerChannel channel; | 27 static MockServerChannel channel; |
| 28 static AnalysisServer server; | 28 static AnalysisServer server; |
| 29 | 29 |
| 30 static void setUp() { | 30 static void setUp() { |
| 31 channel = new MockServerChannel(); | 31 channel = new MockServerChannel(); |
| 32 server = new AnalysisServer(channel); | 32 server = new AnalysisServer(channel); |
| 33 } | 33 } |
| 34 | 34 |
| 35 static Future createContext() { | 35 static Future createContext() { |
| 36 server.handlers = [new ServerDomainHandler(server)]; | 36 server.handlers = [new ServerDomainHandler(server)]; |
| 37 var request = new Request('my27', ServerDomainHandler.CREATE_CONTEXT_METHOD) ; | 37 var request = new Request('my27', ServerDomainHandler.CREATE_CONTEXT_METHOD) ; |
| 38 request.setParameter(ServerDomainHandler.SDK_DIRECTORY_PARAM, sdkPath); | 38 request.setParameter(ServerDomainHandler.SDK_DIRECTORY_PARAM, sdkPath); |
| 39 request.setParameter(ServerDomainHandler.CONTEXT_ID_PARAM, 'ctx'); | 39 request.setParameter(ServerDomainHandler.CONTEXT_ID_PARAM, 'ctx'); |
| 40 return channel.sendRequest(request) | 40 return channel.sendRequest(request) |
| 41 .timeout(new Duration(seconds: 1)) | |
|
danrubel
2014/04/21 16:59:10
If for some reason, the server completes normally
| |
| 42 .then((Response response) { | 41 .then((Response response) { |
| 43 expect(response.id, equals('my27')); | 42 expect(response.id, equals('my27')); |
| 44 expect(response.error, isNull); | 43 expect(response.error, isNull); |
| 45 }); | 44 }); |
| 46 } | 45 } |
| 47 | 46 |
| 48 static Future echo() { | 47 static Future echo() { |
| 49 server.handlers = [new EchoHandler()]; | 48 server.handlers = [new EchoHandler()]; |
| 50 var request = new Request('my22', 'echo'); | 49 var request = new Request('my22', 'echo'); |
| 51 return channel.sendRequest(request) | 50 return channel.sendRequest(request) |
| 52 .timeout(new Duration(seconds: 1)) | |
| 53 .then((Response response) { | 51 .then((Response response) { |
| 54 expect(response.id, equals('my22')); | 52 expect(response.id, equals('my22')); |
| 55 expect(response.error, isNull); | 53 expect(response.error, isNull); |
| 56 }); | 54 }); |
| 57 } | 55 } |
| 58 | 56 |
| 59 static Future shutdown() { | 57 static Future shutdown() { |
| 60 server.handlers = [new ServerDomainHandler(server)]; | 58 server.handlers = [new ServerDomainHandler(server)]; |
| 61 var request = new Request('my28', ServerDomainHandler.SHUTDOWN_METHOD); | 59 var request = new Request('my28', ServerDomainHandler.SHUTDOWN_METHOD); |
| 62 request.setParameter(ServerDomainHandler.SDK_DIRECTORY_PARAM, ''); | 60 request.setParameter(ServerDomainHandler.SDK_DIRECTORY_PARAM, ''); |
| 63 return channel.sendRequest(request) | 61 return channel.sendRequest(request) |
| 64 .timeout(new Duration(seconds: 1)) | |
| 65 .then((Response response) { | 62 .then((Response response) { |
| 66 expect(response.id, equals('my28')); | 63 expect(response.id, equals('my28')); |
| 67 expect(response.error, isNull); | 64 expect(response.error, isNull); |
| 68 }); | 65 }); |
| 69 } | 66 } |
| 70 | 67 |
| 71 static Future unknownRequest() { | 68 static Future unknownRequest() { |
| 72 server.handlers = [new EchoHandler()]; | 69 server.handlers = [new EchoHandler()]; |
| 73 var request = new Request('my22', 'randomRequest'); | 70 var request = new Request('my22', 'randomRequest'); |
| 74 return channel.sendRequest(request) | 71 return channel.sendRequest(request) |
| 75 .timeout(new Duration(seconds: 1)) | |
| 76 .then((Response response) { | 72 .then((Response response) { |
| 77 expect(response.id, equals('my22')); | 73 expect(response.id, equals('my22')); |
| 78 expect(response.error, isNotNull); | 74 expect(response.error, isNotNull); |
| 79 }); | 75 }); |
| 80 } | 76 } |
| 81 } | 77 } |
| 82 | 78 |
| 83 | 79 |
| 84 class EchoHandler implements RequestHandler { | 80 class EchoHandler implements RequestHandler { |
| 85 @override | 81 @override |
| 86 Response handleRequest(Request request) { | 82 Response handleRequest(Request request) { |
| 87 if (request.method == 'echo') { | 83 if (request.method == 'echo') { |
| 88 var response = new Response(request.id); | 84 var response = new Response(request.id); |
| 89 response.setResult('echo', true); | 85 response.setResult('echo', true); |
| 90 return response; | 86 return response; |
| 91 } | 87 } |
| 92 return null; | 88 return null; |
| 93 } | 89 } |
| 94 } | 90 } |
| OLD | NEW |