Index: pkg/mdns/test/lookup_resolver_test.dart |
diff --git a/pkg/mdns/test/lookup_resolver_test.dart b/pkg/mdns/test/lookup_resolver_test.dart |
index 7eb98f06452d4b55883c9224b4d06e3001c882a1..56ce4b3eb023024e708cda8c30eebc3e7b9fcb85 100644 |
--- a/pkg/mdns/test/lookup_resolver_test.dart |
+++ b/pkg/mdns/test/lookup_resolver_test.dart |
@@ -5,8 +5,9 @@ |
import 'dart:io'; |
import 'package:expect/expect.dart'; |
-import 'package:mdns/src/packet.dart'; |
+import 'package:mdns/src/constants.dart' show RRType; |
import 'package:mdns/src/lookup_resolver.dart'; |
+import 'package:mdns/src/packet.dart'; |
main() async { |
await testTimeout(); |
@@ -15,55 +16,63 @@ main() async { |
await testResult3(); |
} |
+ResourceRecord ip4Result(String name, InternetAddress address) { |
+ int validUntil = new DateTime.now().millisecondsSinceEpoch + 2000; |
+ return new ResourceRecord(RRType.A, name, address, validUntil); |
+} |
+ |
testTimeout() async { |
var shortTimeout = new Duration(milliseconds: 1); |
var resolver = new LookupResolver(); |
- var result = await resolver.addPendingRequest('xxx', shortTimeout); |
- Expect.isNull(result); |
+ var result = await resolver.addPendingRequest(RRType.A, 'xxx', shortTimeout); |
+ Expect.isTrue(await result.isEmpty); |
Søren Gjesse
2015/11/06 12:28:33
Remove await here?
|
} |
// One pending request and one response. |
testResult() async { |
var noTimeout = new Duration(days: 1); |
var resolver = new LookupResolver(); |
- var futureResult = resolver.addPendingRequest('xxx', noTimeout); |
- var response = new DecodeResult('xxx', new InternetAddress('1.2.3.4')); |
+ var futureResult = resolver.addPendingRequest(RRType.A, 'xxx', noTimeout); |
+ var response = ip4Result('xxx', new InternetAddress('1.2.3.4')); |
resolver.handleResponse([response]); |
- var result = await futureResult; |
- Expect.equals('1.2.3.4', result.address); |
+ var result = await futureResult.first; |
+ Expect.equals('1.2.3.4', result.address.address); |
+ resolver.clearPendingRequests(); |
} |
testResult2() async { |
var noTimeout = new Duration(days: 1); |
var resolver = new LookupResolver(); |
- var futureResult1 = resolver.addPendingRequest('xxx', noTimeout); |
- var futureResult2 = resolver.addPendingRequest('yyy', noTimeout); |
- var response1 = new DecodeResult('xxx', new InternetAddress('1.2.3.4')); |
- var response2 = new DecodeResult('yyy', new InternetAddress('2.3.4.5')); |
+ var futureResult1 = resolver.addPendingRequest(RRType.A, 'xxx', noTimeout); |
+ var futureResult2 = resolver.addPendingRequest(RRType.A, 'yyy', noTimeout); |
+ var response1 = ip4Result('xxx', new InternetAddress('1.2.3.4')); |
+ var response2 = ip4Result('yyy', new InternetAddress('2.3.4.5')); |
resolver.handleResponse([response2, response1]); |
- var result1 = await futureResult1; |
- var result2 = await futureResult2; |
- Expect.equals('1.2.3.4', result1.address); |
- Expect.equals('2.3.4.5', result2.address); |
+ var result1 = await futureResult1.first; |
+ var result2 = await futureResult2.first; |
+ Expect.equals('1.2.3.4', result1.address.address); |
+ Expect.equals('2.3.4.5', result2.address.address); |
+ resolver.clearPendingRequests(); |
} |
testResult3() async { |
var noTimeout = new Duration(days: 1); |
var resolver = new LookupResolver(); |
- var response0 = new DecodeResult('zzz', new InternetAddress('2.3.4.5')); |
+ var response0 = ip4Result('zzz', new InternetAddress('2.3.4.5')); |
resolver.handleResponse([response0]); |
- var futureResult1 = resolver.addPendingRequest('xxx', noTimeout); |
+ var futureResult1 = resolver.addPendingRequest(RRType.A, 'xxx', noTimeout); |
resolver.handleResponse([response0]); |
- var futureResult2 = resolver.addPendingRequest('yyy', noTimeout); |
+ var futureResult2 = resolver.addPendingRequest(RRType.A, 'yyy', noTimeout); |
resolver.handleResponse([response0]); |
- var response1 = new DecodeResult('xxx', new InternetAddress('1.2.3.4')); |
+ var response1 = ip4Result('xxx', new InternetAddress('1.2.3.4')); |
resolver.handleResponse([response0]); |
- var response2 = new DecodeResult('yyy', new InternetAddress('2.3.4.5')); |
+ var response2 = ip4Result('yyy', new InternetAddress('2.3.4.5')); |
resolver.handleResponse([response0]); |
resolver.handleResponse([response2, response1]); |
resolver.handleResponse([response0]); |
- var result1 = await futureResult1; |
- var result2 = await futureResult2; |
- Expect.equals('1.2.3.4', result1.address); |
- Expect.equals('2.3.4.5', result2.address); |
+ var result1 = await futureResult1.first; |
+ var result2 = await futureResult2.first; |
+ Expect.equals('1.2.3.4', result1.address.address); |
+ Expect.equals('2.3.4.5', result2.address.address); |
+ resolver.clearPendingRequests(); |
} |