"""
from datetime import datetime
-import os, sha, random
+import os, hashlib, random
from twisted.internet import defer, reactor
from twisted.internet.abstract import isIPAddress
"""Simple 2-node unit tests for the DHT."""
timeout = 50
- DHT_DEFAULTS = {'PORT': 9977,
- 'CHECKPOINT_INTERVAL': 300, 'CONCURRENT_REQS': 4,
- 'STORE_REDUNDANCY': 3, 'RETRIEVE_VALUES': -10000,
+ DHT_DEFAULTS = {'VERSION': 'A000', 'PORT': 9977,
+ 'CHECKPOINT_INTERVAL': 300, 'CONCURRENT_REQS': 8,
+ 'STORE_REDUNDANCY': 6, 'RETRIEVE_VALUES': -10000,
'MAX_FAILURES': 3, 'LOCAL_OK': True,
'MIN_PING_INTERVAL': 900,'BUCKET_STALENESS': 3600,
- 'KRPC_TIMEOUT': 14, 'KRPC_INITIAL_DELAY': 2,
- 'KEY_EXPIRE': 3600, 'SPEW': False, }
+ 'KRPC_TIMEOUT': 9, 'KRPC_INITIAL_DELAY': 2,
+ 'KEY_EXPIRE': 3600, 'SPEW': True, }
def setUp(self):
self.a = DHT()
def store_values(self, result):
self.stored = 3
- d = self.a.storeValue(sha.new('4045').digest(), str(4045*3))
+ d = self.a.storeValue(hashlib.sha1('4045').digest(), str(4045*3))
d.addCallback(self.value_stored, 4045)
- d = self.a.storeValue(sha.new('4044').digest(), str(4044*2))
+ d = self.a.storeValue(hashlib.sha1('4044').digest(), str(4044*2))
d.addCallback(self.value_stored, 4044)
- d = self.b.storeValue(sha.new('4045').digest(), str(4045*2))
+ d = self.b.storeValue(hashlib.sha1('4045').digest(), str(4045*2))
d.addCallback(self.value_stored, 4045)
def check_values(self, result, values):
def get_values(self):
self.checked = 4
- d = self.a.getValue(sha.new('4044').digest())
+ d = self.a.getValue(hashlib.sha1('4044').digest())
d.addCallback(self.check_values, [str(4044*2)])
- d = self.b.getValue(sha.new('4044').digest())
+ d = self.b.getValue(hashlib.sha1('4044').digest())
d.addCallback(self.check_values, [str(4044*2)])
- d = self.a.getValue(sha.new('4045').digest())
+ d = self.a.getValue(hashlib.sha1('4045').digest())
d.addCallback(self.check_values, [str(4045*2), str(4045*3)])
- d = self.b.getValue(sha.new('4045').digest())
+ d = self.b.getValue(hashlib.sha1('4045').digest())
d.addCallback(self.check_values, [str(4045*2), str(4045*3)])
def test_store(self):
class TestMultiDHT(unittest.TestCase):
"""More complicated 20-node tests for the DHT."""
- timeout = 100
+ timeout = 200
num = 20
- DHT_DEFAULTS = {'PORT': 9977,
- 'CHECKPOINT_INTERVAL': 300, 'CONCURRENT_REQS': 4,
- 'STORE_REDUNDANCY': 3, 'RETRIEVE_VALUES': -10000,
+ DHT_DEFAULTS = {'VERSION': 'A000', 'PORT': 9977,
+ 'CHECKPOINT_INTERVAL': 300, 'CONCURRENT_REQS': 8,
+ 'STORE_REDUNDANCY': 6, 'RETRIEVE_VALUES': -10000,
'MAX_FAILURES': 3, 'LOCAL_OK': True,
'MIN_PING_INTERVAL': 900,'BUCKET_STALENESS': 3600,
- 'KRPC_TIMEOUT': 14, 'KRPC_INITIAL_DELAY': 2,
- 'KEY_EXPIRE': 3600, 'SPEW': False, }
+ 'KRPC_TIMEOUT': 9, 'KRPC_INITIAL_DELAY': 2,
+ 'KEY_EXPIRE': 3600, 'SPEW': True, }
def setUp(self):
self.l = []
if next_node + 1 < len(self.l):
d.addCallback(self.node_join, next_node + 1)
else:
- d.addCallback(self.lastDefer.callback)
+ reactor.callLater(1, d.addCallback, self.lastDefer.callback)
def test_join(self):
self.timeout = 2
if i == len(self.l):
self.get_values()
else:
- d = self.l[j].storeValue(sha.new(str(self.startport+i)).digest(), str((self.startport+i)*(j+1)))
+ d = self.l[j].storeValue(hashlib.sha1(str(self.startport+i)).digest(), str((self.startport+i)*(j+1)))
d.addCallback(self.store_values, i, j+1)
def get_values(self, result = None, check = None, i = 0, j = 0):
if i == len(self.l):
self.lastDefer.callback(1)
else:
- d = self.l[i].getValue(sha.new(str(self.startport+j)).digest())
+ d = self.l[i].getValue(hashlib.sha1(str(self.startport+j)).digest())
check = []
for k in range(self.startport+j, (self.startport+j)*(j+1)+1, self.startport+j):
check.append(str(k))