Skip to content

Commit e7914ad

Browse files
committed
working on getting server to check communication channel
1 parent 204f6e5 commit e7914ad

File tree

4 files changed

+27
-14
lines changed

4 files changed

+27
-14
lines changed

client.py

+8-4
Original file line numberDiff line numberDiff line change
@@ -51,19 +51,23 @@ def insert_message(self, message):
5151
return self._insert(current_node, original_ciphertext, "right")
5252

5353
def _get_root(self):
54-
client_message = protocol.ClientMessage().get_root()
54+
client_message = protocol.ClientMessage()
55+
client_message.get_root()
5556
return self._send_client_message(client_message)
5657

5758
def _move_left(self, ciphertext):
58-
client_message = protocol.ClientMessage().move_left(ciphertext)
59+
client_message = protocol.ClientMessage()
60+
client_message.move_left(ciphertext)
5961
return self._send_client_message(client_message)
6062

6163
def _move_right(self, ciphertext):
62-
client_message = protocol.ClientMessage().move_right(ciphertext)
64+
client_message = protocol.ClientMessage()
65+
client_message.move_right(ciphertext)
6366
return self._send_client_message(client_message)
6467

6568
def _insert(self, current_ciphertext, new_ciphertext, direction):
66-
client_message = protocol.ClientMessage().insert(current_ciphertext, new_ciphertext, direction)
69+
client_message = protocol.ClientMessage()
70+
client_message.insert(current_ciphertext, new_ciphertext, direction)
6771
return self._send_client_message(client_message)
6872

6973
# Communicate with the server and get back the +ciphertext+ that the

client_test.py

+9-6
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,24 @@
1-
import unittest, client, communication_channel, protocol
1+
import unittest, client, communication_channel, protocol, server
22

33
class TestClient(unittest.TestCase):
44

55
def setUp(self):
66
factory = communication_channel.CommunicationFactory()
7-
server_channel = factory.build_for("server")
7+
self.server_channel = factory.build_for("server")
88
self.client_channel = factory.build_for("client")
99
self.client = client.Client(self.client_channel)
10+
self.server = server.Server(self.server_channel)
1011

1112
def test_initialization(self):
1213
self.assertEqual(self.client_channel, self.client.communication_channel)
14+
self.assertEqual(self.server_channel, self.server.communication_channel)
1315

1416
# TODO test failing
15-
# def test_query(self):
16-
# client_message = 010101
17-
# server_response = self.client.query(client_message)
18-
# self.assertEqual(None, server_response)
17+
def test_query(self):
18+
self.server.run()
19+
client_message = 010101
20+
server_response = self.client.query(client_message)
21+
self.assertEqual(None, server_response)
1922

2023
if __name__ == '__main__':
2124
unittest.main()

server.py

+9-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import protocol
1+
import protocol, communication_channel, client, time
22

33
class Server:
44

@@ -42,6 +42,14 @@ def __init__(self, communication_channel):
4242
self.learner = Server.MachineLearner()
4343
self.communication_channel = communication_channel
4444

45+
def run(self):
46+
while True:
47+
if self.communication_channel.get():
48+
message = self.communication_channel.get()
49+
self.receive(message)
50+
else:
51+
time.sleep(10)
52+
4553
'''
4654
Server response to a client message.
4755
'''
@@ -192,5 +200,3 @@ def rebalance(node):
192200

193201

194202

195-
196-

server_test.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def test_rotate(self):
9494
self.assertEqual(4, self.s.root.value)
9595
self.assertEqual(5, self.s.root.right.value)
9696
self.assertEqual(3, self.s.root.left.value)
97-
self.assertEqual(3, server.subtree_size(self.s.root))
97+
#self.assertEqual(3, server.subtree_size(self.s.root))
9898

9999
if __name__ == '__main__':
100100
unittest.main()

0 commit comments

Comments
 (0)