Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(774)

Unified Diff: tests/standalone/io/raw_secure_socket_pause_test.dart

Issue 1319703002: Breaking Change: merge BoringSSL branch into master (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tests/standalone/io/raw_secure_socket_pause_test.dart
diff --git a/tests/standalone/io/raw_secure_socket_pause_test.dart b/tests/standalone/io/raw_secure_socket_pause_test.dart
index 3ca26cbc18058375f3a327ae5f8d9e6a590afc31..c3bfc435495be2fe28f0a4fa562877d75fd830bb 100644
--- a/tests/standalone/io/raw_secure_socket_pause_test.dart
+++ b/tests/standalone/io/raw_secure_socket_pause_test.dart
@@ -13,12 +13,22 @@ import "dart:async";
import "dart:io";
import "dart:isolate";
+String localFile(path) => Platform.script.resolve(path).toFilePath();
+
+SecurityContext serverContext = new SecurityContext()
+ ..useCertificateChain(localFile('certificates/server_chain.pem'))
+ ..usePrivateKey(localFile('certificates/server_key.pem'),
+ password: 'dartdart');
+
+SecurityContext clientContext = new SecurityContext()
+ ..setTrustedCertificates(file: localFile('certificates/trusted_certs.pem'));
+
Future<HttpServer> startServer() {
return HttpServer.bindSecure(
"localhost",
0,
- backlog: 5,
- certificateName: 'localhost_cert').then((server) {
+ serverContext,
+ backlog: 5).then((server) {
server.listen((HttpRequest request) {
request.listen(
(_) { },
@@ -34,77 +44,72 @@ Future<HttpServer> startServer() {
});
}
-void InitializeSSL() {
- var testPkcertDatabase = Platform.script.resolve('pkcert').toFilePath();
- SecureSocket.initialize(database: testPkcertDatabase,
- password: 'dartdart');
-}
-
-void main() {
+main() async {
List<int> message = "GET / HTTP/1.0\r\nHost: localhost\r\n\r\n".codeUnits;
int written = 0;
List<int> body = <int>[];
- InitializeSSL();
- startServer().then((server) {
- RawSecureSocket.connect("localhost", server.port).then((socket) {
- StreamSubscription subscription;
- bool paused = false;
- bool readEventsTested = false;
- bool readEventsPaused = false;
-
- void runPauseTest() {
- subscription.pause();
- paused = true;
- new Timer(const Duration(milliseconds: 500), () {
- paused = false;
- subscription.resume();
- });
- }
+ var server = await startServer();
+ var socket = await RawSecureSocket.connect("localhost",
+ server.port,
+ context: clientContext);
+ StreamSubscription subscription;
+ bool paused = false;
+ bool readEventsTested = false;
+ bool readEventsPaused = false;
- void runReadEventTest() {
- if (readEventsTested) return;
- readEventsTested = true;
- socket.readEventsEnabled = false;
- readEventsPaused = true;
- new Timer(const Duration(milliseconds: 500), () {
- readEventsPaused = false;
- socket.readEventsEnabled = true;
- });
- }
+ void runPauseTest() {
+ subscription.pause();
+ paused = true;
+ new Timer(const Duration(milliseconds: 500), () {
+ paused = false;
+ subscription.resume();
+ });
+ }
- subscription = socket.listen(
- (RawSocketEvent event) {
- Expect.isFalse(paused);
- switch (event) {
- case RawSocketEvent.READ:
- Expect.isFalse(readEventsPaused);
- runReadEventTest();
- body.addAll(socket.read());
- break;
- case RawSocketEvent.WRITE:
- written +=
- socket.write(message, written, message.length - written);
- if (written < message.length) {
- socket.writeEventsEnabled = true;
- } else {
- socket.shutdown(SocketDirection.SEND);
- runPauseTest();
- }
- break;
- case RawSocketEvent.READ_CLOSED:
- Expect.isTrue(body.length > 100);
- Expect.equals(72, body[0]);
- Expect.equals(9, body[body.length - 1]);
- server.close();
- break;
- default: throw "Unexpected event $event";
- }
- },
- onError: (e, trace) {
- String msg = "onError handler of RawSecureSocket stream hit: $e";
- if (trace != null) msg += "\nStackTrace: $trace";
- Expect.fail(msg);
- });
+ void runReadEventTest() {
+ if (readEventsTested) return;
+ readEventsTested = true;
+ socket.readEventsEnabled = false;
+ readEventsPaused = true;
+ new Timer(const Duration(milliseconds: 500), () {
+ readEventsPaused = false;
+ socket.readEventsEnabled = true;
});
- });
+ }
+
+ void handleRawEvent(RawSocketEvent event) {
+ Expect.isFalse(paused);
+ switch (event) {
+ case RawSocketEvent.READ:
+ Expect.isFalse(readEventsPaused);
+ runReadEventTest();
+ body.addAll(socket.read());
+ break;
+ case RawSocketEvent.WRITE:
+ written +=
+ socket.write(message, written, message.length - written);
+ if (written < message.length) {
+ socket.writeEventsEnabled = true;
+ } else {
+ socket.shutdown(SocketDirection.SEND);
+ runPauseTest();
+ }
+ break;
+ case RawSocketEvent.READ_CLOSED:
+ Expect.isTrue(body.length > 100);
+ Expect.equals(72, body.first);
+ Expect.equals(9, body.last);
+ server.close();
+ break;
+ default: throw "Unexpected event $event";
+ }
+ }
+
+ subscription = socket.listen(
+ handleRawEvent,
+ onError: (e, trace) {
+ String msg = "onError handler of RawSecureSocket stream hit: $e";
+ if (trace != null) msg += "\nStackTrace: $trace";
+ Expect.fail(msg);
+ });
}
« no previous file with comments | « tests/standalone/io/raw_secure_server_socket_test.dart ('k') | tests/standalone/io/raw_secure_socket_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698