tahoe-lafs/src/allmydata/test/test_node.py

44 lines
1.3 KiB
Python
Raw Normal View History

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