[tor-commits] [ooni-probe/develop] Add test for checking the failure of the traceroute method

isis at torproject.org isis at torproject.org
Thu Jun 6 16:41:37 UTC 2013


commit e63048bbe3e45ce597b80b8f7f7ac5de24557a54
Author: Arturo Filastò <art at fuffa.org>
Date:   Fri Mar 15 16:01:27 2013 +0100

    Add test for checking the failure of the traceroute method
    
    Should raise an error when run as non root.
---
 ooni/errors.py         |    3 ++-
 ooni/geoip.py          |    4 ++--
 ooni/utils/__init__.py |    2 ++
 tests/test_geoip.py    |    6 +++---
 4 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/ooni/errors.py b/ooni/errors.py
index 6b23727..62fcf93 100644
--- a/ooni/errors.py
+++ b/ooni/errors.py
@@ -14,7 +14,6 @@ from txsocksx.errors import HostUnreachable, ConnectionRefused
 from txsocksx.errors import TTLExpired, CommandNotSupported
 
 from socket import gaierror
-from ooni.utils import log
 def handleAllFailures(failure):
     """
     Here we make sure to trap all the failures that are supported by the
@@ -44,6 +43,8 @@ def failureToString(failure):
 
         A string representing the HTTP response error message.
     """
+    from ooni.utils import log
+
     string = None
     if isinstance(failure.value, ConnectionRefusedError):
         log.err("Connection refused. The backend may be down")
diff --git a/ooni/geoip.py b/ooni/geoip.py
index 55c4fa4..e6a221b 100644
--- a/ooni/geoip.py
+++ b/ooni/geoip.py
@@ -7,8 +7,8 @@ from twisted.web import client, http_headers
 from ooni.utils.net import userAgents, BodyReceiver
 from twisted.internet import reactor, defer, protocol
 
-from ooni.utils import log, net
-from ooni import config
+from ooni.utils import log, net, checkForRoot
+from ooni import config, errors
 
 try:
     import pygeoip
diff --git a/ooni/utils/__init__.py b/ooni/utils/__init__.py
index 340693b..b039c8a 100644
--- a/ooni/utils/__init__.py
+++ b/ooni/utils/__init__.py
@@ -6,6 +6,8 @@ import yaml
 import imp
 import os
 
+from ooni import errors
+
 class Storage(dict):
     """
     A Storage object is like a dictionary except `obj.foo` can be used
diff --git a/tests/test_geoip.py b/tests/test_geoip.py
index a4ad767..443d262 100644
--- a/tests/test_geoip.py
+++ b/tests/test_geoip.py
@@ -4,6 +4,7 @@ from twisted.trial import unittest
 from twisted.python.filepath import FilePath
 from twisted.protocols.policies import WrappingFactory
 
+from ooni import errors
 from ooni.geoip import ProbeIP, MaxMindGeoIP, TorProjectGeoIP
 from ooni.geoip import UbuntuGeoIP, HTTPGeoIPLookupper, IPToLocation
 
@@ -24,7 +25,6 @@ class MaxMindGeoIPResource(resource.Resource):
 
 class TorProjectGeoIPResource(resource.Resource):
     def render(self, request):
-
         return """
         Your IP address appears to be: <b>127.0.0.1</b>
         """
@@ -98,8 +98,8 @@ class TestProbeIP(GeoIPBaseTest):
             self.assertEqual(self.probe_ip.address, '127.0.0.1')
         return d
 
-    def test_ask_traceroute_service(self):
-        pass
+    def test_fail_traceroute_service(self):
+        self.assertRaises(errors.InsufficientPrivileges, self.probe_ip.askTraceroute)
 
     def test_ask_tor(self):
         pass





More information about the tor-commits mailing list