Index: mojo/dart/apptests/dart_apptests/lib/src/versioning_apptests.dart |
diff --git a/mojo/dart/apptests/dart_apptests/lib/src/versioning_apptests.dart b/mojo/dart/apptests/dart_apptests/lib/src/versioning_apptests.dart |
index 4aba34b25c59df945268bfc27e56a5bef90408e9..cae7fb8dbad34d09fee11097d1b6048a87eae358 100644 |
--- a/mojo/dart/apptests/dart_apptests/lib/src/versioning_apptests.dart |
+++ b/mojo/dart/apptests/dart_apptests/lib/src/versioning_apptests.dart |
@@ -24,12 +24,17 @@ tests(Application application, String url) { |
// Query database and get a response back (even though the client does not |
// know about the birthday field). |
+ var c = new Completer(); |
bool retrieveFingerPrint = true; |
- var response = await database.queryEmployee(1, retrieveFingerPrint); |
- expect(response.employee.employeeId, equals(1)); |
- expect(response.employee.name, equals("Homer Simpson")); |
- expect(response.employee.department, equals(Department.dev)); |
- expect(response.fingerPrint, isNotNull); |
+ database.queryEmployee(1, retrieveFingerPrint, |
+ (Employee e, List<int> fingerPrint) { |
+ c.complete([e, fingerPrint]); |
+ }); |
+ var response = await database.responseOrError(c.future); |
+ expect(response[0].employeeId, equals(1)); |
+ expect(response[0].name, equals("Homer Simpson")); |
+ expect(response[0].department, equals(Department.dev)); |
+ expect(response[1], isNotNull); |
// Pass an Employee struct to the service side that lacks the 'birthday' |
// field. |
@@ -37,16 +42,25 @@ tests(Application application, String url) { |
newEmployee.employeeId = 2; |
newEmployee.name = "Marge Simpson"; |
newEmployee.department = Department.sales; |
- response = await database.addEmployee(newEmployee); |
- expect(response.success, isTrue); |
+ c = new Completer(); |
+ database.addEmployee(newEmployee, (bool success) { |
+ c.complete(success); |
+ }); |
+ response = await database.responseOrError(c.future); |
+ expect(response, isTrue); |
// Query for employee #2. |
+ c = new Completer(); |
retrieveFingerPrint = false; |
- response = await database.queryEmployee(2, retrieveFingerPrint); |
- expect(response.employee.employeeId, equals(2)); |
- expect(response.employee.name, equals("Marge Simpson")); |
- expect(response.employee.department, equals(Department.sales)); |
- expect(response.fingerPrint, isNull); |
+ database.queryEmployee(2, retrieveFingerPrint, |
+ (Employee e, List<int> fingerPrint) { |
+ c.complete([e, fingerPrint]); |
+ }); |
+ response = await database.responseOrError(c.future); |
+ expect(response[0].employeeId, equals(2)); |
+ expect(response[0].name, equals("Marge Simpson")); |
+ expect(response[0].department, equals(Department.sales)); |
+ expect(response[1], isNull); |
// Disconnect from database. |
database.close(); |
@@ -75,7 +89,12 @@ tests(Application application, String url) { |
// Query for employee #3. |
var retrieveFingerPrint = false; |
- var response = await database.queryEmployee(3, retrieveFingerPrint); |
+ var c = new Completer(); |
+ database.queryEmployee(3, retrieveFingerPrint, |
+ (Employee e, List<int> fingerPrint) { |
+ c.complete([e, fingerPrint]); |
+ }); |
+ var response = await database.responseOrError(c.future); |
// Got some kind of response. |
expect(response, isNotNull); |
@@ -86,9 +105,13 @@ tests(Application application, String url) { |
// Query for employee #1, observe that the call fails. |
bool exceptionCaught = false; |
+ c = new Completer(); |
+ database.queryEmployee(1, retrieveFingerPrint, |
+ (Employee e, List<int> fingerPrint) { |
+ c.complete([e, fingerPrint]); |
+ }); |
try { |
- response = await database.responseOrError( |
- database.queryEmployee(1, retrieveFingerPrint)); |
+ response = await database.responseOrError(c.future); |
fail('Exception should be thrown.'); |
} catch (e) { |
exceptionCaught = true; |
@@ -111,14 +134,22 @@ tests(Application application, String url) { |
// Although the client side doesn't know whether the service side supports |
// version 1, calling a version 1 method succeeds as long as the service |
// side supports version 1. |
- var response = await database.attachFingerPrint(1, fingerPrint); |
- expect(response.success, isTrue); |
+ var c = new Completer(); |
+ database.attachFingerPrint(1, fingerPrint, (bool success) { |
+ c.complete(success); |
+ }); |
+ var response = await database.responseOrError(c.future); |
+ expect(response, isTrue); |
// Calling a version 2 method (which the service side doesn't support) |
// closes the pipe. |
bool exceptionCaught = false; |
+ c = new Completer(); |
+ database.listEmployeeIds((List<int> ids) { |
+ c.complete(ids); |
+ }); |
try { |
- response = await database.responseOrError(database.listEmployeeIds()); |
+ response = await database.responseOrError(c.future); |
fail('Exception should be thrown.'); |
} catch (e) { |
exceptionCaught = true; |