forked from samuelchen/P2Python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQueryTest.py
More file actions
65 lines (46 loc) · 1.6 KB
/
QueryTest.py
File metadata and controls
65 lines (46 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# -*- coding: utf-8 -*-
'''
Created on 2013-11-9
@author: samuelchen
'''
import sys, os
sys.path.insert(0, '%s/../' % os.getcwd())
import unittest
from conn_mgr import ConnectionManager
import time
flag = False
class QueryTest(unittest.TestCase):
def setUp(self):
self.ip = ip = '127.0.0.1'
self.svr1 = ConnectionManager(peer_port = 22222, data_port = 22223)
self.svr1.addPeer(ip, 33333)
self.svr1.start()
self.svr2 = ConnectionManager(peer_port = 33333, data_port = 33334)
self.svr2.addPeer(ip, 22222)
self.svr2.start()
def tearDown(self):
self.svr1.stop()
self.svr2.stop()
while self.svr1.isAlive() or self.svr2.isAlive():
time.sleep(0.5)
print 'svr1: %s, svr2: %s' % (self.svr1.isAlive(), self.svr2.isAlive())
def testQuery(self):
global flag
flag = False
def on_query(**kwargs):
global flag
query = kwargs['data']
if query == 'rid=12345&hash=KDHUEID':
print '-' * 60
print 'I received a query from %(ip)s >> %(data)s' % kwargs
print '-' * 60
flag = True
return (os.getcwd(), 'http', self.svr2.data_port)
self.svr2.callbacks['query'] = on_query
self.svr1.sendQuery('rid=12345&hash=KDHUEID', self.ip)
time.sleep(1)
print 'testQuery done', flag
assert(flag)
if __name__ == "__main__":
#import sys;sys.argv = ['', 'Test.testRegister']
unittest.main()