THRIFT-3711 Add D to cross language test
This closes #923
diff --git a/lib/d/test/thrift_test_client.d b/lib/d/test/thrift_test_client.d
index fd53328..49419f7 100644
--- a/lib/d/test/thrift_test_client.d
+++ b/lib/d/test/thrift_test_client.d
@@ -25,6 +25,7 @@
import std.stdio;
import std.string;
import std.traits;
+import thrift.base;
import thrift.codegen.client;
import thrift.protocol.base;
import thrift.protocol.binary;
@@ -75,6 +76,7 @@
"ssl", &ssl,
"transport", &transportType,
"trace", &trace,
+ "port", &port,
"host", (string _, string value) {
auto parts = split(value, ":");
if (parts.length > 1) {
@@ -87,13 +89,14 @@
}
}
);
+ port = to!ushort(port);
TSocket socket;
if (ssl) {
auto sslContext = new TSSLContext();
sslContext.ciphers = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH";
sslContext.authenticate = true;
- sslContext.loadTrustedCertificates("./trusted-ca-certificate.pem");
+ sslContext.loadTrustedCertificates("../../../test/keys/CA.pem");
socket = new TSSLSocket(sslContext, host, port);
} else {
socket = new TSocket(host, port);
@@ -280,6 +283,15 @@
}
try {
+ if (trace) write("client.testException(\"TException\") =>");
+ client.testException("Xception");
+ if (trace) writeln(" void\nFAILURE");
+ throw new Exception("testException failed.");
+ } catch (TException e) {
+ if (trace) writefln(" {%s}", e.msg);
+ }
+
+ try {
if (trace) write("client.testException(\"success\") =>");
client.testException("success");
if (trace) writeln(" void");