summaryrefslogtreecommitdiff
path: root/tests/test_gresolver.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_gresolver.py')
-rw-r--r--tests/test_gresolver.py68
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/test_gresolver.py b/tests/test_gresolver.py
new file mode 100644
index 0000000..4238df7
--- /dev/null
+++ b/tests/test_gresolver.py
@@ -0,0 +1,68 @@
+# -*- Mode: Python -*-
+
+import unittest
+
+import glib
+import gio
+
+
+class TestResolver(unittest.TestCase):
+ def setUp(self):
+ self.resolver = gio.resolver_get_default()
+
+ def test_resolver_lookup_by_name(self):
+ addresses = self.resolver.lookup_by_name("pygtk.org", cancellable=None)
+ self.failUnless(isinstance(addresses[0], gio.InetAddress))
+
+ def test_resolver_lookup_by_address(self):
+ address = gio.inet_address_new_from_string("8.8.8.8")
+ dns = self.resolver.lookup_by_address(address, cancellable=None)
+ self.failUnlessEqual(dns, "google-public-dns-a.google.com")
+
+ def test_resolver_lookup_by_name_async(self):
+ def callback(resolver, result):
+ try:
+ addresses = resolver.lookup_by_name_finish(result)
+ self.failUnless(isinstance(addresses[0], gio.InetAddress))
+ finally:
+ loop.quit()
+
+ self.resolver.lookup_by_name_async(callback, "pygtk.org")
+
+ loop = glib.MainLoop()
+ loop.run()
+
+ def test_resolver_lookup_by_address_async(self):
+ def callback(resolver, result):
+ try:
+ dns = resolver.lookup_by_address_finish(result)
+ self.failUnlessEqual(dns, "google-public-dns-b.google.com")
+ finally:
+ loop.quit()
+
+ address = gio.inet_address_new_from_string("8.8.4.4")
+ self.resolver.lookup_by_address_async(callback, address)
+
+ loop = glib.MainLoop()
+ loop.run()
+
+""" Commented out because this requires an active internet connection and a
+ router that supports SRV lookups
+
+ def test_resolver_lookup_service(self):
+ targets = self.resolver.lookup_service("xmpp-client", "tcp", "google.com")
+ self.failUnless(isinstance(targets[0], gio.SrvTarget))
+
+ def test_resolver_lookup_service_async(self):
+ def callback(resolver, result):
+ try:
+ targets = resolver.lookup_service_finish(result)
+ self.failUnless(isinstance(targets[0], gio.SrvTarget))
+ finally:
+ loop.quit()
+
+ self.resolver.lookup_service_async(callback, "xmpp-client", "tcp", "google.com")
+
+ loop = glib.MainLoop()
+ loop.run()
+"""