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.socket.server; | 5 library test.socket.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/constants.dart'; | 10 import 'package:analysis_server/src/constants.dart'; |
(...skipping 18 matching lines...) Expand all Loading... |
29 'requestHandler_futureException', | 29 'requestHandler_futureException', |
30 SocketServerTest.requestHandler_futureException); | 30 SocketServerTest.requestHandler_futureException); |
31 }); | 31 }); |
32 } | 32 } |
33 | 33 |
34 class SocketServerTest { | 34 class SocketServerTest { |
35 static void createAnalysisServer_alreadyStarted() { | 35 static void createAnalysisServer_alreadyStarted() { |
36 SocketServer server = new SocketServer( | 36 SocketServer server = new SocketServer( |
37 new AnalysisServerOptions(), | 37 new AnalysisServerOptions(), |
38 DirectoryBasedDartSdk.defaultSdk, | 38 DirectoryBasedDartSdk.defaultSdk, |
39 new NullInstrumentationServer()); | 39 InstrumentationService.NULL_SERVICE); |
40 MockServerChannel channel1 = new MockServerChannel(); | 40 MockServerChannel channel1 = new MockServerChannel(); |
41 MockServerChannel channel2 = new MockServerChannel(); | 41 MockServerChannel channel2 = new MockServerChannel(); |
42 server.createAnalysisServer(channel1); | 42 server.createAnalysisServer(channel1); |
43 expect(channel1.notificationsReceived[0].event, SERVER_CONNECTED); | 43 expect(channel1.notificationsReceived[0].event, SERVER_CONNECTED); |
44 server.createAnalysisServer(channel2); | 44 server.createAnalysisServer(channel2); |
45 channel1.expectMsgCount(notificationCount: 1); | 45 channel1.expectMsgCount(notificationCount: 1); |
46 channel2.expectMsgCount(responseCount: 1); | 46 channel2.expectMsgCount(responseCount: 1); |
47 expect(channel2.responsesReceived[0].id, equals('')); | 47 expect(channel2.responsesReceived[0].id, equals('')); |
48 expect(channel2.responsesReceived[0].error, isNotNull); | 48 expect(channel2.responsesReceived[0].error, isNotNull); |
49 expect( | 49 expect( |
50 channel2.responsesReceived[0].error.code, | 50 channel2.responsesReceived[0].error.code, |
51 equals(RequestErrorCode.SERVER_ALREADY_STARTED)); | 51 equals(RequestErrorCode.SERVER_ALREADY_STARTED)); |
52 channel2.sendRequest( | 52 channel2.sendRequest( |
53 new ServerShutdownParams().toRequest('0')).then((Response response) { | 53 new ServerShutdownParams().toRequest('0')).then((Response response) { |
54 expect(response.id, equals('0')); | 54 expect(response.id, equals('0')); |
55 expect(response.error, isNotNull); | 55 expect(response.error, isNotNull); |
56 expect( | 56 expect( |
57 response.error.code, | 57 response.error.code, |
58 equals(RequestErrorCode.SERVER_ALREADY_STARTED)); | 58 equals(RequestErrorCode.SERVER_ALREADY_STARTED)); |
59 channel2.expectMsgCount(responseCount: 2); | 59 channel2.expectMsgCount(responseCount: 2); |
60 }); | 60 }); |
61 } | 61 } |
62 | 62 |
63 static Future createAnalysisServer_successful() { | 63 static Future createAnalysisServer_successful() { |
64 SocketServer server = new SocketServer( | 64 SocketServer server = new SocketServer( |
65 new AnalysisServerOptions(), | 65 new AnalysisServerOptions(), |
66 DirectoryBasedDartSdk.defaultSdk, | 66 DirectoryBasedDartSdk.defaultSdk, |
67 new NullInstrumentationServer()); | 67 InstrumentationService.NULL_SERVICE); |
68 MockServerChannel channel = new MockServerChannel(); | 68 MockServerChannel channel = new MockServerChannel(); |
69 server.createAnalysisServer(channel); | 69 server.createAnalysisServer(channel); |
70 channel.expectMsgCount(notificationCount: 1); | 70 channel.expectMsgCount(notificationCount: 1); |
71 expect(channel.notificationsReceived[0].event, SERVER_CONNECTED); | 71 expect(channel.notificationsReceived[0].event, SERVER_CONNECTED); |
72 return channel.sendRequest( | 72 return channel.sendRequest( |
73 new ServerShutdownParams().toRequest('0')).then((Response response) { | 73 new ServerShutdownParams().toRequest('0')).then((Response response) { |
74 expect(response.id, equals('0')); | 74 expect(response.id, equals('0')); |
75 expect(response.error, isNull); | 75 expect(response.error, isNull); |
76 channel.expectMsgCount(responseCount: 1, notificationCount: 1); | 76 channel.expectMsgCount(responseCount: 1, notificationCount: 1); |
77 }); | 77 }); |
78 } | 78 } |
79 | 79 |
80 static Future requestHandler_exception() { | 80 static Future requestHandler_exception() { |
81 SocketServer server = new SocketServer( | 81 SocketServer server = new SocketServer( |
82 new AnalysisServerOptions(), | 82 new AnalysisServerOptions(), |
83 DirectoryBasedDartSdk.defaultSdk, | 83 DirectoryBasedDartSdk.defaultSdk, |
84 new NullInstrumentationServer()); | 84 InstrumentationService.NULL_SERVICE); |
85 MockServerChannel channel = new MockServerChannel(); | 85 MockServerChannel channel = new MockServerChannel(); |
86 server.createAnalysisServer(channel); | 86 server.createAnalysisServer(channel); |
87 channel.expectMsgCount(notificationCount: 1); | 87 channel.expectMsgCount(notificationCount: 1); |
88 expect(channel.notificationsReceived[0].event, SERVER_CONNECTED); | 88 expect(channel.notificationsReceived[0].event, SERVER_CONNECTED); |
89 _MockRequestHandler handler = new _MockRequestHandler(false); | 89 _MockRequestHandler handler = new _MockRequestHandler(false); |
90 server.analysisServer.handlers = [handler]; | 90 server.analysisServer.handlers = [handler]; |
91 var request = new ServerGetVersionParams().toRequest('0'); | 91 var request = new ServerGetVersionParams().toRequest('0'); |
92 return channel.sendRequest(request).then((Response response) { | 92 return channel.sendRequest(request).then((Response response) { |
93 expect(response.id, equals('0')); | 93 expect(response.id, equals('0')); |
94 expect(response.error, isNotNull); | 94 expect(response.error, isNotNull); |
95 expect(response.error.code, equals(RequestErrorCode.SERVER_ERROR)); | 95 expect(response.error.code, equals(RequestErrorCode.SERVER_ERROR)); |
96 expect(response.error.message, equals('mock request exception')); | 96 expect(response.error.message, equals('mock request exception')); |
97 expect(response.error.stackTrace, isNotNull); | 97 expect(response.error.stackTrace, isNotNull); |
98 expect(response.error.stackTrace, isNot(isEmpty)); | 98 expect(response.error.stackTrace, isNot(isEmpty)); |
99 channel.expectMsgCount(responseCount: 1, notificationCount: 1); | 99 channel.expectMsgCount(responseCount: 1, notificationCount: 1); |
100 }); | 100 }); |
101 } | 101 } |
102 | 102 |
103 static Future requestHandler_futureException() { | 103 static Future requestHandler_futureException() { |
104 SocketServer server = new SocketServer( | 104 SocketServer server = new SocketServer( |
105 new AnalysisServerOptions(), | 105 new AnalysisServerOptions(), |
106 DirectoryBasedDartSdk.defaultSdk, | 106 DirectoryBasedDartSdk.defaultSdk, |
107 new NullInstrumentationServer()); | 107 InstrumentationService.NULL_SERVICE); |
108 MockServerChannel channel = new MockServerChannel(); | 108 MockServerChannel channel = new MockServerChannel(); |
109 server.createAnalysisServer(channel); | 109 server.createAnalysisServer(channel); |
110 _MockRequestHandler handler = new _MockRequestHandler(true); | 110 _MockRequestHandler handler = new _MockRequestHandler(true); |
111 server.analysisServer.handlers = [handler]; | 111 server.analysisServer.handlers = [handler]; |
112 var request = new ServerGetVersionParams().toRequest('0'); | 112 var request = new ServerGetVersionParams().toRequest('0'); |
113 return channel.sendRequest(request).then((Response response) { | 113 return channel.sendRequest(request).then((Response response) { |
114 expect(response.id, equals('0')); | 114 expect(response.id, equals('0')); |
115 expect(response.error, isNull); | 115 expect(response.error, isNull); |
116 channel.expectMsgCount(responseCount: 1, notificationCount: 2); | 116 channel.expectMsgCount(responseCount: 1, notificationCount: 2); |
117 expect(channel.notificationsReceived[1].event, SERVER_ERROR); | 117 expect(channel.notificationsReceived[1].event, SERVER_ERROR); |
(...skipping 12 matching lines...) Expand all Loading... |
130 new Future(throwException); | 130 new Future(throwException); |
131 return new Response(request.id); | 131 return new Response(request.id); |
132 } | 132 } |
133 throw 'mock request exception'; | 133 throw 'mock request exception'; |
134 } | 134 } |
135 | 135 |
136 void throwException() { | 136 void throwException() { |
137 throw 'mock future exception'; | 137 throw 'mock future exception'; |
138 } | 138 } |
139 } | 139 } |
OLD | NEW |