Example #1
0
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)
Example #2
0
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):
Example #3
0
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)
Example #4
0
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")
Example #5
0
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()