From: Zooko O'Whielacronx Date: Wed, 23 May 2007 22:08:55 +0000 (-0700) Subject: add unit test for "advertised_ip_addresses" feature and fix bug in that feature uncov... X-Git-Tag: allmydata-tahoe-0.3.0~62 X-Git-Url: https://git.rkrishnan.org/pf/content/en/service/FOOURL?a=commitdiff_plain;h=44902c51522839ed4ce343f854a30c758ff2e23c;p=tahoe-lafs%2Ftahoe-lafs.git add unit test for "advertised_ip_addresses" feature and fix bug in that feature uncovered by this unit test --- diff --git a/src/allmydata/node.py b/src/allmydata/node.py index 750e61fb..c55fd413 100644 --- a/src/allmydata/node.py +++ b/src/allmydata/node.py @@ -111,7 +111,7 @@ class Node(service.MultiService): (addr, dummy, aportnum,) = mo.groups() if aportnum is None: aportnum = portnum - addresses.append("%s:%d" % (addr, aportnum,)) + addresses.append("%s:%d" % (addr, int(aportnum),)) except EnvironmentError: pass diff --git a/src/allmydata/test/test_node.py b/src/allmydata/test/test_node.py new file mode 100644 index 00000000..ad223a82 --- /dev/null +++ b/src/allmydata/test/test_node.py @@ -0,0 +1,43 @@ + +from twisted.trial import unittest +from twisted.internet import defer, reactor +from twisted.python import log + +from foolscap import Tub, Referenceable +from foolscap.eventual import flushEventualQueue +from twisted.application import service +from allmydata.node import Node +from allmydata.util import idlib, testutil + +class LoggingMultiService(service.MultiService): + def log(self, msg): + pass + +class TestNode(Node): + CERTFILE='DEFAULT_CERTFILE_BLANK' + PORTNUMFILE='DEFAULT_PORTNUMFILE_BLANK' + +class TestCase(unittest.TestCase, testutil.SignalMixin): + def setUp(self): + self.parent = LoggingMultiService() + self.parent.startService() + def tearDown(self): + log.msg("%s.tearDown" % self.__class__.__name__) + d = defer.succeed(None) + d.addCallback(lambda res: self.parent.stopService()) + d.addCallback(flushEventualQueue) + return d + + def test_advertised_ip_addresses(self): + open('advertised_ip_addresses','w').write('1.2.3.4:5') + + n = TestNode() + n.setServiceParent(self.parent) + d = n.when_tub_ready() + + def _check_addresses(ignored_result): + self.failUnless("1.2.3.4:5" in n.tub.registerReference(n), n.tub.registerReference(n)) + + d.addCallback(_check_addresses) + return d +