summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Becker <rob.becker@workiva.com>2019-01-21 20:24:01 -0700
committerJames E. King III <jking@apache.org>2019-01-21 22:24:01 -0500
commitf1eadad76edb3c680b9b964601d440ea05df02ca (patch)
treefb943b184b25d584dae228228410b2b0fef9caf5
parentef32bc10b70aa2926957fd8f35691563234f08b6 (diff)
downloadthrift-f1eadad76edb3c680b9b964601d440ea05df02ca.tar.gz
THRIFT-4654 Minor fixes for dart 1 & 2 compatibility (backwards compatible) (#1617)
* THRIFT-4654 Minor fixes for dart 1 & 2 compatibility * update dockerfiles for CI to test dart 2 * THRIFT-4654 update pubspec for tests * THRIFT-4654 update dart test generator and readme to 1.24.3 * THRIFT-4654 update generated dart sdk to a range * fix the dart tutorials * Add .dart_tool directories to .gitignore * THRIFT-4654: use dart 2.1.0 and fix cross test dart client timeout
-rw-r--r--.gitignore2
-rw-r--r--build/docker/ubuntu-bionic/Dockerfile4
-rw-r--r--build/docker/ubuntu-xenial/Dockerfile6
-rw-r--r--compiler/cpp/src/thrift/generate/t_dart_generator.cc2
-rw-r--r--lib/dart/README.md2
-rw-r--r--lib/dart/lib/src/browser/t_web_socket.dart7
-rw-r--r--lib/dart/lib/src/console/t_web_socket.dart7
-rw-r--r--lib/dart/lib/src/protocol/t_compact_protocol.dart4
-rw-r--r--lib/dart/lib/src/protocol/t_json_protocol.dart8
-rw-r--r--lib/dart/lib/src/serializer/t_deserializer.dart4
-rw-r--r--lib/dart/lib/src/serializer/t_serializer.dart2
-rw-r--r--lib/dart/lib/src/transport/t_http_transport.dart5
-rw-r--r--lib/dart/lib/thrift.dart5
-rw-r--r--lib/dart/pubspec.yaml15
-rw-r--r--lib/dart/test/protocol/t_protocol_test.dart6
-rw-r--r--lib/dart/test/transport/t_framed_transport_test.dart14
-rw-r--r--lib/dart/test/transport/t_http_transport_test.dart12
-rw-r--r--lib/dart/test/transport/t_socket_transport_test.dart22
-rw-r--r--test/dart/test_client/pubspec.yaml6
-rw-r--r--test/tests.json2
-rw-r--r--tutorial/dart/client/pubspec.yaml3
-rw-r--r--tutorial/dart/client/web/index.html3
-rw-r--r--tutorial/dart/console_client/pubspec.yaml4
-rw-r--r--tutorial/dart/server/pubspec.yaml4
24 files changed, 72 insertions, 77 deletions
diff --git a/.gitignore b/.gitignore
index b3a5920f2..82d3d482d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -196,6 +196,7 @@ project.lock.json
/lib/d/test/transport_test
/lib/d/unittest/
/lib/dart/coverage
+/lib/dart/**/.dart_tool
/lib/dart/**/.packages
/lib/dart/**/packages
/lib/dart/**/.pub/
@@ -305,6 +306,7 @@ project.lock.json
/test/cpp/TestServer
/test/csharp/obj
/test/csharp/bin
+/test/dart/**/.dart_tool
/test/dart/**/.packages
/test/dart/**/packages
/test/dart/**/.pub/
diff --git a/build/docker/ubuntu-bionic/Dockerfile b/build/docker/ubuntu-bionic/Dockerfile
index 43c99a951..db19112e8 100644
--- a/build/docker/ubuntu-bionic/Dockerfile
+++ b/build/docker/ubuntu-bionic/Dockerfile
@@ -15,7 +15,7 @@
# Using all stock Ubuntu Bionic packaging except for:
# - cl: want latest
# - d: dmd does not come with Ubuntu
-# - dart: does not come with Ubuntu. Pinned to last 1.x release
+# - dart: does not come with Ubuntu - we use 2.x here
# - dotnet: does not come with Ubuntu
# - go: want latest
# - nodejs: want v8, bionic comes with v6
@@ -46,7 +46,6 @@ RUN apt-get update && \
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
/etc/apt/sources.list.d/dart_stable.list
-ENV DART_VERSION 1.24.3-1
# dotnet (netcore)
RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
@@ -118,6 +117,7 @@ RUN \
mv deimos-openssl-1.1.0h/C/* /usr/include/dmd/druntime/import/C/ && \
rm -rf deimos-openssl-1.1.0h
+ENV DART_VERSION 2.1.0-1
RUN apt-get install -y --no-install-recommends \
`# Dart dependencies` \
dart=$DART_VERSION
diff --git a/build/docker/ubuntu-xenial/Dockerfile b/build/docker/ubuntu-xenial/Dockerfile
index 3372b4dbd..88895a0c4 100644
--- a/build/docker/ubuntu-xenial/Dockerfile
+++ b/build/docker/ubuntu-xenial/Dockerfile
@@ -14,7 +14,7 @@
# Apache Thrift Docker build environment for Ubuntu Xenial
# Using all stock Ubuntu Xenial packaging except for:
# - d: does not come with Ubuntu so we're installing 2.075.1 for coverage
-# - dart: does not come with Ubuntu so we're installing 1.22.1 for coverage
+# - dart: does not come with Ubuntu so we're installing 1.24.3 for coverage
# - dotnet: does not come with Ubuntu
# - go: Xenial comes with 1.6, but we need 1.7 or later
# - nodejs: Xenial comes with 4.2.6 which exits LTS April 2018, so we're installing 6.x
@@ -50,7 +50,6 @@ RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EBCF975E5BA24D5E &&
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
/etc/apt/sources.list.d/dart_stable.list
-ENV DART_VERSION 1.22.1-1
# dotnet (core)
RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
@@ -120,6 +119,7 @@ RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/v1.1.6+1.0
mv openssl-1.1.6-1.0.1g/C/* /usr/include/dmd/druntime/import/C/ && \
rm -rf openssl-1.1.6-1.0.1g
+ENV DART_VERSION 1.24.3-1
RUN apt-get install -y --no-install-recommends \
`# Dart dependencies` \
dart=$DART_VERSION
@@ -127,7 +127,7 @@ ENV PATH /usr/lib/dart/bin:$PATH
RUN apt-get install -y --no-install-recommends \
`# dotnet core dependencies` \
- dotnet-sdk-2.1.4
+ dotnet-sdk-2.1
RUN apt-get install -y --no-install-recommends \
`# Erlang dependencies` \
diff --git a/compiler/cpp/src/thrift/generate/t_dart_generator.cc b/compiler/cpp/src/thrift/generate/t_dart_generator.cc
index 414c333b4..c82d26c10 100644
--- a/compiler/cpp/src/thrift/generate/t_dart_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_dart_generator.cc
@@ -423,7 +423,7 @@ void t_dart_generator::generate_dart_pubspec() {
indent(f_pubspec) << "environment:" << endl;
indent_up();
- indent(f_pubspec) << "sdk: ^1.12.0" << endl;
+ indent(f_pubspec) << "sdk: '>=1.24.3 <3.0.0'" << endl;
indent_down();
f_pubspec << endl;
diff --git a/lib/dart/README.md b/lib/dart/README.md
index 2be168ba0..4c3029124 100644
--- a/lib/dart/README.md
+++ b/lib/dart/README.md
@@ -23,4 +23,4 @@ under the License.
Using Thrift with Dart
====================
-Dart 1.12.0 or newer is required
+Dart 1.24.3 or newer is required
diff --git a/lib/dart/lib/src/browser/t_web_socket.dart b/lib/dart/lib/src/browser/t_web_socket.dart
index 17693b300..dac9ffdde 100644
--- a/lib/dart/lib/src/browser/t_web_socket.dart
+++ b/lib/dart/lib/src/browser/t_web_socket.dart
@@ -18,7 +18,7 @@
library thrift.src.browser;
import 'dart:async';
-import 'dart:convert' show BASE64;
+import 'package:dart2_constant/convert.dart' show base64;
import 'dart:html' show CloseEvent;
import 'dart:html' show Event;
import 'dart:html' show MessageEvent;
@@ -90,7 +90,7 @@ class TWebSocket implements TSocket {
void _sendRequests() {
while (isOpen && _requests.isNotEmpty) {
Uint8List data = _requests.removeAt(0);
- _socket.sendString(BASE64.encode(data));
+ _socket.sendString(base64.encode(data));
}
}
@@ -113,8 +113,7 @@ class TWebSocket implements TSocket {
void _onMessage(MessageEvent message) {
try {
- Uint8List data =
- new Uint8List.fromList(BASE64.decode(message.data));
+ Uint8List data = new Uint8List.fromList(base64.decode(message.data));
_onMessageController.add(data);
} on FormatException catch (_) {
var error = new TProtocolError(TProtocolErrorType.INVALID_DATA,
diff --git a/lib/dart/lib/src/console/t_web_socket.dart b/lib/dart/lib/src/console/t_web_socket.dart
index 4ed728444..c938a966f 100644
--- a/lib/dart/lib/src/console/t_web_socket.dart
+++ b/lib/dart/lib/src/console/t_web_socket.dart
@@ -18,7 +18,7 @@
library thrift.src.console.t_web_socket;
import 'dart:async';
-import 'dart:convert' show BASE64;
+import 'package:dart2_constant/convert.dart' show base64;
import 'dart:io';
import 'dart:typed_data' show Uint8List;
@@ -67,13 +67,12 @@ class TWebSocket implements TSocket {
}
void send(Uint8List data) {
- _socket.add(BASE64.encode(data));
+ _socket.add(base64.encode(data));
}
void _onMessage(String message) {
try {
- Uint8List data =
- new Uint8List.fromList(BASE64.decode(message));
+ Uint8List data = new Uint8List.fromList(base64.decode(message));
_onMessageController.add(data);
} on FormatException catch (_) {
var error = new TProtocolError(TProtocolErrorType.INVALID_DATA,
diff --git a/lib/dart/lib/src/protocol/t_compact_protocol.dart b/lib/dart/lib/src/protocol/t_compact_protocol.dart
index 72d7641fe..ee8094f8e 100644
--- a/lib/dart/lib/src/protocol/t_compact_protocol.dart
+++ b/lib/dart/lib/src/protocol/t_compact_protocol.dart
@@ -187,7 +187,7 @@ class TCompactProtocol extends TProtocol {
void writeDouble(double d) {
if (d == null) d = 0.0;
- tempBD.setFloat64(0, d, Endianness.LITTLE_ENDIAN);
+ tempBD.setFloat64(0, d, Endianness.little);
transport.write(tempBD.buffer.asUint8List(), 0, 8);
}
@@ -364,7 +364,7 @@ class TCompactProtocol extends TProtocol {
double readDouble() {
transport.readAll(tempList, 0, 8);
- return tempList.buffer.asByteData().getFloat64(0, Endianness.LITTLE_ENDIAN);
+ return tempList.buffer.asByteData().getFloat64(0, Endianness.little);
}
String readString() {
diff --git a/lib/dart/lib/src/protocol/t_json_protocol.dart b/lib/dart/lib/src/protocol/t_json_protocol.dart
index 7fbb7c443..180568ddf 100644
--- a/lib/dart/lib/src/protocol/t_json_protocol.dart
+++ b/lib/dart/lib/src/protocol/t_json_protocol.dart
@@ -155,8 +155,8 @@ class TJsonProtocol extends TProtocol {
_context.write();
transport.writeAll(_Constants.QUOTE_BYTES);
- String base64 = BASE64.encode(bytes);
- transport.writeAll(utf8Codec.encode(base64));
+ String base64text = base64.encode(bytes);
+ transport.writeAll(utf8Codec.encode(base64text));
transport.writeAll(_Constants.QUOTE_BYTES);
}
@@ -421,9 +421,9 @@ class TJsonProtocol extends TProtocol {
Uint8List _readJsonBase64() {
// convert UTF-8 bytes of a Base 64 encoded string to binary bytes
Uint8List base64Bytes = _readJsonString();
- String base64 = utf8Codec.decode(base64Bytes);
+ String base64text = utf8Codec.decode(base64Bytes);
- return new Uint8List.fromList(BASE64.decode(base64));
+ return new Uint8List.fromList(base64.decode(base64text));
}
void _readJsonObjectStart() {
diff --git a/lib/dart/lib/src/serializer/t_deserializer.dart b/lib/dart/lib/src/serializer/t_deserializer.dart
index ed1d139aa..aefbee25b 100644
--- a/lib/dart/lib/src/serializer/t_deserializer.dart
+++ b/lib/dart/lib/src/serializer/t_deserializer.dart
@@ -26,7 +26,7 @@ class TDeserializer {
this.transport = new TBufferedTransport();
if (protocolFactory == null) {
- protocolFactory = new TBinaryProtocolFactory();
+ protocolFactory = new TBinaryProtocolFactory();
}
this.protocol = protocolFactory.getProtocol(this.transport);
@@ -41,8 +41,8 @@ class TDeserializer {
}
void readString(TBase base, String data) {
- transport.writeAll(BASE64.decode(data));
+ transport.writeAll(base64.decode(data));
transport.flush();
base.read(protocol);
diff --git a/lib/dart/lib/src/serializer/t_serializer.dart b/lib/dart/lib/src/serializer/t_serializer.dart
index 20ddb6d97..feec8226d 100644
--- a/lib/dart/lib/src/serializer/t_serializer.dart
+++ b/lib/dart/lib/src/serializer/t_serializer.dart
@@ -43,6 +43,6 @@ class TSerializer {
Uint8List bytes = transport.consumeWriteBuffer();
- return BASE64.encode(bytes);
+ return base64.encode(bytes);
}
}
diff --git a/lib/dart/lib/src/transport/t_http_transport.dart b/lib/dart/lib/src/transport/t_http_transport.dart
index aa78e9c15..630213fbf 100644
--- a/lib/dart/lib/src/transport/t_http_transport.dart
+++ b/lib/dart/lib/src/transport/t_http_transport.dart
@@ -44,7 +44,7 @@ class THttpClientTransport extends TBufferedTransport {
}
Future flush() {
- var requestBody = BASE64.encode(consumeWriteBuffer());
+ var requestBody = base64.encode(consumeWriteBuffer());
// Use a sync completer to ensure that the buffer can be read immediately
// after the read buffer is set, and avoid a race condition where another
@@ -56,8 +56,7 @@ class THttpClientTransport extends TBufferedTransport {
.then((response) {
Uint8List data;
try {
- data = new Uint8List.fromList(
- BASE64.decode(response.body));
+ data = new Uint8List.fromList(base64.decode(response.body));
} on FormatException catch (_) {
throw new TProtocolError(TProtocolErrorType.INVALID_DATA,
"Expected a Base 64 encoded string.");
diff --git a/lib/dart/lib/thrift.dart b/lib/dart/lib/thrift.dart
index 3d9bb016c..c429d773c 100644
--- a/lib/dart/lib/thrift.dart
+++ b/lib/dart/lib/thrift.dart
@@ -19,11 +19,12 @@ library thrift;
import 'dart:async';
import 'dart:collection';
-import 'dart:convert' show Utf8Codec, BASE64;
+import 'dart:convert' show Utf8Codec;
import 'dart:typed_data' show ByteData;
-import 'dart:typed_data' show Endianness;
import 'dart:typed_data' show Uint8List;
+import 'package:dart2_constant/convert.dart' show base64;
+import 'package:dart2_constant/typed_data.dart' show Endianness;
import 'package:fixnum/fixnum.dart';
import 'package:http/http.dart' show Client;
import 'package:logging/logging.dart';
diff --git a/lib/dart/pubspec.yaml b/lib/dart/pubspec.yaml
index fdc4a0dec..ded0269c9 100644
--- a/lib/dart/pubspec.yaml
+++ b/lib/dart/pubspec.yaml
@@ -24,20 +24,15 @@ homepage: http://thrift.apache.org
documentation: http://thrift.apache.org
environment:
- sdk: ">=1.13.0 <2.0.0"
+ sdk: ">=1.24.3 <3.0.0"
dependencies:
+ dart2_constant: ^1.0.0
fixnum: ^0.10.2
http: ^0.11.3
logging: ^0.11.0
dev_dependencies:
- # test
- mockito: ^1.0.0
- test: ^0.12.0
-
- # dart_dev - https://github.com/Workiva/dart_dev
- dart_dev: ^1.5.0
- coverage: ^0.7.3
- dart_style: ">=0.2.4 <0.3.0"
- dartdoc: ^0.9.0
+ dart_dev: ^2.0.0
+ mockito: ">=2.2.2 <4.0.0"
+ test: ">=0.12.30 <2.0.0"
diff --git a/lib/dart/test/protocol/t_protocol_test.dart b/lib/dart/test/protocol/t_protocol_test.dart
index 0e6cde50d..dc63dbb71 100644
--- a/lib/dart/test/protocol/t_protocol_test.dart
+++ b/lib/dart/test/protocol/t_protocol_test.dart
@@ -18,9 +18,9 @@
library thrift.test.transport.t_json_protocol_test;
import 'dart:async';
-import 'dart:convert' show UTF8;
import 'dart:typed_data' show Uint8List;
+import 'package:dart2_constant/convert.dart' show utf8;
import 'package:test/test.dart';
import 'package:thrift/thrift.dart';
@@ -362,7 +362,7 @@ void main() {
UTF-8: 0xF0 0x9D 0x84 0x9E
UTF-16: 0xD834 0xDD1E
*/
- var buffer = UTF8.encode(r'"\u0001\u0e01 \ud834\udd1e"');
+ var buffer = utf8.encode(r'"\u0001\u0e01 \ud834\udd1e"');
var transport = new TBufferedTransport();
transport.writeAll(buffer);
@@ -372,7 +372,7 @@ void main() {
var subject = protocol.readString();
expect(subject,
- UTF8.decode([0x01, 0xE0, 0xB8, 0x81, 0x20, 0xF0, 0x9D, 0x84, 0x9E]));
+ utf8.decode([0x01, 0xE0, 0xB8, 0x81, 0x20, 0xF0, 0x9D, 0x84, 0x9E]));
});
group('shared tests', sharedTests);
diff --git a/lib/dart/test/transport/t_framed_transport_test.dart b/lib/dart/test/transport/t_framed_transport_test.dart
index e072e6877..7ab490539 100644
--- a/lib/dart/test/transport/t_framed_transport_test.dart
+++ b/lib/dart/test/transport/t_framed_transport_test.dart
@@ -18,9 +18,9 @@
library thrift.test.transport.t_framed_transport_test;
import 'dart:async';
-import 'dart:convert';
import 'dart:typed_data' show Uint8List;
+import 'package:dart2_constant/convert.dart' show utf8;
import 'package:test/test.dart';
import 'package:thrift/thrift.dart';
@@ -66,14 +66,14 @@ void main() {
expectNoReadableBytes();
// write first batch of body
- socket.messageController.add(new Uint8List.fromList(UTF8.encode("He")));
+ socket.messageController.add(new Uint8List.fromList(utf8.encode("He")));
// you shouldn't be able to get any bytes from the read,
// because the frame has been consumed internally
expectNoReadableBytes();
// write second batch of body
- socket.messageController.add(new Uint8List.fromList(UTF8.encode("llo!")));
+ socket.messageController.add(new Uint8List.fromList(utf8.encode("llo!")));
// have to wait for the flush to complete,
// because it's only then that the frame is available for reading
@@ -83,7 +83,7 @@ void main() {
// at this point the frame is complete, so we expect the read to complete
readBytes = transport.read(readBuffer, 0, readBuffer.lengthInBytes);
expect(readBytes, 6);
- expect(readBuffer.sublist(0, 6), UTF8.encode("Hello!"));
+ expect(readBuffer.sublist(0, 6), utf8.encode("Hello!"));
});
test('Test transport reads messages where header is sent in pieces '
@@ -112,14 +112,14 @@ void main() {
readBytes = expectNoReadableBytes();
// write first batch of body
- socket.messageController.add(new Uint8List.fromList(UTF8.encode("H")));
+ socket.messageController.add(new Uint8List.fromList(utf8.encode("H")));
// you shouldn't be able to get any bytes from the read,
// because the frame has been consumed internally
expectNoReadableBytes();
// write second batch of body
- socket.messageController.add(new Uint8List.fromList(UTF8.encode("i!")));
+ socket.messageController.add(new Uint8List.fromList(utf8.encode("i!")));
// have to wait for the flush to complete,
// because it's only then that the frame is available for reading
@@ -129,7 +129,7 @@ void main() {
// at this point the frame is complete, so we expect the read to complete
readBytes = transport.read(readBuffer, 0, readBuffer.lengthInBytes);
expect(readBytes, 3);
- expect(readBuffer.sublist(0, 3), UTF8.encode("Hi!"));
+ expect(readBuffer.sublist(0, 3), utf8.encode("Hi!"));
});
});
}
diff --git a/lib/dart/test/transport/t_http_transport_test.dart b/lib/dart/test/transport/t_http_transport_test.dart
index 66f3d054b..03ccede9a 100644
--- a/lib/dart/test/transport/t_http_transport_test.dart
+++ b/lib/dart/test/transport/t_http_transport_test.dart
@@ -19,9 +19,10 @@ library thrift.test.transport.t_socket_transport_test;
import 'dart:async';
import 'dart:convert' show Encoding;
-import 'dart:convert' show Utf8Codec, BASE64;
+import 'dart:convert' show Utf8Codec;
import 'dart:typed_data' show Uint8List;
+import 'package:dart2_constant/convert.dart' show base64;
import 'package:http/http.dart' show BaseRequest;
import 'package:http/http.dart' show Client;
import 'package:http/http.dart' show Response;
@@ -52,15 +53,14 @@ void main() {
expect(client.postRequest, isNotEmpty);
- var requestText =
- utf8Codec.decode(BASE64.decode(client.postRequest));
+ var requestText = utf8Codec.decode(base64.decode(client.postRequest));
expect(requestText, expectedText);
});
test('Test transport receives response', () async {
var expectedText = 'my response';
var expectedBytes = utf8Codec.encode(expectedText);
- client.postResponse = BASE64.encode(expectedBytes);
+ client.postResponse = base64.encode(expectedBytes);
transport.writeAll(utf8Codec.encode('my request'));
expect(transport.hasReadData, isFalse);
@@ -94,7 +94,7 @@ void main() {
// prepare a response
transport.writeAll(utf8Codec.encode('request 1'));
- client.postResponse = BASE64.encode(expectedBytes);
+ client.postResponse = base64.encode(expectedBytes);
Future responseReady = transport.flush().then((_) {
var buffer = new Uint8List(expectedBytes.length);
@@ -105,7 +105,7 @@ void main() {
// prepare a second response
transport.writeAll(utf8Codec.encode('request 2'));
var response2Bytes = utf8Codec.encode('response 2');
- client.postResponse = BASE64.encode(response2Bytes);
+ client.postResponse = base64.encode(response2Bytes);
await transport.flush();
await responseReady;
diff --git a/lib/dart/test/transport/t_socket_transport_test.dart b/lib/dart/test/transport/t_socket_transport_test.dart
index 929ab17b1..90bffbe54 100644
--- a/lib/dart/test/transport/t_socket_transport_test.dart
+++ b/lib/dart/test/transport/t_socket_transport_test.dart
@@ -18,9 +18,11 @@
library thrift.test.transport.t_socket_transport_test;
import 'dart:async';
-import 'dart:convert' show Utf8Codec, BASE64;
+import 'dart:convert' show Utf8Codec;
import 'dart:typed_data' show Uint8List;
+import 'package:dart2_constant/convert.dart' show base64;
+import 'package:dart2_constant/core.dart' as core;
import 'package:mockito/mockito.dart';
import 'package:test/test.dart';
import 'package:thrift/thrift.dart';
@@ -30,14 +32,13 @@ void main() {
final requestText = 'my test request';
final requestBytes = new Uint8List.fromList(utf8Codec.encode(requestText));
- final requestBase64 = BASE64.encode(requestBytes);
+ final requestBase64 = base64.encode(requestBytes);
final responseText = 'response 1';
final responseBytes = new Uint8List.fromList(utf8Codec.encode(responseText));
- final responseBase64 = BASE64.encode(responseBytes);
+ final responseBase64 = base64.encode(responseBytes);
- final framedResponseBase64 =
- BASE64.encode(_getFramedResponse(responseBytes));
+ final framedResponseBase64 = base64.encode(_getFramedResponse(responseBytes));
group('TClientSocketTransport', () {
FakeSocket socket;
@@ -117,7 +118,7 @@ void main() {
protocolFactory.message = new TMessage('foo', TMessageType.CALL, 123);
transport = new TAsyncClientSocketTransport(
socket, new TMessageReader(protocolFactory),
- responseTimeout: Duration.ZERO);
+ responseTimeout: core.Duration.zero);
await transport.open();
transport.writeAll(requestBytes);
});
@@ -139,7 +140,7 @@ void main() {
var response2Text = 'response 2';
var response2Bytes =
new Uint8List.fromList(utf8Codec.encode(response2Text));
- var response2Base64 = BASE64.encode(response2Bytes);
+ var response2Base64 = base64.encode(response2Bytes);
protocolFactory.message = new TMessage('foo2', TMessageType.REPLY, 124);
socket.receiveFakeMessage(response2Base64);
@@ -169,7 +170,7 @@ void main() {
transport = new TFramedTransport(new TAsyncClientSocketTransport(
socket, messageReader,
- responseTimeout: Duration.ZERO));
+ responseTimeout: core.Duration.zero));
await transport.open();
transport.writeAll(requestBytes);
});
@@ -275,11 +276,10 @@ class FakeSocket extends TSocket {
_sendPayload = data;
}
- void receiveFakeMessage(String base64) {
+ void receiveFakeMessage(String base64text) {
if (!isOpen) throw new StateError('The socket is not open');
- var message =
- new Uint8List.fromList(BASE64.decode(base64));
+ var message = new Uint8List.fromList(base64.decode(base64text));
_onMessageController.add(message);
}
}
diff --git a/test/dart/test_client/pubspec.yaml b/test/dart/test_client/pubspec.yaml
index d1642f88b..113054a24 100644
--- a/test/dart/test_client/pubspec.yaml
+++ b/test/dart/test_client/pubspec.yaml
@@ -22,10 +22,10 @@ author: Apache Thrift Developers <dev@thrift.apache.org>
homepage: http://thrift.apache.org
environment:
- sdk: ">=1.13.0 <2.0.0"
+ sdk: ">=1.24.3 <3.0.0"
dependencies:
- args: ^0.13.0
+ args: ">=0.13.0 <2.0.0"
http: ^0.11.0
thrift:
path: ../../../lib/dart
@@ -33,4 +33,4 @@ dependencies:
path: ../gen-dart/thrift_test
dev_dependencies:
- test: "^0.12.0"
+ test: ">=0.12.30 <2.0.0"
diff --git a/test/tests.json b/test/tests.json
index 43d6dedae..3381a1faf 100644
--- a/test/tests.json
+++ b/test/tests.json
@@ -562,6 +562,7 @@
{
"name": "dart",
"client": {
+ "timeout": 15,
"transports": [
"buffered",
"framed",
@@ -577,6 +578,7 @@
],
"command": [
"dart",
+ "--enable-asserts",
"test_client/bin/main.dart"
]
},
diff --git a/tutorial/dart/client/pubspec.yaml b/tutorial/dart/client/pubspec.yaml
index d8ede1440..109db0f65 100644
--- a/tutorial/dart/client/pubspec.yaml
+++ b/tutorial/dart/client/pubspec.yaml
@@ -22,10 +22,9 @@ author: Apache Thrift Developers <dev@thrift.apache.org>
homepage: http://thrift.apache.org
environment:
- sdk: ">=1.13.0 <2.0.0"
+ sdk: ">=1.13.0 <3.0.0"
dependencies:
- browser: ^0.10.0
shared:
path: ../gen-dart/shared
thrift:
diff --git a/tutorial/dart/client/web/index.html b/tutorial/dart/client/web/index.html
index 64b184e55..9d36b4388 100644
--- a/tutorial/dart/client/web/index.html
+++ b/tutorial/dart/client/web/index.html
@@ -24,8 +24,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Thrift Tutorial</title>
<link rel="stylesheet" href="styles.css">
- <script async src="client.dart" type="application/dart"></script>
- <script async src="packages/browser/dart.js"></script>
+ <script async src="client.dart.js"></script>
</head>
<body>
diff --git a/tutorial/dart/console_client/pubspec.yaml b/tutorial/dart/console_client/pubspec.yaml
index a34e26f60..602bb5e10 100644
--- a/tutorial/dart/console_client/pubspec.yaml
+++ b/tutorial/dart/console_client/pubspec.yaml
@@ -23,10 +23,10 @@ author: Apache Thrift Developers <dev@thrift.apache.org>
homepage: http://thrift.apache.org
environment:
- sdk: ">=1.13.0 <2.0.0"
+ sdk: ">=1.13.0 <3.0.0"
dependencies:
- args: ^0.13.0
+ args: ">=0.13.0 <2.0.0"
collection: ^1.1.0
shared:
path: ../gen-dart/shared
diff --git a/tutorial/dart/server/pubspec.yaml b/tutorial/dart/server/pubspec.yaml
index 18d0737f3..b0b012d09 100644
--- a/tutorial/dart/server/pubspec.yaml
+++ b/tutorial/dart/server/pubspec.yaml
@@ -22,10 +22,10 @@ author: Apache Thrift Developers <dev@thrift.apache.org>
homepage: http://thrift.apache.org
environment:
- sdk: ">=1.13.0 <2.0.0"
+ sdk: ">=1.13.0 <3.0.0"
dependencies:
- args: ^0.13.0
+ args: ">=0.13.0 <2.0.0"
shared:
path: ../gen-dart/shared
thrift: