import os, sys sys.path.append(os.path.join(os.getcwd(), sys.path[0], "..")) from ds import dsunittest dsunittest.setTestName("dns/__init__.py") from kenosis import address from kenosis import dns from ds import dstime import socket class Test(dsunittest.TestCase): def setUp(self): dstime.setTestingTime(0) socket.setdefaulttimeout(0.5) def tearDown(self): pass def testSimple(self): na, serviceName = dns.nodeAddressAndServiceNameFrom( url="http://FFFAAFFF.node.bt.kenosisp2p.org:1234/asdfasdf/asdf/d/") self.assertEqual(na, "0xFFFAAFFF") self.assertEqual(serviceName, "bt") na, serviceName = dns.nodeAddressAndServiceNameFrom( domain="FFFAAFFF.node.bt.kenosisp2p.org") self.assertEqual(serviceName, "bt") self.assertEqual(na, "0xFFFAAFFF") na, serviceName = dns.nodeAddressAndServiceNameFrom(domain="adfasdf") self.assertEqual(na, None)
import os, sys sys.path.append(os.path.join(os.getcwd(), sys.path[0], "..")) from ds import dsunittest dsunittest.setTestName(testName="address.py") from kenosis import address class Test(dsunittest.TestCase): def testAddressStringConversion(self): addressPairs = ( ("0x0", 0), ("0x1", 1L), ("0x" + "F" * 40, 2 ** 160 - 1)) for addressString, addr in addressPairs: self.assertEqual(address.NodeAddressObject(numericAddress=addr), address.NodeAddressObject(nodeAddress=addressString)) self.assertEqual("address:%s" % addressString, str(address.NodeAddressObject(numericAddress=addr))) def testDistance(self): tuples = ( ("0000", "0000", 0), ("0001", "0000", 1), ("1010", "0101", 0xf), ("1010", "1010", 0)) for address0String, address1String, distance in tuples: address0 = address.NodeAddressObject(nodeAddress=address0String) address1 = address.NodeAddressObject(nodeAddress=address1String) self.assertEqual(address.distance(address0=address0, address1=address1), distance) self.assertEqual(address.distance(address0=address1, address1=address0), distance) self.assertRaises(TypeError, cmp, address0, 42) def testHash(self):
import os, sys sys.path.append(os.path.join(os.getcwd(), sys.path[0], "..")) from ds import dsunittest dsunittest.setTestName(testName="upnp.py") from kenosis import upnp class Test(dsunittest.TestCase): def testMapping(self): mappingTuple1 = ("", 50050, "TCP", "purpose1") mappingTuple2 = ("", 50051, "TCP", "purpose1") mappingTuple3 = ("0.0.0.0", 50050, "TCP", "purpose3") mappingTuple4 = ("", 50051, "UDP", "purpose4") mapper1 = upnp.UPnPMapper() host1, port1 = mapper1.map(mappingTuple1) host1v1, port1v1 = mapper1.map(mappingTuple1) self.assertEqual(host1, host1v1) self.assertEqual(port1, port1v1) mapper2 = upnp.UPnPMapper() host2, port2 = mapper2.map(mappingTuple2) host4, port4 = mapper2.map(mappingTuple4) mapper3 = upnp.UPnPMapper() host3, port3 = mapper3.map(mappingTuple3) self.assertNotEqual(port1, port2) self.assertNotEqual(port2, port3) self.assertEqual(port2, port4)
import os, sys sys.path.append(os.path.join(os.getcwd(), sys.path[0], "..")) from ds import dsunittest dsunittest.setTestName("dsthread.py") import task import dsthread import time class Test(dsunittest.TestCase): def testSections(self): dsthread.assertEnterNamedSection(name="hello") dsthread.leaveNamedSection(name="hello") dsthread.blockEnterNamedSection(name="hello") dsthread.leaveNamedSection(name="hello") dsthread.assertEnterNamedSection(name="hello") self.assertRaises(AssertionError, dsthread.assertEnterNamedSection, name="hello") dsthread.leaveNamedSection(name="hello") self.assertRaises(AssertionError, dsthread.leaveNamedSection, name="hello") def testSectionsWithThreads(self): tl = task.TaskList(maxThreads=2) def func(): for i in range(100): dsunittest.trace("entering") dsthread.blockEnterNamedSection(name="hello2") dsunittest.trace("leaving")
import os, sys sys.path.append(os.path.join(os.getcwd(), sys.path[0], "..")) from ds import dsunittest dsunittest.setTestName("dsqueue.py") from ds import dsqueue class Test(dsunittest.TestCase): def testPriorityQueue(self): q = dsqueue.PriorityQueue(0) for x in (0, 2, 1, 5, 8, 6, 7, 4, 3): q.put(x) out = [] while not q.empty(): out.append(q.get()) self.assertEqual(out, range(9)) if __name__ == "__main__": dsunittest.main()