Thread: SF.net SVN: fclient: [296] trunk/sandbox/fcp2/test_fcp/test_client.py
Status: Pre-Alpha
Brought to you by:
jurner
From: <ju...@us...> - 2008-02-27 14:14:01
|
Revision: 296 http://fclient.svn.sourceforge.net/fclient/?rev=296&view=rev Author: jurner Date: 2008-02-27 06:14:01 -0800 (Wed, 27 Feb 2008) Log Message: ----------- set client debug level to quiet Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-02-27 14:13:38 UTC (rev 295) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-02-27 14:14:01 UTC (rev 296) @@ -118,7 +118,8 @@ if TestAgainstNode: DummySocketModule.socket = MySocketFactory() fcpClient = MyFcpClient( - #debugVerbosity=FcpClient.consts.DebugVerbosity.Debug + #debugVerbosity=Client.consts.DebugVerbosity.Debug + debugVerbosity=Client.consts.DebugVerbosity.Quiet ) # inject our customized socket module This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ju...@us...> - 2008-02-27 16:56:00
|
Revision: 299 http://fclient.svn.sourceforge.net/fclient/?rev=299&view=rev Author: jurner Date: 2008-02-27 08:56:03 -0800 (Wed, 27 Feb 2008) Log Message: ----------- added some tests for ClientPut et al Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-02-27 16:55:41 UTC (rev 298) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-02-27 16:56:03 UTC (rev 299) @@ -47,6 +47,9 @@ # deepcopy here, we need exact state msg = copy.deepcopy(msg) self.test_messagesSend.append(msg) + + def clearMessagesSend(self): + self.test_messagesSend = [] #*********************************************************************************** # @@ -139,6 +142,15 @@ msg = copy.deepcopy(msg) self.events.append( (event, msg) ) + + def clearClient(self): + """Clears all messages send, requests registered and events triggered so far""" + # clean up the mess we eventaully left behinf + self.events = [] + self.fcpClient.clearMessagesSend() + self.fcpClient._requests = {} + + def connectClient(self): """Connects to the client""" for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=20, timeout=0.1)): @@ -230,6 +242,16 @@ param3=None, param4=None, param5=None, + param6=None, + param7=None, + param8=None, + param9=None, + param10=None, + param11=None, + param12=None, + param13=None, + param14=None, + param15=None, data=None ): """Tests if we received a certain message from the client @@ -265,7 +287,47 @@ param5, value5 = param5 self.failUnless(param5 in msg.params) self.assertEqual(value5, msg[param5]) - + if param6 is not None: + param6, value6 = param6 + self.failUnless(param6 in msg.params) + self.assertEqual(value6, msg[param6]) + if param7 is not None: + param7, value7 = param7 + self.failUnless(param7 in msg.params) + self.assertEqual(value7, msg[param7]) + if param8 is not None: + param8, value8 = param8 + self.failUnless(param8 in msg.params) + self.assertEqual(value8, msg[param8]) + if param9 is not None: + param9, value9 = param9 + self.failUnless(param9 in msg.params) + self.assertEqual(value9, msg[param9]) + if param10 is not None: + param10, value10 = param10 + self.failUnless(param10 in msg.params) + self.assertEqual(value10, msg[param10]) + if param11 is not None: + param11, value11 = param11 + self.failUnless(param11 in msg.params) + self.assertEqual(value11, msg[param11]) + if param12 is not None: + param12, value12 = param12 + self.failUnless(param12 in msg.params) + self.assertEqual(value12, msg[param12]) + if param13 is not None: + param13, value13 = param13 + self.failUnless(param13 in msg.params) + self.assertEqual(value13, msg[param13]) + if param14 is not None: + param14, value14 = param14 + self.failUnless(param14 in msg.params) + self.assertEqual(value14, msg[param14]) + if param15 is not None: + param15, value15 = param15 + self.failUnless(param15 in msg.params) + self.assertEqual(value15, msg[param15]) + if data is not None: self.assertEqual(data, msg.data) return msg @@ -289,6 +351,7 @@ event -= self._captureEventsFromClient # clean up tmpfiles for fpath in self.tmpfiles: os.remove(fpath) + self.clearClient() #*********************************************************************************** # @@ -956,11 +1019,11 @@ #*********************************************************************************** #TODO: # -# -# +# SSK@, USK@ +# putFile / PutDir TestDDA + class TestClientPut(BaseTestClient): - - + def testPutRedirect_Success(self): # request a arbitrary file myIdentifier = self.fcpClient.putRedirect( @@ -1025,9 +1088,311 @@ self.failIf(requestsAll) + def testCHKPutData_Success(self): + # request a arbitrary file + myIdentifier = self.fcpClient.chkPutData( + 'arbitrary data' + ) + myRequest = self.fcpClient.getRequest(myIdentifier) + requestsAll = self.fcpClient.getRequests() + self.assertHasNextMessage(consts.Message.ClientPut) + self.failUnless(myIdentifier in requestsAll) + self.sendResponseMessage( + 'PutSuccessful', + Identifier=myIdentifier, + URI='CHK@my-redirect-name' + ) + + self.assertHasNextEvent( + self.fcpClient.events.RequestCompleted, + consts.Message.ClientPut, + ('FcRequestStatus', consts.RequestStatus.Success | + consts.RequestStatus.RemovedFromQueue | + consts.RequestStatus.Completed + ), + ) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(requestsAll) + + + def testCHKPutData_Failure(self): + # request a arbitrary file + myIdentifier = self.fcpClient.chkPutData( + 'arbitrary data' + ) + myRequest = self.fcpClient.getRequest(myIdentifier) + requestsAll = self.fcpClient.getRequests() + + self.assertHasNextMessage(consts.Message.ClientPut) + self.failUnless(myIdentifier in requestsAll) + + self.sendResponseMessage( + 'PutFailed', + Identifier=myIdentifier, + Code='5', # rout not found + ) + + self.assertHasNextEvent( + self.fcpClient.events.RequestFailed, + consts.Message.ClientPut, + ('FcRequestStatus', consts.RequestStatus.Error | + consts.RequestStatus.RemovedFromQueue | + consts.RequestStatus.Completed + ), + ) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(requestsAll) + + def testCHKPutDir_Success(self): + # request a arbitrary file + myIdentifier = self.fcpClient.chkPutDir( + 'myDirectory' + ) + myRequest = self.fcpClient.getRequest(myIdentifier) + requestsAll = self.fcpClient.getRequests() + + self.assertHasNextMessage(consts.Message.ClientPutDiskDir) + self.failUnless(myIdentifier in requestsAll) + + self.sendResponseMessage( + 'PutSuccessful', + Identifier=myIdentifier, + URI='CHK@my-redirect-name' + ) + + self.assertHasNextEvent( + self.fcpClient.events.RequestCompleted, + consts.Message.ClientPutDiskDir, + ('FcRequestStatus', consts.RequestStatus.Success | + consts.RequestStatus.RemovedFromQueue | + consts.RequestStatus.Completed + ), + ) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(requestsAll) + + + def testCHKPutDir_Failure(self): + # request a arbitrary file + myIdentifier = self.fcpClient.chkPutDir( + 'myDirectory' + ) + myRequest = self.fcpClient.getRequest(myIdentifier) + requestsAll = self.fcpClient.getRequests() + + self.assertHasNextMessage(consts.Message.ClientPutDiskDir) + self.failUnless(myIdentifier in requestsAll) + + self.sendResponseMessage( + 'PutFailed', + Identifier=myIdentifier, + Code='5', # rout not found + ) + + self.assertHasNextEvent( + self.fcpClient.events.RequestFailed, + consts.Message.ClientPutDiskDir, + ('FcRequestStatus', consts.RequestStatus.Error | + consts.RequestStatus.RemovedFromQueue | + consts.RequestStatus.Completed + ), + ) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(requestsAll) + + + def testCHKPutFile_Success(self): + # request a arbitrary file + myIdentifier = self.fcpClient.chkPutFile( + 'myFile.txt' + ) + myRequest = self.fcpClient.getRequest(myIdentifier) + requestsAll = self.fcpClient.getRequests() + + self.assertHasNextMessage(consts.Message.ClientPut) + self.failUnless(myIdentifier in requestsAll) + + self.sendResponseMessage( + 'PutSuccessful', + Identifier=myIdentifier, + URI='CHK@my-redirect-name' + ) + + self.assertHasNextEvent( + self.fcpClient.events.RequestCompleted, + consts.Message.ClientPut, + ('FcRequestStatus', consts.RequestStatus.Success | + consts.RequestStatus.RemovedFromQueue | + consts.RequestStatus.Completed + ), + ) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(requestsAll) + + + def testCHKPutFile_Failure(self): + # request a arbitrary file + myIdentifier = self.fcpClient.chkPutFile( + 'myFile.txt' + ) + myRequest = self.fcpClient.getRequest(myIdentifier) + requestsAll = self.fcpClient.getRequests() + + self.assertHasNextMessage(consts.Message.ClientPut) + self.failUnless(myIdentifier in requestsAll) + + self.sendResponseMessage( + 'PutFailed', + Identifier=myIdentifier, + Code='5', # rout not found + ) + + self.assertHasNextEvent( + self.fcpClient.events.RequestFailed, + consts.Message.ClientPut, + ('FcRequestStatus', consts.RequestStatus.Error | + consts.RequestStatus.RemovedFromQueue | + consts.RequestStatus.Completed + ), + ) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(requestsAll) + + + + def testCHKPutMultiple_Success(self): + + items = [ + { + 'FcRequestType': consts.RequestType.PutData, + 'Data': '12345', + 'Name': 'myItem0', + }, + { + 'FcRequestType': consts.RequestType.PutFile, + 'Filename': 'myFile.txt', + 'Name': 'myItem1', + }, + { + 'FcRequestType': consts.RequestType.PutRedirect, + 'TargetURI': 'CHK@123456789', + 'Name': 'myItem2', + }, + { + 'FcRequestType': consts.RequestType.PutData, + 'Data': '67890', + 'Name': 'myItem3', + }, + ] + + # request a arbitrary file + myIdentifier = self.fcpClient.chkPutMultiple( + items + ) + myRequest = self.fcpClient.getRequest(myIdentifier) + requestsAll = self.fcpClient.getRequests() + + msg = self.assertHasNextMessage( + consts.Message.ClientPutComplexDir, + ('Files.0.Name', 'myItem0'), + ('Files.0.UploadFrom', 'direct'), + ('Files.0.DataLength', 5), + + ('Files.1.Name', 'myItem1'), + ('Files.1.UploadFrom', 'disk'), + ('Files.1.Filename', 'myFile.txt'), + + ('Files.2.Name', 'myItem2'), + ('Files.2.UploadFrom', 'redirect'), + ('Files.2.TargetURI', 'CHK@123456789'), + + ('Files.3.Name', 'myItem3'), + ('Files.3.UploadFrom', 'direct'), + ('Files.3.DataLength', 5), + + data='1234567890' + ) + + #for k, v in sorted(msg.params.items()): + # print k, v + + self.failUnless(myIdentifier in requestsAll) + + self.sendResponseMessage( + 'PutSuccessful', + Identifier=myIdentifier, + URI='CHK@my-redirect-name' + ) + + self.assertHasNextEvent( + self.fcpClient.events.RequestCompleted, + consts.Message.ClientPutComplexDir, + ('FcRequestStatus', consts.RequestStatus.Success | + consts.RequestStatus.RemovedFromQueue | + consts.RequestStatus.Completed + ), + ) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(requestsAll) + + + def testCHKPutMultiple_ItemErrors(self): + + + # upload directory is not allowed + items = [ + { + 'FcRequestType': consts.RequestType.PutDir, + 'Data': '12345', + 'Name': 'myItem0', + }, + ] + self.assertRaises(ValueError, self.fcpClient.chkPutMultiple, items) + + #TODO: how to test required params? + # ...just some samples below + + # no request type specified + items = [ + { + #'FcRequestType': consts.RequestType.PutData, + 'Data': '12345', + 'Name': 'myItem0', + }, + ] + self.assertRaises(ValueError, self.fcpClient.chkPutMultiple, items) + + # param missing (we enforce all required parameters) + items = [ + { + 'FcRequestType': consts.RequestType.PutData, + #'Data': '12345', + #'Name': 'myItem0', + }, + ] + self.assertRaises(ValueError, self.fcpClient.chkPutMultiple, items) + + + + + #*********************************************************************************** # #*********************************************************************************** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ju...@us...> - 2008-02-29 13:02:53
|
Revision: 301 http://fclient.svn.sourceforge.net/fclient/?rev=301&view=rev Author: jurner Date: 2008-02-29 05:02:56 -0800 (Fri, 29 Feb 2008) Log Message: ----------- added some unittests for resendRequest() Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-02-29 13:02:31 UTC (rev 300) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-02-29 13:02:56 UTC (rev 301) @@ -1390,9 +1390,17 @@ self.assertRaises(ValueError, self.fcpClient.chkPutMultiple, items) - + # some sloppy tests for other key types + def testSSKPutData(self): + myIdentifier = self.fcpClient.chkPutData( + 'arbitrary data' + ) + + + + #*********************************************************************************** # #*********************************************************************************** @@ -2006,7 +2014,117 @@ #*********************************************************************************** # #*********************************************************************************** -#TODO: class TestNodeAndPeers(BaseTestConnectedClient): +#TODO: class TestNodeAndPeers(BaseTestConnectedClient): +#*********************************************************************************** +# +#*********************************************************************************** +#TODO: some tests not yet implemented +class TestResendRequests(BaseTestClient): + + def test_resend_CHK(self): + myKey = 'CHK@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA/foo' + msg = client.message.Message( + consts.Message.ClientPut, + URI=myKey, + Persistence=consts.Persistence.Connection, + ) + self.fcpClient._registerRequest(msg, consts.RequestType.PutData) + myIdentifier = msg['Identifier'] + requestsAll = self.fcpClient.getRequests() + + newIdentifier = self.fcpClient.resendRequest(msg) + + self.failIf(myIdentifier in requestsAll) + self.failUnless(newIdentifier in requestsAll) + + self.assertHasNextMessage( + consts.Message.ClientPut, + ('URI', 'CHK@') + ) + + def test_resend_SSK(self): + myKey = 'SSK@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA' + msg = client.message.Message( + consts.Message.ClientPut, + URI=myKey + '/foo', + Persistence=consts.Persistence.Connection, + ) + self.fcpClient._registerRequest(msg, consts.RequestType.PutData) + msg['FcPrivateKey'] = myKey + myIdentifier = msg['Identifier'] + requestsAll = self.fcpClient.getRequests() + + newIdentifier = self.fcpClient.resendRequest(msg) + + self.failIf(myIdentifier in requestsAll) + self.failUnless(newIdentifier in requestsAll) + + self.assertHasNextMessage( + consts.Message.ClientPut, + ('URI', myKey + '/foo') + ) + + + def test_resend_USK(self): + myKey = 'USK@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA' + msg = client.message.Message( + consts.Message.ClientPut, + URI=myKey + '/foo', + Persistence=consts.Persistence.Connection, + ) + self.fcpClient._registerRequest(msg, consts.RequestType.PutData) + msg['FcPrivateKey'] = myKey + myIdentifier = msg['Identifier'] + requestsAll = self.fcpClient.getRequests() + + newIdentifier = self.fcpClient.resendRequest(msg) + + self.failIf(myIdentifier in requestsAll) + self.failUnless(newIdentifier in requestsAll) + + self.assertHasNextMessage( + consts.Message.ClientPut, + ('URI', myKey + '/foo') + ) + + def test_resend_KSK(self): + myKey = 'KSK@abs' + msg = client.message.Message( + consts.Message.ClientPut, + URI=myKey, + Persistence=consts.Persistence.Connection, + ) + self.fcpClient._registerRequest(msg, consts.RequestType.PutData) + msg['FcPrivateKey'] = myKey + myIdentifier = msg['Identifier'] + requestsAll = self.fcpClient.getRequests() + + newIdentifier = self.fcpClient.resendRequest(msg) + + self.failIf(myIdentifier in requestsAll) + self.failUnless(newIdentifier in requestsAll) + + self.assertHasNextMessage( + consts.Message.ClientPut, + ('URI', myKey) + ) + + + + def test_resend_getKeyInfo(self): + pass + + def test_resend_getData(self): + pass + + def test_resend_getFile(self): + pass + + def test_resend_getFile(self): + pass + + def test_resend_unsupportedRequest(self): + pass #*********************************************************************************** # @@ -2295,9 +2413,9 @@ TestClientPut, TestRequests, TestRestoreRequests, + TestResendRequests, TestDDA, TestCollisions, - TestPlugins, TestGenerateKeypair, TestSubscribeUSK, @@ -2315,7 +2433,7 @@ if __name__ == "__main__": test() - +test() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ju...@us...> - 2008-03-04 17:39:46
|
Revision: 309 http://fclient.svn.sourceforge.net/fclient/?rev=309&view=rev Author: jurner Date: 2008-03-04 09:39:46 -0800 (Tue, 04 Mar 2008) Log Message: ----------- fix for new key module Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-03-04 17:39:14 UTC (rev 308) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-03-04 17:39:46 UTC (rev 309) @@ -2069,7 +2069,7 @@ myKey = 'USK@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA' msg = client.message.Message( consts.Message.ClientPut, - URI=myKey + '/foo', + URI=myKey + '/foo/0', Persistence=consts.Persistence.Connection, ) self.fcpClient._registerRequest(msg, consts.RequestType.PutData) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ju...@us...> - 2008-03-06 12:00:07
|
Revision: 314 http://fclient.svn.sourceforge.net/fclient/?rev=314&view=rev Author: jurner Date: 2008-03-06 04:00:08 -0800 (Thu, 06 Mar 2008) Log Message: ----------- reworked test to use new iohandler Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-03-06 11:59:34 UTC (rev 313) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-03-06 12:00:08 UTC (rev 314) @@ -21,113 +21,32 @@ from fcp2.client import Client from fcp2 import consts +from fcp2 import iohandler del hack #<-- rel import hack -from dummy_socket import DummySocket +from dummy_socket import TestIO #*********************************************************************************** # #*********************************************************************************** DIR = os.path.dirname(os.path.abspath(__file__)) -TestAgainstNode = 0 # don't know how to test against node. Do not touch this! +##TestAgainstNode = 0 # don't know how to test against node. Do not touch this! -#*********************************************************************************** -# -#*********************************************************************************** -class MyFcpClient(Client): - """Customized client recording all messages it sends - """ - def __init__(self, *args, **kwargs): - Client.__init__(self, *args, **kwargs) - self.test_messagesSend = [] - - def sendMessageEx(self, msg): - Client.sendMessageEx(self, msg) - # deepcopy here, we need exact state - msg = copy.deepcopy(msg) - self.test_messagesSend.append(msg) - def clearMessagesSend(self): - self.test_messagesSend = [] - #*********************************************************************************** # -#*********************************************************************************** -class DummySocketModule(object): - """Dummy socket module we inject into the client module for testing - - """ - AF_INET = socket.AF_INET - SOCK_STREAM = socket.SOCK_STREAM - error = socket.error - socket = DummySocket() - - def __init__(self): - self.lastSocket = None - - def __getattribute__(self, name): - obj = object.__getattribute__(self, name) - if name == 'socket': - self.lastSocket = obj - return obj - #*********************************************************************************** -# -#*********************************************************************************** -class MySocketFactory(object): - """Real and alive socket. Can be used to test against the running node. Not used currently - - Usage:: - - DummySocketModule.socket = MySocketFactory() - - """ - def __init__(self, *args, **kwargs): - self.socket = None - self.closed = False - - def __call__(self, *args, **kwargs): - self.socket = socket.socket(*args, **kwargs) - return self - - def sendResponseMessage(self, *args, **kwargs): - pass - - def connect(self, *args, **kwargs): - return self.socket.connect(*args, **kwargs) - - def sendall(self, bytes): - return self.socket.sendall(bytes) - - def settimeout(self, n): - return self.socket.settimeout(n) - - def recv(self, n): - return self.socket.recv(n) - - def close(self): - self.closed = True - result = self.socket.close() - self.socket = None - return result - -#*********************************************************************************** -# -#*********************************************************************************** class BaseTestClient(unittest.TestCase): """Base class for all tests""" - if TestAgainstNode: - DummySocketModule.socket = MySocketFactory() - fcpClient = MyFcpClient( + fcpClient = Client( #debugVerbosity=Client.consts.DebugVerbosity.Debug debugVerbosity=Client.consts.DebugVerbosity.Quiet ) - # inject our customized socket module - socketModule = DummySocketModule() - client.socket = socketModule + fcpClient.ioHandler.setIOPrototype(TestIO) + #fcpClient.connect() def __init__(self, *args, **kwargs): @@ -147,14 +66,17 @@ """Clears all messages send, requests registered and events triggered so far""" # clean up the mess we eventaully left behinf self.events = [] - self.fcpClient.clearMessagesSend() + if self.ioOpen(): + self.fcpClient.ioHandler.io.readBuffer = '' + self.fcpClient.ioHandler.io.writeBuffer = '' self.fcpClient._requests = {} + def connectClient(self): """Connects to the client""" for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=20, timeout=0.1)): - if n == 0: + if n == 1: self.assertHasNextMessage( consts.Message.ClientHello ) @@ -261,11 +183,11 @@ @return: message if a message was received or None """ + msg = self.getNextMessage() if messageName is None: - self.failIf(self.fcpClient.test_messagesSend) + self.failUnless(msg is None) else: - self.failUnless(self.fcpClient.test_messagesSend) - msg = self.fcpClient.test_messagesSend.pop(0) + self.failIf(msg is None) self.assertEqual(msg.name, messageName) if param1 is not None: param1, value1 = param1 @@ -334,11 +256,33 @@ def sendResponseMessage(self, messageName, data=None, callNext=True, **params): """Posts a message to the client""" - self.socketModule.lastSocket.sendResponseMessage(messageName, data=data, **params) - if not TestAgainstNode: - if callNext: - self.fcpClient.next() + msg = Client.message.Message(messageName, data=data, **params) + self.fcpClient.ioHandler.io.readBuffer += msg.toString() + if callNext: + self.fcpClient.next() + + def getNextMessage(self): + # cheat a bit to get iohandler to read a message from writeBuffer + if self.ioOpen(): + self.fcpClient.ioHandler.io.setReverseDirection(True) + try: + msg = self.fcpClient.ioHandler.readMessage() + except iohandler.IOTimeout: + return None + finally: + self.fcpClient.ioHandler.io.setReverseDirection(False) + return msg + + + def ioOpen(self): + return self.fcpClient.ioHandler.isOpen() + + + def getIO(self): + return self.fcpClient.ioHandler.io + + def setUp(self): # conect all events self.events = [] # events received from the client @@ -371,17 +315,12 @@ self.failUnless(self.socket.closed) - def XXXtestConnect(self): nodeHello = self.fcpClient.connect(duration=10, timeout=0.1) - self.failIf(nodeHello is None) - return + self.failUnless(nodeHello is None) + #return - - nodeHello = self.fcpClient.connect(duration=0, timeout=0) - self.failIf(nodeHello is not None) - - self.socketModule.lastSocket.sendResponseMessage( + self.sendResponseMessage( 'NodeHello', FCPVersion='2.0', Node='Fred', @@ -395,37 +334,33 @@ NodeLanguage='en', ) nodeHello = self.fcpClient.connect(duration=10, timeout=0.1) - self.failIf(nodeHello is None) + print nodeHello + #self.failIf(nodeHello is None) def test_0_IterIterConnect_RFailure(self): - # we cannot test against node here - if not TestAgainstNode: - - for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=1, timeout=0.1)): - if n == 0: - self.assertHasNextMessage( - consts.Message.ClientHello - ) - - # check events the client triggered - self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, - consts.Message.ClientDisconnected, - ('DisconnectReason', consts.DisconnectReason.ConnectingFailed), + for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=1, timeout=0.1)): + if n == 1: + self.assertHasNextMessage( + consts.Message.ClientHello ) - - self.assertHasNextEvent(None) - self.assertHasNextMessage(None) - self.failUnless(self.socketModule.lastSocket.closed) - - #self.fcpClient.connect(duration=20, timeout=0.1) - + # check events the client triggered + self.assertHasNextEvent( + self.fcpClient.events.ClientDisconnected, + consts.Message.ClientDisconnected, + ('DisconnectReason', consts.DisconnectReason.ConnectingFailed), + ) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(self.ioOpen()) + + def test_1_IterConnect_Success(self): - for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=20, timeout=0.1)): - if n == 0: + for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=1, timeout=0.1)): + if n == 1: self.assertHasNextMessage( consts.Message.ClientHello ) @@ -460,7 +395,7 @@ class TestDisconnectReason(BaseTestClient): def test_1000_DuplicateClientName(self): - + self.sendResponseMessage('CloseConnectionDuplicateClientName') msg = self.assertHasNextEvent( self.fcpClient.events.ClientDisconnected, @@ -470,8 +405,9 @@ self.failUnless('Param' in msg.params) self.assertEqual(msg['Param'], None) - self.failUnless(self.socketModule.lastSocket.closed) + self.failIf(self.ioOpen()) self.assertHasNextEvent(None) + #print self.fcpClient.test_messagesSend[0].name self.assertHasNextMessage(None) self.connectClient() @@ -479,9 +415,9 @@ def test_1001_SocketDied_Receive(self): - self.socketModule.lastSocket.close() - self.fcpClient.next() - + self.getIO().setBroken(True) + self.assertRaises(iohandler.IOBroken, self.fcpClient.next) + # check if ClientDisconnected events has been triggered msg = self.assertHasNextEvent( self.fcpClient.events.ClientDisconnected, @@ -490,21 +426,21 @@ #('Param', ClientSocketDiedMessage) # can not test here ) self.failUnless('Param' in msg.params) - self.assertEqual(msg['Param'].name, consts.Message.ClientSocketDied) + # Param is now details of IOBroken exception, no idea how to test + #self.assertEqual(msg['Param'].name, consts.Message.ClientSocketDied) - self.failUnless(self.socketModule.lastSocket.closed) + self.failIf(self.ioOpen()) self.assertHasNextEvent(None) self.assertHasNextMessage(None) - self.connectClient() def test_1002_SocketDied_Send(self): - self.socketModule.lastSocket.close() - + self.getIO().setBroken(True) + # send a test message - self.assertRaises(socket.error, self.fcpClient.sendMessage, 'test' ) + self.assertRaises(iohandler.IOBroken, self.fcpClient.sendMessage, 'test' ) # check if ClientDisconnected events has been triggered msg = self.assertHasNextEvent( @@ -514,9 +450,10 @@ #('Param', ClientSocketDiedMessage) # can not test here ) self.failUnless('Param' in msg.params) - self.assertEqual(msg['Param'].name, consts.Message.ClientSocketDied) + # Param is now details of IOBroken exception, no idea how to test + #self.assertEqual(msg['Param'].name, consts.Message.ClientSocketDied) - self.failUnless(self.socketModule.lastSocket.closed) + self.failIf(self.ioOpen()) self.assertHasNextEvent(None) self.assertHasNextMessage(None) self.connectClient() @@ -542,7 +479,7 @@ self.failUnless('Param' in msg.params) self.assertEqual(msg['Param'], None) - self.failUnless(self.socketModule.lastSocket.closed) + self.failIf(self.ioOpen()) self.assertHasNextEvent(None) self.assertHasNextMessage(None) self.connectClient() @@ -551,33 +488,27 @@ def test_1004_VersionMismatch(self): - # cheat a bit and reconnect client - enum = self.fcpClient.iterConnect(duration=0.2, timeout=0.1) - msg = enum.next() - self.failIf(msg is not None) - - # check messages the client send message - self.assertHasNextMessage(consts.Message.ClientHello) - - #NOTE: have to send directly via socket here (our sendResponseMessage - # calls client.next() autkmatically) - self.socketModule.lastSocket.sendResponseMessage( - 'NodeHello', - FCPVersion='0.0', - Node='Fred', - Version=str(self.fcpClient.ExpectedFcpVersion), - Revision='0', - Build='0', - ExRevision='0', - Testnet='false', - CompressionCodecs='1', - ConnectionIdentifier='any', - NodeLanguage='en', - - callNext=False - ) - msg = enum.next() + for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=1, timeout=0.1)): + if n == 1: + self.assertHasNextMessage( + consts.Message.ClientHello + ) + self.sendResponseMessage( + 'NodeHello', + FCPVersion='0.0', + Node='Fred', + Version=str(self.fcpClient.ExpectedFcpVersion), + Revision='0', + Build='0', + ExRevision='0', + Testnet='false', + CompressionCodecs='1', + ConnectionIdentifier='any', + NodeLanguage='en', + callNext=False + ) + # check events the client triggered msg = self.assertHasNextEvent( self.fcpClient.events.ClientDisconnected, @@ -588,7 +519,7 @@ self.failUnless('Param' in msg.params) self.assertEqual(msg['Param'].name, consts.Message.NodeHello) - self.failUnless(self.socketModule.lastSocket.closed) + self.failIf(self.ioOpen()) self.assertHasNextEvent(None) self.assertHasNextMessage(None) self.connectClient() @@ -2433,7 +2364,6 @@ if __name__ == "__main__": test() -test() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2008-03-07 09:54:16
|
Revision: 332 http://fclient.svn.sourceforge.net/fclient/?rev=332&view=rev Author: jUrner Date: 2008-03-07 01:54:21 -0800 (Fri, 07 Mar 2008) Log Message: ----------- adapt to Fc prefix has gone Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-03-07 09:54:15 UTC (rev 331) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-03-07 09:54:21 UTC (rev 332) @@ -543,7 +543,7 @@ self.failUnless(myIdentifier in requestsAll) self.assertEqual(myIdentifier, myRequest['Identifier']) - self.assertEqual(myRequest['FcRequestStatus'], consts.RequestStatus.Null) + self.assertEqual(myRequest['RequestStatus'], consts.RequestStatus.Null) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -613,20 +613,20 @@ self.assertHasNextEvent( self.fcpClient.events.RequestCompleted, consts.Message.ClientGet, - ('FcRequestStatus', consts.RequestStatus.Success | + ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), data=data ) self.failIf(myIdentifier in requestsAll) - self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed) + self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) # cheat a bit to test peristence == Forever (client should not remove request) requestsAll[myIdentifier] =myRequest myRequest['Persistence'] = consts.Persistence.Forever - myRequest['FcRequestStatus'] &= ~(consts.RequestStatus.Success | + myRequest['RequestStatus'] &= ~(consts.RequestStatus.Success | consts.RequestStatus.Completed | consts.RequestStatus.RemovedFromQueue ) @@ -642,11 +642,11 @@ self.assertHasNextEvent( self.fcpClient.events.RequestCompleted, consts.Message.ClientGet, - ('FcRequestStatus', consts.RequestStatus.Success | consts.RequestStatus.Completed), + ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.Completed), data=data ) self.failUnless(myIdentifier in requestsAll) - self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed) + self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -686,7 +686,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestFailed, consts.Message.ClientGet, - ('FcRequestStatus', consts.RequestStatus.Error | + ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), @@ -700,7 +700,7 @@ requestsAll[myIdentifier] =myRequest myRequest['Persistence'] = consts.Persistence.Forever - myRequest['FcRequestStatus'] &= ~(consts.RequestStatus.Error | + myRequest['RequestStatus'] &= ~(consts.RequestStatus.Error | consts.RequestStatus.Completed | consts.RequestStatus.RemovedFromQueue ) @@ -716,7 +716,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestFailed, consts.Message.ClientGet, - ('FcRequestStatus', consts.RequestStatus.Error | consts.RequestStatus.Completed), + ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.Completed), ) self.failUnless(myIdentifier in requestsAll) self.assertHasNextEvent(None) @@ -760,13 +760,13 @@ self.assertHasNextEvent( self.fcpClient.events.RequestCompleted, consts.Message.ClientGet, - ('FcRequestStatus', consts.RequestStatus.Success | + ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), ) self.failIf(myIdentifier in requestsAll) - self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed) + self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -804,7 +804,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestFailed, consts.Message.ClientGet, - ('FcRequestStatus', consts.RequestStatus.Error | + ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), @@ -849,13 +849,13 @@ self.assertHasNextEvent( self.fcpClient.events.RequestCompleted, consts.Message.ClientGet, - ('FcRequestStatus', consts.RequestStatus.Success | + ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), ) self.failIf(myIdentifier in requestsAll) - self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed) + self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -892,12 +892,12 @@ self.assertHasNextEvent( self.fcpClient.events.RequestCompleted, consts.Message.ClientGet, - ('FcRequestStatus', consts.RequestStatus.Success | + ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), ) - self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed) + self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -934,12 +934,12 @@ self.assertHasNextEvent( self.fcpClient.events.RequestFailed, consts.Message.ClientGet, - ('FcRequestStatus', consts.RequestStatus.Error | + ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), ) - self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed) + self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -976,7 +976,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestCompleted, consts.Message.ClientPut, - ('FcRequestStatus', consts.RequestStatus.Success | + ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), @@ -1008,7 +1008,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestFailed, consts.Message.ClientPut, - ('FcRequestStatus', consts.RequestStatus.Error | + ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), @@ -1039,7 +1039,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestCompleted, consts.Message.ClientPut, - ('FcRequestStatus', consts.RequestStatus.Success | + ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), @@ -1070,7 +1070,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestFailed, consts.Message.ClientPut, - ('FcRequestStatus', consts.RequestStatus.Error | + ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), @@ -1101,7 +1101,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestCompleted, consts.Message.ClientPutDiskDir, - ('FcRequestStatus', consts.RequestStatus.Success | + ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), @@ -1132,7 +1132,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestFailed, consts.Message.ClientPutDiskDir, - ('FcRequestStatus', consts.RequestStatus.Error | + ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), @@ -1163,7 +1163,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestCompleted, consts.Message.ClientPut, - ('FcRequestStatus', consts.RequestStatus.Success | + ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), @@ -1194,7 +1194,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestFailed, consts.Message.ClientPut, - ('FcRequestStatus', consts.RequestStatus.Error | + ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), @@ -1210,22 +1210,22 @@ items = [ { - 'FcRequestType': consts.RequestType.PutData, + 'RequestType': consts.RequestType.PutData, 'Data': '12345', 'Name': 'myItem0', }, { - 'FcRequestType': consts.RequestType.PutFile, + 'RequestType': consts.RequestType.PutFile, 'Filename': 'myFile.txt', 'Name': 'myItem1', }, { - 'FcRequestType': consts.RequestType.PutRedirect, + 'RequestType': consts.RequestType.PutRedirect, 'TargetURI': 'CHK@123456789', 'Name': 'myItem2', }, { - 'FcRequestType': consts.RequestType.PutData, + 'RequestType': consts.RequestType.PutData, 'Data': '67890', 'Name': 'myItem3', }, @@ -1273,7 +1273,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestCompleted, consts.Message.ClientPutComplexDir, - ('FcRequestStatus', consts.RequestStatus.Success | + ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), @@ -1290,7 +1290,7 @@ # upload directory is not allowed items = [ { - 'FcRequestType': consts.RequestType.PutDir, + 'RequestType': consts.RequestType.PutDir, 'Data': '12345', 'Name': 'myItem0', }, @@ -1303,7 +1303,7 @@ # no request type specified items = [ { - #'FcRequestType': consts.RequestType.PutData, + #'RequestType': consts.RequestType.PutData, 'Data': '12345', 'Name': 'myItem0', }, @@ -1313,7 +1313,7 @@ # param missing (we enforce all required parameters) items = [ { - 'FcRequestType': consts.RequestType.PutData, + 'RequestType': consts.RequestType.PutData, #'Data': '12345', #'Name': 'myItem0', }, @@ -1372,9 +1372,9 @@ ) self.assertHasNextEvent(self.fcpClient.events.RequestModified) - self.failUnless(consts.RequestModified.PersistentUserData in myRequest['FcModified']) - self.failUnless(consts.RequestModified.PriorityClass in myRequest['FcModified']) - self.assertEqual('bar', myRequest['FcPersistentUserData']) + self.failUnless(consts.RequestModified.PersistentUserData in myRequest['Modified']) + self.failUnless(consts.RequestModified.PriorityClass in myRequest['Modified']) + self.assertEqual('bar', myRequest['PersistentUserData']) self.assertEqual(consts.Priority.High, myRequest['PriorityClass']) self.assertHasNextEvent(None) @@ -1420,9 +1420,9 @@ self.assertHasNextEvent(self.fcpClient.events.RequestModified) - self.failUnless(consts.RequestModified.PersistentUserData in myRequest['FcModified']) - #self.failUnless(consts.RequestModified.PriorityClass in myRequest['FcModified']) - self.assertEqual('bar', myRequest['FcPersistentUserData']) + self.failUnless(consts.RequestModified.PersistentUserData in myRequest['Modified']) + #self.failUnless(consts.RequestModified.PriorityClass in myRequest['Modified']) + self.assertEqual('bar', myRequest['PersistentUserData']) #self.assertEqual(consts.Priority.High, myRequest['PriorityClass']) self.assertHasNextEvent(None) @@ -1458,7 +1458,7 @@ self.fcpClient.removeRequest(myIdentifier) # of our request should be removed emidiately, - self.assertEqual(myRequest['FcRequestStatus'], consts.RequestStatus.Removed | + self.assertEqual(myRequest['RequestStatus'], consts.RequestStatus.Removed | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ) @@ -1468,7 +1468,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestRemoved, consts.Message.ClientGet, - ('FcRequestStatus', consts.RequestStatus.Removed | + ('RequestStatus', consts.RequestStatus.Removed | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), @@ -1509,7 +1509,7 @@ # status of our request should be set to removed emidiately, but it should # not be removed from the client - self.assertEqual(myRequest['FcRequestStatus'], consts.RequestStatus.Removed | consts.RequestStatus.Completed) + self.assertEqual(myRequest['RequestStatus'], consts.RequestStatus.Removed | consts.RequestStatus.Completed) self.failUnless(myIdentifier in self.fcpClient.getRequests()) # client schould send a RemovePersistentRequest @@ -1522,12 +1522,12 @@ ) # now the request should have been removed - self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.RemovedFromQueue) - self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed) + self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.RemovedFromQueue) + self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) self.assertHasNextEvent( self.fcpClient.events.RequestRemoved, consts.Message.ClientGet, - ('FcRequestStatus', consts.RequestStatus.Removed | + ('RequestStatus', consts.RequestStatus.Removed | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), @@ -1557,7 +1557,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestRemoved, consts.Message.ClientGet, - ('FcRequestStatus', consts.RequestStatus.Removed | + ('RequestStatus', consts.RequestStatus.Removed | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), @@ -1599,7 +1599,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestRemoved, consts.Message.ClientGet, - ('FcRequestStatus', consts.RequestStatus.Removed | + ('RequestStatus', consts.RequestStatus.Removed | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), @@ -1684,7 +1684,7 @@ self.fcpClient.events.RequestRestored, consts.Message.ClientGet, ('Identifier', myIdentifier), - ('FcRequestStatus', consts.RequestStatus.Restored), # no RequestStatus.Pending flag should be set here + ('RequestStatus', consts.RequestStatus.Restored), # no RequestStatus.Pending flag should be set here ) self.failUnless(myIdentifier in requestsAll) @@ -1832,8 +1832,8 @@ consts.Message.ClientGet, ) - self.failUnless(consts.RequestModified.Identifier in msg['FcModified']) - oldIdentifier = msg['FcModified'][consts.RequestModified.Identifier] + self.failUnless(consts.RequestModified.Identifier in msg['Modified']) + oldIdentifier = msg['Modified'][consts.RequestModified.Identifier] newIdentifier = msg['Identifier'] self.assertEqual(oldIdentifier, myIdentifier) self.assertNotEqual(newIdentifier, myIdentifier) @@ -1880,12 +1880,12 @@ consts.Message.ClientGet ) - self.failUnless(consts.RequestModified.Filename in msg['FcModified']) - self.assertEqual(msg['FcModified'][consts.RequestModified.Filename], fpath) + self.failUnless(consts.RequestModified.Filename in msg['Modified']) + self.assertEqual(msg['Modified'][consts.RequestModified.Filename], fpath) self.assertNotEqual(msg['Filename'], fpath) # check flags - filenameCollision = msg['FcFilenameCollision'] + filenameCollision = msg['FilenameCollision'] self.assertEqual( filenameCollision & consts.FilenameCollision.MaskHandle, consts.FilenameCollision.HandleRename @@ -1981,7 +1981,7 @@ Persistence=consts.Persistence.Connection, ) self.fcpClient._registerRequest(msg, consts.RequestType.PutData) - msg['FcPrivateKey'] = myKey + msg['PrivateKey'] = myKey myIdentifier = msg['Identifier'] requestsAll = self.fcpClient.getRequests() @@ -2004,7 +2004,7 @@ Persistence=consts.Persistence.Connection, ) self.fcpClient._registerRequest(msg, consts.RequestType.PutData) - msg['FcPrivateKey'] = myKey + msg['PrivateKey'] = myKey myIdentifier = msg['Identifier'] requestsAll = self.fcpClient.getRequests() @@ -2026,7 +2026,7 @@ Persistence=consts.Persistence.Connection, ) self.fcpClient._registerRequest(msg, consts.RequestType.PutData) - msg['FcPrivateKey'] = myKey + msg['PrivateKey'] = myKey myIdentifier = msg['Identifier'] requestsAll = self.fcpClient.getRequests() @@ -2087,14 +2087,14 @@ consts.Message.GetPluginInfo, ('Identifier', myIdentifier), ('PluginName', 'hi there'), - ('FcRequestStatus', consts.RequestStatus.Success | + ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), ) self.failIf(myIdentifier in requestsAll) - self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed) + self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -2126,14 +2126,14 @@ consts.Message.GetPluginInfo, #('PluginName', 'hi there'), ('Identifier', myIdentifier), - ('FcRequestStatus', consts.RequestStatus.Error | + ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), ) self.failIf(myIdentifier in requestsAll) - self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed) + self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -2167,16 +2167,16 @@ consts.Message.FCPPluginMessage, ('PluginName', 'hi there'), ('Identifier', myIdentifier), - ('FcRequestStatus', consts.RequestStatus.Success | + ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), ) - reply = msg['FcPluginReply'] + reply = msg['PluginReply'] self.failUnless(reply.params.get('baz', None) == '12345') self.failIf(myIdentifier in requestsAll) - self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed) + self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -2208,14 +2208,14 @@ consts.Message.FCPPluginMessage, #('PluginName', 'hi there'), ('Identifier', myIdentifier), - ('FcRequestStatus', consts.RequestStatus.Error | + ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), ) self.failIf(myIdentifier in requestsAll) - self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed) + self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -2247,15 +2247,15 @@ self.fcpClient.events.KeypairGenerated, consts.Message.GenerateSSK, ('Identifier', myIdentifier), - ('FcPublicKey','SSK@public'), - ('FcPrivateKey','SSK@private'), - ('FcRequestStatus', consts.RequestStatus.Success | + ('PublicKey','SSK@public'), + ('PrivateKey','SSK@private'), + ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), ) self.failIf(myIdentifier in requestsAll) - self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed) + self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -2279,15 +2279,15 @@ self.fcpClient.events.KeypairGenerated, consts.Message.GenerateSSK, ('Identifier', myIdentifier), - ('FcPublicKey','USK@public'), - ('FcPrivateKey','USK@private'), - ('FcRequestStatus', consts.RequestStatus.Success | + ('PublicKey','USK@public'), + ('PrivateKey','USK@private'), + ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), ) self.failIf(myIdentifier in requestsAll) - self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed) + self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -2307,7 +2307,7 @@ requestsAll = self.fcpClient.getRequests() self.failUnless(myIdentifier in requestsAll) - self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed) + self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) self.assertHasNextMessage(consts.Message.SubscribeUSK) self.sendResponseMessage( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2008-03-08 11:12:22
|
Revision: 339 http://fclient.svn.sourceforge.net/fclient/?rev=339&view=rev Author: jUrner Date: 2008-03-08 03:12:22 -0800 (Sat, 08 Mar 2008) Log Message: ----------- adapt to new message handling Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-03-08 11:11:57 UTC (rev 338) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-03-08 11:12:22 UTC (rev 339) @@ -1,4 +1,4 @@ -"""Unittests for fcp2_0_client""" +"""Unittests for fcp2.client.py""" from __future__ import with_statement import os, sys @@ -22,6 +22,7 @@ from fcp2 import consts from fcp2 import iohandler +from fcp2 import message del hack #<-- rel import hack @@ -256,7 +257,11 @@ def sendResponseMessage(self, messageName, data=None, callNext=True, **params): """Posts a message to the client""" - msg = Client.message.Message(messageName, data=data, **params) + if messageName in message.MessagesAll: + msgClass = message.MessagesAll[messageName] + else: + msgClass = message.newMessageType(messageName) + msg = msgClass(data=data, **params) self.fcpClient.ioHandler.io.readBuffer += msg.toString() if callNext: self.fcpClient.next() @@ -440,7 +445,7 @@ self.getIO().setBroken(True) # send a test message - self.assertRaises(iohandler.IOBroken, self.fcpClient.sendMessage, 'test' ) + self.assertRaises(iohandler.IOBroken, self.fcpClient.sendMessage, message.newMessageType('test')()) # check if ClientDisconnected events has been triggered msg = self.assertHasNextEvent( @@ -476,6 +481,7 @@ ('DisconnectReason', consts.DisconnectReason.Shutdown) #('Param', NodeHelloMessage) # can not test here ) + self.failUnless('Param' in msg.params) self.assertEqual(msg['Param'], None) @@ -1954,8 +1960,7 @@ def test_resend_CHK(self): myKey = 'CHK@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA/foo' - msg = client.message.Message( - consts.Message.ClientPut, + msg = message.ClientPut( URI=myKey, Persistence=consts.Persistence.Connection, ) @@ -1975,8 +1980,7 @@ def test_resend_SSK(self): myKey = 'SSK@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA' - msg = client.message.Message( - consts.Message.ClientPut, + msg = message.ClientPut( URI=myKey + '/foo', Persistence=consts.Persistence.Connection, ) @@ -1998,8 +2002,7 @@ def test_resend_USK(self): myKey = 'USK@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA' - msg = client.message.Message( - consts.Message.ClientPut, + msg = message.ClientPut( URI=myKey + '/foo/0', Persistence=consts.Persistence.Connection, ) @@ -2020,8 +2023,7 @@ def test_resend_KSK(self): myKey = 'KSK@abs' - msg = client.message.Message( - consts.Message.ClientPut, + msg = message.ClientPut( URI=myKey, Persistence=consts.Persistence.Connection, ) @@ -2143,11 +2145,11 @@ def test_8002_SendPluginMessage_Success(self): - myIdentifier = self.fcpClient.sendPluginMessage('hi there', {'foo': "bar"}) - myRequest = self.fcpClient.getRequest(myIdentifier) + myIdentifier = '123456789' + myRequest = self.fcpClient.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"}) requestsAll = self.fcpClient.getRequests() - self.failUnless(myIdentifier in requestsAll) + self.failIf(myIdentifier in requestsAll) self.assertHasNextMessage( consts.Message.FCPPluginMessage, ('Identifier', myIdentifier), @@ -2164,19 +2166,11 @@ msg = self.assertHasNextEvent( self.fcpClient.events.PluginMessage, - consts.Message.FCPPluginMessage, + consts.Message.FCPPluginReply, ('PluginName', 'hi there'), ('Identifier', myIdentifier), - ('RequestStatus', consts.RequestStatus.Success | - consts.RequestStatus.RemovedFromQueue | - consts.RequestStatus.Completed - ), + ('baz', '12345'), ) - reply = msg['PluginReply'] - self.failUnless(reply.params.get('baz', None) == '12345') - - self.failIf(myIdentifier in requestsAll) - self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -2185,11 +2179,11 @@ def test_8003_GetSendPluginMessage_Failure(self): - myIdentifier = self.fcpClient.sendPluginMessage('hi there', {'foo': "bar"}) - myRequest = self.fcpClient.getRequest(myIdentifier) + myIdentifier = '1234567889' + myRequest = self.fcpClient.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"}) requestsAll = self.fcpClient.getRequests() - self.failUnless(myIdentifier in requestsAll) + self.failIf(myIdentifier in requestsAll) self.assertHasNextMessage( consts.Message.FCPPluginMessage, ('Identifier', myIdentifier), @@ -2204,24 +2198,49 @@ ) msg = self.assertHasNextEvent( - self.fcpClient.events.PluginMessageFailed, - consts.Message.FCPPluginMessage, - #('PluginName', 'hi there'), + self.fcpClient.events.ProtocolError, + consts.Message.ProtocolError, ('Identifier', myIdentifier), - ('RequestStatus', consts.RequestStatus.Error | - consts.RequestStatus.RemovedFromQueue | - consts.RequestStatus.Completed - ), ) self.failIf(myIdentifier in requestsAll) - self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) - + self.assertHasNextEvent(None) self.assertHasNextMessage(None) self.failIf(requestsAll) + def test_8003_GetSendPluginMessage_Identifiercollision(self): + myIdentifier = '1234567889' + myRequest = self.fcpClient.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"}) + requestsAll = self.fcpClient.getRequests() + + self.failIf(myIdentifier in requestsAll) + self.assertHasNextMessage( + consts.Message.FCPPluginMessage, + ('Identifier', myIdentifier), + ('PluginName', 'hi there'), + ('foo', 'bar'), + ) + + self.sendResponseMessage( + consts.Message.IdentifierCollision, + Identifier=myIdentifier, + ) + + msg = self.assertHasNextEvent( + self.fcpClient.events.IdentifierCollision, + consts.Message.IdentifierCollision, + ('Identifier', myIdentifier), + ) + + self.failIf(myIdentifier in requestsAll) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(requestsAll) + + #*********************************************************************************** #TODO: class TestConfig(BaseTestConnectedClient): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2008-03-09 12:56:42
|
Revision: 352 http://fclient.svn.sourceforge.net/fclient/?rev=352&view=rev Author: jUrner Date: 2008-03-09 05:56:43 -0700 (Sun, 09 Mar 2008) Log Message: ----------- rewrite in progress Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-03-09 12:56:27 UTC (rev 351) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-03-09 12:56:43 UTC (rev 352) @@ -47,9 +47,8 @@ ) fcpClient.ioHandler.setIOPrototype(DummyIO) - #fcpClient.connect() + - def __init__(self, *args, **kwargs): unittest.TestCase.__init__(self, *args, **kwargs) @@ -58,53 +57,54 @@ def _captureEventsFromClient(self, event, msg): + """Captures events the client send""" # have to copy message here, to get exact state msg = copy.deepcopy(msg) self.events.append( (event, msg) ) - - def clearClient(self): - """Clears all messages send, requests registered and events triggered so far""" - # clean up the mess we eventaully left behinf - self.events = [] - if self.ioOpen(): - self.fcpClient.ioHandler.io.readBuffer = '' - self.fcpClient.ioHandler.io.writeBuffer = '' - self.fcpClient._requests = {} - - def connectClient(self): """Connects to the client""" - for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=20, timeout=0.1)): - if n == 1: - self.assertHasNextMessage( - consts.Message.ClientHello - ) + for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + msg = self.getNextMessage() + if msg is not None: + self.failUnless(msg.name == 'ClientHello') self.sendResponseMessage( - 'NodeHello', - FCPVersion='2.0', - Node='Fred', - Version=str(self.fcpClient.ExpectedFcpVersion), - Revision='999999999999', - Build='9999999999', - ExRevision='9999999999', - Testnet='false', - CompressionCodecs='1', - ConnectionIdentifier='any', - NodeLanguage='en', - - callNext=False, - ) - - # check events the client triggered + 'NodeHello', + FCPVersion='2.0', + Build='9999999999', + + Node='Fred', + Version=str(self.fcpClient.ExpectedFcpVersion), + Revision='999999999999', + ExRevision='9999999999', + Testnet='false', + CompressionCodecs='1', + ConnectionIdentifier='any', + NodeLanguage='en', + + callNext=False, + ) + self.assertHasNextEvent( - self.fcpClient.events.ClientConnected, - consts.Message.NodeHello, - ) - + self.fcpClient.events.ClientConnected, + consts.Message.NodeHello, + ) self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) + + def closeClient(self): + """Closes the client""" + self.fcpClient.close() + self.assertHasNextEvent( + self.fcpClient.events.ClientDisconnected, + consts.Message.ClientDisconnected, + ('DisconnectReason', consts.DisconnectReason.Close), + ) + + def assertHasNextEvent(self, expectedEvent=None, messageName=None, @@ -256,7 +256,7 @@ return msg def sendResponseMessage(self, messageName, data=None, callNext=True, **params): - """Posts a message to the client""" + """Sends a message to the client""" if messageName in message.MessagesAll: msgClass = message.MessagesAll[messageName] else: @@ -267,7 +267,15 @@ self.fcpClient.next() + #NOTE: iohandler is buffered + # ..so be careful not to get messages you send + # + # 1. sendResponseMessage('blah') + # 2. getNextMessage() + # 3. >>> 'blah' def getNextMessage(self): + """Returns the next message the client send""" + # cheat a bit to get iohandler to read a message from writeBuffer if self.ioOpen(): self.fcpClient.ioHandler.io.setReverseDirection(True) @@ -281,10 +289,12 @@ def ioOpen(self): + """Checks if the clients io is open""" return self.fcpClient.ioHandler.isOpen() def getIO(self): + """Returns the clients io""" return self.fcpClient.ioHandler.io @@ -300,7 +310,9 @@ event -= self._captureEventsFromClient # clean up tmpfiles for fpath in self.tmpfiles: os.remove(fpath) - self.clearClient() + if self.fcpClient.isOpen(): + self.fcpClient.close() + #*********************************************************************************** # @@ -310,72 +322,221 @@ #*********************************************************************************** # #*********************************************************************************** -class TestConnect(BaseTestClient): +class Test_close(BaseTestClient): + def test_close(self): + self.fcpClient.close() + self.assertHasNextEvent( + self.fcpClient.events.ClientDisconnected, + consts.Message.ClientDisconnected, + ('DisconnectReason', consts.DisconnectReason.Close), + ) + + +#*********************************************************************************** +# +#*********************************************************************************** +class Test_isOpen(BaseTestClient): - def XXXtestClose(self): - self.failIf(self.socket.closed) + def test_isOpen(self): + self.failIf(self.fcpClient.isOpen()) self.connectClient() + self.failUnless(self.fcpClient.isOpen()) + self.closeClient() + self.failIf(self.fcpClient.isOpen()) + +#*********************************************************************************** +#TODO: not idea how to test this +#*********************************************************************************** +class Test_connect(BaseTestClient): + pass + + +#*********************************************************************************** +# +#*********************************************************************************** +class Test_iterConnect(BaseTestClient): + + def test_iterConnect_success(self): + for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + msg = self.getNextMessage() + if msg is not None: + self.failUnless(msg.name == 'ClientHello') + self.sendResponseMessage( + 'NodeHello', + FCPVersion='2.0', + Node='Fred', + Version=str(self.fcpClient.ExpectedFcpVersion), + Revision='999999999999', + Build='9999999999', + ExRevision='9999999999', + Testnet='false', + CompressionCodecs='1', + ConnectionIdentifier='any', + NodeLanguage='en', + + callNext=False, + ) + + self.assertHasNextEvent( + self.fcpClient.events.ClientConnected, + consts.Message.NodeHello, + ) + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) self.fcpClient.close() - self.failUnless(self.socket.closed) - def XXXtestConnect(self): - nodeHello = self.fcpClient.connect(duration=10, timeout=0.1) + def test_iterConnect_ioRefusesConnection(self): + for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + self.getIO().setAllowConnect(False) + self.failUnless(nodeHello is None) - #return + self.assertHasNextEvent( + self.fcpClient.events.ClientDisconnected, + consts.Message.ClientDisconnected, + ('DisconnectReason', consts.DisconnectReason.IOConnectFailed), + ) + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(self.ioOpen()) - self.sendResponseMessage( - 'NodeHello', - FCPVersion='2.0', - Node='Fred', - Version=str(self.fcpClient.ExpectedFcpVersion), - Revision='999999999999', - Build='9999999999', - ExRevision='9999999999', - Testnet='false', - CompressionCodecs='1', - ConnectionIdentifier='any', - NodeLanguage='en', + + def test_iterConnect_nodeHelloNeverArrives(self): + for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + pass + + self.failUnless(nodeHello is None) + self.assertHasNextEvent( + self.fcpClient.events.ClientDisconnected, + consts.Message.ClientDisconnected, + ('DisconnectReason', consts.DisconnectReason.NoNodeHello), ) - nodeHello = self.fcpClient.connect(duration=10, timeout=0.1) - print nodeHello - #self.failIf(nodeHello is None) - - - def test_0_IterIterConnect_RFailure(self): + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(self.ioOpen()) - for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=1, timeout=0.1)): - if n == 1: - self.assertHasNextMessage( - consts.Message.ClientHello + + def test_iterConnect_socketDies(self): + enum = self.fcpClient.iterConnect(duration=0.2, timeout=0.1) + errorRaised = False + while True: + try: + enum.next() + except StopIteration: + break + except iohandler.IOBroken, d: + errorRaised = True + self.assertHasNextEvent( + self.fcpClient.events.ClientDisconnected, + consts.Message.ClientDisconnected, + ('DisconnectReason', consts.DisconnectReason.ConnectionDied), + #('Param', None), ) + break + self.getIO().setBroken(True) + + self.failUnless(errorRaised) + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(self.ioOpen()) - # check events the client triggered + + def test_iterIterConnect_unknownNodehello(self): + + for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + self.sendResponseMessage( + 'i-am-invalid', + callNext=False, + ) + + self.failUnless(nodeHello is None) self.assertHasNextEvent( self.fcpClient.events.ClientDisconnected, consts.Message.ClientDisconnected, - ('DisconnectReason', consts.DisconnectReason.ConnectingFailed), + ('DisconnectReason', consts.DisconnectReason.UnknownNodeHello), ) - self.assertHasNextEvent(None) self.assertHasNextMessage(None) self.failIf(self.ioOpen()) + + def test_iterIterConnect_connect(self): + for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + self.sendResponseMessage( + 'NodeHello', + FCPVersion='2.0', + Build='9999999999', + + Node='Fred', + Version=str(self.fcpClient.ExpectedFcpVersion), + Revision='999999999999', + ExRevision='9999999999', + Testnet='false', + CompressionCodecs='1', + ConnectionIdentifier='any', + NodeLanguage='en', + + callNext=False, + ) - def test_1_IterConnect_Success(self): - for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=1, timeout=0.1)): - if n == 1: - self.assertHasNextMessage( - consts.Message.ClientHello - ) - self.sendResponseMessage( + self.assertHasNextEvent( + self.fcpClient.events.ClientConnected, + consts.Message.NodeHello, + ) + self.assertHasNextEvent(None) + #self.assertHasNextMessage(None) # due to our message hacking, NodeHello is still in io + self.failUnless(self.ioOpen()) + self.closeClient() + + + def test_iterIterConnect_reconnect(self): + self.connectClient() + + for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + self.sendResponseMessage( 'NodeHello', FCPVersion='2.0', + Build='9999999999', + Node='Fred', Version=str(self.fcpClient.ExpectedFcpVersion), Revision='999999999999', + ExRevision='9999999999', + Testnet='false', + CompressionCodecs='1', + ConnectionIdentifier='any', + NodeLanguage='en', + + callNext=False, + ) + + self.assertHasNextEvent( + self.fcpClient.events.ClientDisconnected, + consts.Message.ClientDisconnected, + ('DisconnectReason', consts.DisconnectReason.Reconnect) + ) + self.assertHasNextEvent( + self.fcpClient.events.ClientConnected, + consts.Message.NodeHello, + ) + self.assertHasNextEvent(None) + #self.assertHasNextMessage(None) # due to our message hacking, NodeHello is still in io + self.failUnless(self.ioOpen()) + self.closeClient() + + + def test_iterIterConnect_VersionMissmatch_FCPVersion(self): + for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + self.sendResponseMessage( + 'NodeHello', + FCPVersion='0.0', Build='9999999999', + + Node='Fred', + Version=str(self.fcpClient.ExpectedFcpVersion), + Revision='999999999999', ExRevision='9999999999', Testnet='false', CompressionCodecs='1', @@ -384,16 +545,99 @@ callNext=False, ) + + self.assertHasNextEvent( + self.fcpClient.events.ClientDisconnected, + consts.Message.ClientDisconnected, + ('DisconnectReason', consts.DisconnectReason.VersionMissmatch) + ) + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(self.ioOpen()) + self.closeClient() + + + def test_iterIterConnect_VersionMissmatch_Build(self): + for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + self.sendResponseMessage( + 'NodeHello', + FCPVersion='2.0', + Build='0', + + Node='Fred', + Version=str(self.fcpClient.ExpectedFcpVersion), + Revision='999999999999', + ExRevision='9999999999', + Testnet='false', + CompressionCodecs='1', + ConnectionIdentifier='any', + NodeLanguage='en', + + callNext=False, + ) + + self.assertHasNextEvent( + self.fcpClient.events.ClientDisconnected, + consts.Message.ClientDisconnected, + ('DisconnectReason', consts.DisconnectReason.VersionMissmatch) + ) + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(self.ioOpen()) + self.closeClient() + + +#*********************************************************************************** +# +#*********************************************************************************** +class Test_CloseConnectionDuplicateClientName(BaseTestClient): + + def test_CloseConnectionDuplicateClientName(self): + self.connectClient() + self.sendResponseMessage( + 'CloseConnectionDuplicateClientName', + ) - # check events the client triggered self.assertHasNextEvent( - self.fcpClient.events.ClientConnected, - consts.Message.NodeHello, + self.fcpClient.events.ClientDisconnected, + consts.Message.ClientDisconnected, + ('DisconnectReason', consts.DisconnectReason.DuplicateClientName) + ) + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(self.ioOpen()) + self.closeClient() + +#*********************************************************************************** +# +#*********************************************************************************** +class Test_closeNode(BaseTestClient): + + def test_closeNode(self): + self.connectClient() + self.fcpClient.closeNode() + self.assertHasNextMessage('Shutdown') + self.sendResponseMessage( + 'ProtocolError', + Code='18' ) + self.assertHasNextEvent( + self.fcpClient.events.ClientDisconnected, + consts.Message.ClientDisconnected, + ('DisconnectReason', consts.DisconnectReason.NodeClosing) + ) self.assertHasNextEvent(None) self.assertHasNextMessage(None) - + self.failIf(self.ioOpen()) + self.closeClient() + + +################################################### +################################################### +################################################### + + #*********************************************************************************** # #*********************************************************************************** @@ -1624,14 +1868,15 @@ #TODO: testRestoreClientPut and friends class TestRestoreRequests(BaseTestClient): - def test_4000_RestorePersistentGet_InvalidIdentifier(self): + def test_4000_RestorePersistentGet_InvalidClientToken(self): # throw an invalid PersistentRequest at the client - myIdentifier = 'true-invalid-request-identifier' + myIdentifier = '123456789' self.sendResponseMessage( 'PersistentGet', Identifier=myIdentifier, Global='false', + ClientToken='i-am-invalid', ReturnType='disk', Verbosity='1', PersistenceType='forever', @@ -2357,18 +2602,23 @@ def suite(): testCases = ( - TestConnect, - TestDisconnectReason, - TestClientGet, - TestClientPut, - TestRequests, - TestRestoreRequests, - TestResendRequests, - TestDDA, - TestCollisions, - TestPlugins, - TestGenerateKeypair, - TestSubscribeUSK, + Test_close, + Test_isOpen, + Test_connect, + Test_iterConnect, + Test_CloseConnectionDuplicateClientName, + Test_closeNode, + #TestDisconnectReason, + #TestClientGet, + #TestClientPut, + #TestRequests, + #TestRestoreRequests, + #TestResendRequests, + #TestDDA, + #TestCollisions, + #TestPlugins, + #TestGenerateKeypair, + #TestSubscribeUSK, ) suite = unittest.TestSuite() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2008-03-11 01:04:01
|
Revision: 362 http://fclient.svn.sourceforge.net/fclient/?rev=362&view=rev Author: jUrner Date: 2008-03-10 18:04:02 -0700 (Mon, 10 Mar 2008) Log Message: ----------- continued rewriting tests Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-03-11 01:03:34 UTC (rev 361) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-03-11 01:04:02 UTC (rev 362) @@ -41,12 +41,12 @@ class BaseTestClient(unittest.TestCase): """Base class for all tests""" - fcpClient = Client( + client = Client( #debugVerbosity=Client.consts.DebugVerbosity.Debug debugVerbosity=Client.consts.DebugVerbosity.Quiet ) - fcpClient.ioHandler.setIOPrototype(DummyIO) + client.ioHandler.setIOPrototype(DummyIO) def __init__(self, *args, **kwargs): @@ -65,7 +65,7 @@ def connectClient(self): """Connects to the client""" - for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + for n, nodeHello in enumerate(self.client.iterConnect(duration=0.2, timeout=0.1)): msg = self.getNextMessage() if msg is not None: self.failUnless(msg.name == 'ClientHello') @@ -75,7 +75,7 @@ Build='9999999999', Node='Fred', - Version=str(self.fcpClient.ExpectedFcpVersion), + Version=str(self.client.ExpectedFcpVersion), Revision='999999999999', ExRevision='9999999999', Testnet='false', @@ -87,7 +87,7 @@ ) self.assertHasNextEvent( - self.fcpClient.events.ClientConnected, + self.client.events.ClientConnected, consts.Message.NodeHello, ) self.assertHasNextEvent(None) @@ -97,9 +97,9 @@ def closeClient(self): """Closes the client""" - self.fcpClient.close() + self.client.close() self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, + self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.Close), ) @@ -262,9 +262,9 @@ else: msgClass = message.newMessageType(messageName) msg = msgClass(data=data, **params) - self.fcpClient.ioHandler.io.readBuffer += msg.toString() + self.client.ioHandler.io.readBuffer += msg.toString() if callNext: - self.fcpClient.next() + self.client.next() #NOTE: iohandler is buffered @@ -278,40 +278,40 @@ # cheat a bit to get iohandler to read a message from writeBuffer if self.ioOpen(): - self.fcpClient.ioHandler.io.setReverseDirection(True) + self.client.ioHandler.io.setReverseDirection(True) try: - msg = self.fcpClient.ioHandler.readMessage() - except iohandler.IOTimeout: + msg = self.client.ioHandler.readMessage() + except self.client.ioHandler.IOTimeout: return None finally: - self.fcpClient.ioHandler.io.setReverseDirection(False) + self.client.ioHandler.io.setReverseDirection(False) return msg def ioOpen(self): """Checks if the clients io is open""" - return self.fcpClient.ioHandler.isOpen() + return self.client.ioHandler.isOpen() def getIO(self): """Returns the clients io""" - return self.fcpClient.ioHandler.io + return self.client.ioHandler.io def setUp(self): # conect all events self.events = [] # events received from the client - for event in self.fcpClient.events: + for event in self.client.events: event += self._captureEventsFromClient def tearDown(self): # disconnect all events - for event in self.fcpClient.events: + for event in self.client.events: event -= self._captureEventsFromClient # clean up tmpfiles for fpath in self.tmpfiles: os.remove(fpath) - if self.fcpClient.isOpen(): - self.fcpClient.close() + if self.client.isOpen(): + self.client.close() #*********************************************************************************** @@ -325,9 +325,9 @@ class Test_close(BaseTestClient): def test_close(self): - self.fcpClient.close() + self.client.close() self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, + self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.Close), ) @@ -339,11 +339,11 @@ class Test_isOpen(BaseTestClient): def test_isOpen(self): - self.failIf(self.fcpClient.isOpen()) + self.failIf(self.client.isOpen()) self.connectClient() - self.failUnless(self.fcpClient.isOpen()) + self.failUnless(self.client.isOpen()) self.closeClient() - self.failIf(self.fcpClient.isOpen()) + self.failIf(self.client.isOpen()) #*********************************************************************************** #TODO: not idea how to test this @@ -358,7 +358,7 @@ class Test_iterConnect(BaseTestClient): def test_iterConnect_success(self): - for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + for n, nodeHello in enumerate(self.client.iterConnect(duration=0.2, timeout=0.1)): msg = self.getNextMessage() if msg is not None: self.failUnless(msg.name == 'ClientHello') @@ -366,7 +366,7 @@ 'NodeHello', FCPVersion='2.0', Node='Fred', - Version=str(self.fcpClient.ExpectedFcpVersion), + Version=str(self.client.ExpectedFcpVersion), Revision='999999999999', Build='9999999999', ExRevision='9999999999', @@ -379,22 +379,22 @@ ) self.assertHasNextEvent( - self.fcpClient.events.ClientConnected, + self.client.events.ClientConnected, consts.Message.NodeHello, ) self.assertHasNextEvent(None) self.assertHasNextMessage(None) self.failUnless(self.ioOpen()) - self.fcpClient.close() + self.client.close() def test_iterConnect_ioRefusesConnection(self): - for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + for n, nodeHello in enumerate(self.client.iterConnect(duration=0.2, timeout=0.1)): self.getIO().setAllowConnect(False) self.failUnless(nodeHello is None) self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, + self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.IOConnectFailed), ) @@ -404,12 +404,12 @@ def test_iterConnect_nodeHelloNeverArrives(self): - for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + for n, nodeHello in enumerate(self.client.iterConnect(duration=0.2, timeout=0.1)): pass self.failUnless(nodeHello is None) self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, + self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.NoNodeHello), ) @@ -419,17 +419,17 @@ def test_iterConnect_socketDies(self): - enum = self.fcpClient.iterConnect(duration=0.2, timeout=0.1) + enum = self.client.iterConnect(duration=0.2, timeout=0.1) errorRaised = False while True: try: enum.next() except StopIteration: break - except iohandler.IOBroken, d: + except self.client.ioHandler.IOBroken, d: errorRaised = True self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, + self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.ConnectionDied), #('Param', None), @@ -445,7 +445,7 @@ def test_iterIterConnect_unknownNodehello(self): - for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + for n, nodeHello in enumerate(self.client.iterConnect(duration=0.2, timeout=0.1)): self.sendResponseMessage( 'i-am-invalid', callNext=False, @@ -453,7 +453,7 @@ self.failUnless(nodeHello is None) self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, + self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.UnknownNodeHello), ) @@ -463,14 +463,14 @@ def test_iterIterConnect_connect(self): - for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + for n, nodeHello in enumerate(self.client.iterConnect(duration=0.2, timeout=0.1)): self.sendResponseMessage( 'NodeHello', FCPVersion='2.0', Build='9999999999', Node='Fred', - Version=str(self.fcpClient.ExpectedFcpVersion), + Version=str(self.client.ExpectedFcpVersion), Revision='999999999999', ExRevision='9999999999', Testnet='false', @@ -482,7 +482,7 @@ ) self.assertHasNextEvent( - self.fcpClient.events.ClientConnected, + self.client.events.ClientConnected, consts.Message.NodeHello, ) self.assertHasNextEvent(None) @@ -494,14 +494,14 @@ def test_iterIterConnect_reconnect(self): self.connectClient() - for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + for n, nodeHello in enumerate(self.client.iterConnect(duration=0.2, timeout=0.1)): self.sendResponseMessage( 'NodeHello', FCPVersion='2.0', Build='9999999999', Node='Fred', - Version=str(self.fcpClient.ExpectedFcpVersion), + Version=str(self.client.ExpectedFcpVersion), Revision='999999999999', ExRevision='9999999999', Testnet='false', @@ -513,12 +513,12 @@ ) self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, + self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.Reconnect) ) self.assertHasNextEvent( - self.fcpClient.events.ClientConnected, + self.client.events.ClientConnected, consts.Message.NodeHello, ) self.assertHasNextEvent(None) @@ -528,14 +528,14 @@ def test_iterIterConnect_VersionMissmatch_FCPVersion(self): - for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + for n, nodeHello in enumerate(self.client.iterConnect(duration=0.2, timeout=0.1)): self.sendResponseMessage( 'NodeHello', FCPVersion='0.0', Build='9999999999', Node='Fred', - Version=str(self.fcpClient.ExpectedFcpVersion), + Version=str(self.client.ExpectedFcpVersion), Revision='999999999999', ExRevision='9999999999', Testnet='false', @@ -547,7 +547,7 @@ ) self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, + self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.VersionMissmatch) ) @@ -558,14 +558,14 @@ def test_iterIterConnect_VersionMissmatch_Build(self): - for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=0.2, timeout=0.1)): + for n, nodeHello in enumerate(self.client.iterConnect(duration=0.2, timeout=0.1)): self.sendResponseMessage( 'NodeHello', FCPVersion='2.0', Build='0', Node='Fred', - Version=str(self.fcpClient.ExpectedFcpVersion), + Version=str(self.client.ExpectedFcpVersion), Revision='999999999999', ExRevision='9999999999', Testnet='false', @@ -577,7 +577,7 @@ ) self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, + self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.VersionMissmatch) ) @@ -599,7 +599,7 @@ ) self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, + self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.DuplicateClientName) ) @@ -615,7 +615,7 @@ def test_closeNode(self): self.connectClient() - self.fcpClient.closeNode() + self.client.closeNode() self.assertHasNextMessage('Shutdown') self.sendResponseMessage( 'ProtocolError', @@ -623,7 +623,7 @@ ) self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, + self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.NodeClosing) ) @@ -632,7 +632,237 @@ self.failIf(self.ioOpen()) self.closeClient() +#*********************************************************************************** +# TODO: no idea how t test this +#*********************************************************************************** +class Test_startNode(BaseTestClient): + pass + +#*********************************************************************************** +# +#*********************************************************************************** +class Test_get_setConnectionName(BaseTestClient): + + def test_get_setConnectionName(self): + + self.failIf(self.client.setConnectionName() == 'foo') + self.client.setConnectionName('foo') + self.failIf(self.client.getConnectionName() != 'foo') + + +#*********************************************************************************** +# +#*********************************************************************************** +class Test_get_setDebugVerbosity(BaseTestClient): + + + def test_get_setDebugVerbosity(self): + oldVerbosity = self.client.getDebugVerbosity() + self.client.setDebugVerbosity(self.client.consts.DebugVerbosity.Quiet) + self.client.setDebugVerbosity(oldVerbosity) + + +#*********************************************************************************** +# +#*********************************************************************************** +class Test_versionCheckNodeHello(BaseTestClient): + + + def test_get_versionCheckNodeHello(self): + + msg = { + 'FCPVersion': self.client.ExpectedFcpVersion, + 'Build':self.client.ExpectedNodeBuild, + } + result = self.client.versionCheckNodeHello(msg) + self.failUnless(result == True) + + msg = { + 'FCPVersion': self.client.ExpectedFcpVersion -1, + 'Build':self.client.ExpectedNodeBuild, + } + result = self.client.versionCheckNodeHello(msg) + self.failUnless(result == False) + + msg = { + 'FCPVersion': self.client.ExpectedFcpVersion, + 'Build':self.client.ExpectedNodeBuild -1, + } + result = self.client.versionCheckNodeHello(msg) + self.failUnless(result == False) + + msg = { + 'FCPVersion': self.client.ExpectedFcpVersion +1, + 'Build':self.client.ExpectedNodeBuild, + } + result = self.client.versionCheckNodeHello(msg) + self.failUnless(result == False) + + msg = { + 'FCPVersion': self.client.ExpectedFcpVersion, + 'Build':self.client.ExpectedNodeBuild +1, + } + result = self.client.versionCheckNodeHello(msg) + self.failUnless(result == True) + +#*********************************************************************************** +# TODO: not tested +#*********************************************************************************** +class Test_handleMessage(BaseTestClient): + pass + +#*********************************************************************************** +# +#*********************************************************************************** +class Test_next(BaseTestClient): + + def test_idle(self): + self.connectClient() + msg = self.client.next() + msg2 = self.assertHasNextEvent( + self.client.events.Idle, + self.client.message.ClientSocketTimeout.name, + ) + self.failUnless(msg == msg2) + + + def test_io_broken(self): + self.connectClient() + self.getIO().setBroken(True) + + self.assertRaises(self.client.ioHandler.IOBroken, self.client.next, ) + self.assertHasNextEvent( + self.client.events.ClientDisconnected, + consts.Message.ClientDisconnected, + ('DisconnectReason', consts.DisconnectReason.ConnectionDied) + ) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(self.ioOpen()) + + + def test_hasMessage(self): + self.connectClient() + self.sendResponseMessage( + 'HiThere', + callNext=False + ) + msg = self.client.next() + self.assertEqual(msg.name, 'HiThere') + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) + + +#*********************************************************************************** +#TODO: not tested yet +#*********************************************************************************** +class Test_run(BaseTestClient): + + pass + +#*********************************************************************************** +# +#*********************************************************************************** +class Test_sendMessage(BaseTestClient): + + def test_io_broken(self): + self.connectClient() + self.getIO().setBroken(True) + + self.assertRaises(self.client.ioHandler.IOBroken, self.client.sendMessage, self.client.message.ClientHello()) + self.assertHasNextEvent( + self.client.events.ClientDisconnected, + consts.Message.ClientDisconnected, + ('DisconnectReason', consts.DisconnectReason.ConnectionDied) + ) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(self.ioOpen()) + + + def test_messageSend(self): + self.connectClient() + self.client.sendMessage(self.client.message.ClientHello()) + msg = self.client.next() + self.assertHasNextMessage('ClientHello') + self.assertHasNextEvent(self.client.events.Idle) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) + +#*********************************************************************************** +# +#*********************************************************************************** +class Test_getConfig(BaseTestClient): + + def test_getConfig(self): + self.connectClient() + self.client.getConfig( + withCurrent=True, + withDefaults=True, + withExpertFlag=True, + withForceWriteFlag=True, + withSortOrder=True, + withShortDescription=True, + withLongDescription=True, + withDataTypes=True, + ) + msg = self.client.next() + self.assertHasNextMessage('GetConfig', + ('WithCurrent', True), + ('WithDefaults', True), + ('WithExpertFlag', True), + ('WithForceWriteFlag', True), + ('WithSortOrder', True), + ('WithShortDescription', True), + ('WithLongDescription', True), + ('WithDataTypes', True), + ) + self.assertHasNextEvent(self.client.events.Idle) + + + self.sendResponseMessage('ConfigData', + foo='1234', + ) + self.assertHasNextEvent( + self.client.events.ConfigData, + consts.Message.ConfigData, + ('foo', '1234') + ) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) + +#*********************************************************************************** +# +#*********************************************************************************** +class Test_modifyConfig(BaseTestClient): + + def test_getConfig(self): + self.connectClient() + self.client.modifyConfig( + {'foo': '1234'} + ) + msg = self.client.next() + self.assertHasNextMessage('ModifyConfig', + ('foo', '1234'), + ) + self.assertHasNextEvent(self.client.events.Idle) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) + + + + ################################################### ################################################### ################################################### @@ -647,7 +877,7 @@ self.sendResponseMessage('CloseConnectionDuplicateClientName') msg = self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, + self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.DuplicateClientName), ) @@ -656,7 +886,7 @@ self.failIf(self.ioOpen()) self.assertHasNextEvent(None) - #print self.fcpClient.test_messagesSend[0].name + #print self.client.test_messagesSend[0].name self.assertHasNextMessage(None) self.connectClient() @@ -665,11 +895,11 @@ def test_1001_SocketDied_Receive(self): self.getIO().setBroken(True) - self.assertRaises(iohandler.IOBroken, self.fcpClient.next) + self.assertRaises(iohandler.IOBroken, self.client.next) # check if ClientDisconnected events has been triggered msg = self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, + self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.SocketDied), #('Param', ClientSocketDiedMessage) # can not test here @@ -689,11 +919,11 @@ self.getIO().setBroken(True) # send a test message - self.assertRaises(iohandler.IOBroken, self.fcpClient.sendMessage, message.newMessageType('test')()) + self.assertRaises(iohandler.IOBroken, self.client.sendMessage, message.newMessageType('test')()) # check if ClientDisconnected events has been triggered msg = self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, + self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.SocketDied), #('Param', ClientSocketDiedMessage) # can not test here @@ -710,7 +940,7 @@ def test_1003_Shutdown(self): - self.fcpClient.closeFreenet() + self.client.closeFreenet() msg = self.assertHasNextMessage(consts.Message.Shutdown) self.sendResponseMessage( @@ -720,7 +950,7 @@ # check events the client triggered msg = self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, + self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.Shutdown) #('Param', NodeHelloMessage) # can not test here @@ -738,7 +968,7 @@ def test_1004_VersionMismatch(self): - for n, nodeHello in enumerate(self.fcpClient.iterConnect(duration=1, timeout=0.1)): + for n, nodeHello in enumerate(self.client.iterConnect(duration=1, timeout=0.1)): if n == 1: self.assertHasNextMessage( consts.Message.ClientHello @@ -747,7 +977,7 @@ 'NodeHello', FCPVersion='0.0', Node='Fred', - Version=str(self.fcpClient.ExpectedFcpVersion), + Version=str(self.client.ExpectedFcpVersion), Revision='0', Build='0', ExRevision='0', @@ -761,7 +991,7 @@ # check events the client triggered msg = self.assertHasNextEvent( - self.fcpClient.events.ClientDisconnected, + self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.VersionMissmatch) #('Param', NodeHelloMessage) # can not test here @@ -782,11 +1012,11 @@ def test_2000_ClientGetRegistered(self): # request a arbitrary file - myIdentifier = self.fcpClient.getData( + myIdentifier = self.client.getData( 'arbitrary-uri', ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientGet) self.assertHasNextEvent(None) @@ -806,11 +1036,11 @@ def test_2001_GetData_Success(self): # request a arbitrary file - myIdentifier = self.fcpClient.getData( + myIdentifier = self.client.getData( 'arbitrary-uri', ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientGet) @@ -833,7 +1063,7 @@ Succeeded=1, ) self.assertHasNextEvent( - self.fcpClient.events.RequestProgress, + self.client.events.RequestProgress, ) # finalize request @@ -861,7 +1091,7 @@ # client should complete and remove the request self.assertHasNextEvent( - self.fcpClient.events.RequestCompleted, + self.client.events.RequestCompleted, consts.Message.ClientGet, ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | @@ -890,7 +1120,7 @@ # client should complete but not remove the request self.assertHasNextEvent( - self.fcpClient.events.RequestCompleted, + self.client.events.RequestCompleted, consts.Message.ClientGet, ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.Completed), data=data @@ -908,11 +1138,11 @@ def test_2002_GetData_Failure(self): # request a arbitrary file - myIdentifier = self.fcpClient.getData( + myIdentifier = self.client.getData( 'arbitrary-uri', ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientGet) @@ -934,7 +1164,7 @@ # client should complete request and remove it self.assertHasNextEvent( - self.fcpClient.events.RequestFailed, + self.client.events.RequestFailed, consts.Message.ClientGet, ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.RemovedFromQueue | @@ -964,7 +1194,7 @@ # client should complete but not remove the request self.assertHasNextEvent( - self.fcpClient.events.RequestFailed, + self.client.events.RequestFailed, consts.Message.ClientGet, ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.Completed), ) @@ -979,12 +1209,12 @@ def test_2003_GetFile_Success(self): # request a arbitrary file - myIdentifier = self.fcpClient.getFile( + myIdentifier = self.client.getFile( 'arbitrary-uri', 'arbitryry.txt' ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientGet) @@ -1008,7 +1238,7 @@ **params ) self.assertHasNextEvent( - self.fcpClient.events.RequestCompleted, + self.client.events.RequestCompleted, consts.Message.ClientGet, ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | @@ -1026,12 +1256,12 @@ def test_2004_GetFile_Failure(self): # request a arbitrary file - myIdentifier = self.fcpClient.getFile( + myIdentifier = self.client.getFile( 'arbitrary-uri', 'arbitryry.txt' ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientGet) @@ -1052,7 +1282,7 @@ ) self.assertHasNextEvent( - self.fcpClient.events.RequestFailed, + self.client.events.RequestFailed, consts.Message.ClientGet, ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.RemovedFromQueue | @@ -1069,11 +1299,11 @@ def test_2005_GetKeyInfo_Success(self): # request a arbitrary uri - myIdentifier = self.fcpClient.getKeyInfo( + myIdentifier = self.client.getKeyInfo( 'arbitrary-uri', ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientGet) @@ -1097,7 +1327,7 @@ **params ) self.assertHasNextEvent( - self.fcpClient.events.RequestCompleted, + self.client.events.RequestCompleted, consts.Message.ClientGet, ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | @@ -1116,11 +1346,11 @@ # test specdial case where ProtocolError.TooBig is handled as success # request a arbitrary uri - myIdentifier = self.fcpClient.getKeyInfo( + myIdentifier = self.client.getKeyInfo( 'arbitrary-uri', ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientGet) @@ -1140,7 +1370,7 @@ # blah.. more here ) self.assertHasNextEvent( - self.fcpClient.events.RequestCompleted, + self.client.events.RequestCompleted, consts.Message.ClientGet, ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | @@ -1158,11 +1388,11 @@ def test_2007_GetKeyInfo_Failure(self): # request a arbitrary file - myIdentifier = self.fcpClient.getKeyInfo( + myIdentifier = self.client.getKeyInfo( 'arbitrary-uri', ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientGet) @@ -1182,7 +1412,7 @@ # blah.. more here ) self.assertHasNextEvent( - self.fcpClient.events.RequestFailed, + self.client.events.RequestFailed, consts.Message.ClientGet, ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.RemovedFromQueue | @@ -1207,12 +1437,12 @@ def testPutRedirect_Success(self): # request a arbitrary file - myIdentifier = self.fcpClient.putRedirect( + myIdentifier = self.client.putRedirect( 'my-redirect-name', 'SSK@arbitrary-uri', ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientPut) self.failUnless(myIdentifier in requestsAll) @@ -1224,7 +1454,7 @@ ) self.assertHasNextEvent( - self.fcpClient.events.RequestCompleted, + self.client.events.RequestCompleted, consts.Message.ClientPut, ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | @@ -1239,12 +1469,12 @@ def testPutRedirect_Failure(self): # request a arbitrary file - myIdentifier = self.fcpClient.putRedirect( + myIdentifier = self.client.putRedirect( 'my-redirect-name', 'SSK@arbitrary-uri', ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientPut) self.failUnless(myIdentifier in requestsAll) @@ -1256,7 +1486,7 @@ ) self.assertHasNextEvent( - self.fcpClient.events.RequestFailed, + self.client.events.RequestFailed, consts.Message.ClientPut, ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.RemovedFromQueue | @@ -1271,11 +1501,11 @@ def testCHKPutData_Success(self): # request a arbitrary file - myIdentifier = self.fcpClient.chkPutData( + myIdentifier = self.client.chkPutData( 'arbitrary data' ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientPut) self.failUnless(myIdentifier in requestsAll) @@ -1287,7 +1517,7 @@ ) self.assertHasNextEvent( - self.fcpClient.events.RequestCompleted, + self.client.events.RequestCompleted, consts.Message.ClientPut, ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | @@ -1302,11 +1532,11 @@ def testCHKPutData_Failure(self): # request a arbitrary file - myIdentifier = self.fcpClient.chkPutData( + myIdentifier = self.client.chkPutData( 'arbitrary data' ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientPut) self.failUnless(myIdentifier in requestsAll) @@ -1318,7 +1548,7 @@ ) self.assertHasNextEvent( - self.fcpClient.events.RequestFailed, + self.client.events.RequestFailed, consts.Message.ClientPut, ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.RemovedFromQueue | @@ -1333,11 +1563,11 @@ def testCHKPutDir_Success(self): # request a arbitrary file - myIdentifier = self.fcpClient.chkPutDir( + myIdentifier = self.client.chkPutDir( 'myDirectory' ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientPutDiskDir) self.failUnless(myIdentifier in requestsAll) @@ -1349,7 +1579,7 @@ ) self.assertHasNextEvent( - self.fcpClient.events.RequestCompleted, + self.client.events.RequestCompleted, consts.Message.ClientPutDiskDir, ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | @@ -1364,11 +1594,11 @@ def testCHKPutDir_Failure(self): # request a arbitrary file - myIdentifier = self.fcpClient.chkPutDir( + myIdentifier = self.client.chkPutDir( 'myDirectory' ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientPutDiskDir) self.failUnless(myIdentifier in requestsAll) @@ -1380,7 +1610,7 @@ ) self.assertHasNextEvent( - self.fcpClient.events.RequestFailed, + self.client.events.RequestFailed, consts.Message.ClientPutDiskDir, ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.RemovedFromQueue | @@ -1395,11 +1625,11 @@ def testCHKPutFile_Success(self): # request a arbitrary file - myIdentifier = self.fcpClient.chkPutFile( + myIdentifier = self.client.chkPutFile( 'myFile.txt' ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientPut) self.failUnless(myIdentifier in requestsAll) @@ -1411,7 +1641,7 @@ ) self.assertHasNextEvent( - self.fcpClient.events.RequestCompleted, + self.client.events.RequestCompleted, consts.Message.ClientPut, ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | @@ -1426,11 +1656,11 @@ def testCHKPutFile_Failure(self): # request a arbitrary file - myIdentifier = self.fcpClient.chkPutFile( + myIdentifier = self.client.chkPutFile( 'myFile.txt' ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientPut) self.failUnless(myIdentifier in requestsAll) @@ -1442,7 +1672,7 @@ ) self.assertHasNextEvent( - self.fcpClient.events.RequestFailed, + self.client.events.RequestFailed, consts.Message.ClientPut, ('RequestStatus', consts.RequestStatus.Error | consts.RequestStatus.RemovedFromQueue | @@ -1482,11 +1712,11 @@ ] # request a arbitrary file - myIdentifier = self.fcpClient.chkPutMultiple( + myIdentifier = self.client.chkPutMultiple( items ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() msg = self.assertHasNextMessage( consts.Message.ClientPutComplexDir, @@ -1521,7 +1751,7 @@ ) self.assertHasNextEvent( - self.fcpClient.events.RequestCompleted, + self.client.events.RequestCompleted, consts.Message.ClientPutComplexDir, ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | @@ -1545,7 +1775,7 @@ 'Name': 'myItem0', }, ] - self.assertRaises(ValueError, self.fcpClient.chkPutMultiple, items) + self.assertRaises(ValueError, self.client.chkPutMultiple, items) #TODO: how to test required params? # ...just some samples below @@ -1558,7 +1788,7 @@ 'Name': 'myItem0', }, ] - self.assertRaises(ValueError, self.fcpClient.chkPutMultiple, items) + self.assertRaises(ValueError, self.client.chkPutMultiple, items) # param missing (we enforce all required parameters) items = [ @@ -1568,12 +1798,12 @@ #'Name': 'myItem0', }, ] - self.assertRaises(ValueError, self.fcpClient.chkPutMultiple, items) + self.assertRaises(ValueError, self.client.chkPutMultiple, items) # some sloppy tests for other key types def testSSKPutData(self): - myIdentifier = self.fcpClient.chkPutData( + myIdentifier = self.client.chkPutData( 'arbitrary data' ) @@ -1590,15 +1820,15 @@ def test_3000_ModifyRequest_Persistent(self): # request a arbitrary file - myIdentifier = self.fcpClient.getFile( + myIdentifier = self.client.getFile( 'arbitrary-uri', 'arbitryry.txt', persistentUserData='foo', priorityClass=consts.Priority.Medium, persistence=consts.Persistence.Reboot, ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientGet) @@ -1612,7 +1842,7 @@ # test modify persistent user data - self.fcpClient.modifyRequest(myIdentifier, persistentUserData='bar', priorityClass=consts.Priority.High) + self.client.modifyRequest(myIdentifier, persistentUserData='bar', priorityClass=consts.Priority.High) msg = self.assertHasNextMessage(consts.Message.ModifyPersistentRequest) # respond to the file request @@ -1620,7 +1850,7 @@ 'PersistentRequestModified', **msg.params ) - self.assertHasNextEvent(self.fcpClient.events.RequestModified) + self.assertHasNextEvent(self.client.events.RequestModified) self.failUnless(consts.RequestModified.PersistentUserData in myRequest['Modified']) self.failUnless(consts.RequestModified.PriorityClass in myRequest['Modified']) @@ -1637,14 +1867,14 @@ def test_3001_ModifyRequest_NonPersistent(self): # request a arbitrary file - myIdentifier = self.fcpClient.getFile( + myIdentifier = self.client.getFile( 'arbitrary-uri', 'arbitryry.txt', persistentUserData='foo', priorityClass=consts.Priority.Medium, ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientGet) @@ -1656,7 +1886,7 @@ ) # test modify persistent user data - self.fcpClient.modifyRequest(myIdentifier, persistentUserData='bar', priorityClass=consts.Priority.High) + self.client.modifyRequest(myIdentifier, persistentUserData='bar', priorityClass=consts.Priority.High) # no way to modify priority in Fcp. The client ignores all attempts to do so currently # no message is send,instead the event is triggered emidiately @@ -1668,7 +1898,7 @@ # **msg.params # ) - self.assertHasNextEvent(self.fcpClient.events.RequestModified) + self.assertHasNextEvent(self.client.events.RequestModified) self.failUnless(consts.RequestModified.PersistentUserData in myRequest['Modified']) #self.failUnless(consts.RequestModified.PriorityClass in myRequest['Modified']) @@ -1685,12 +1915,12 @@ def test_3002_RemoveRequest_NonPersistent(self): # request a file - myIdentifier = self.fcpClient.getFile( + myIdentifier = self.client.getFile( 'arbitrary-uri', 'arbitrary.txt' ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientGet) # respond to the file request @@ -1705,25 +1935,25 @@ self.messages = [] # now cancel request - self.fcpClient.removeRequest(myIdentifier) + self.client.removeRequest(myIdentifier) # of our request should be removed emidiately, self.assertEqual(myRequest['RequestStatus'], consts.RequestStatus.Removed | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ) - self.failIf(myIdentifier in self.fcpClient.getRequests()) + self.failIf(myIdentifier in self.client.getRequests()) # now the request should have been removed self.assertHasNextEvent( - self.fcpClient.events.RequestRemoved, + self.client.events.RequestRemoved, consts.Message.ClientGet, ('RequestStatus', consts.RequestStatus.Removed | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ), ) - self.failIf(self.fcpClient.getRequests()) + self.failIf(self.client.getRequests()) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -1733,13 +1963,13 @@ def test_3003_RemoveRequest_persistent(self): # request a file - myIdentifier = self.fcpClient.getFile( + myIdentifier = self.client.getFile( 'arbitrary-uri', 'arbitrary.txt', persistence=consts.Persistence.Reboot, ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientGet) @@ -1755,12 +1985,12 @@ self.messages = [] # now cancel request - self.fcpClient.removeRequest(myIdentifier) + self.client.removeRequest(myIdentifier) # status of our request should be set to removed emidiately, but it should # not be removed from the client self.assertEqual(myRequest['RequestStatus'], consts.RequestStatus.Removed | consts.RequestStatus.Completed) - self.failUnless(myIdentifier in self.fcpClient.getRequests()) + self.failUnless(myIdentifier in self.client.getRequests()) # client schould send a RemovePersistentRequest self.assertHasNextMessage(consts.Message.RemovePersistentRequest) @@ -1775,7 +2005,7 @@ self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.RemovedFromQueue) self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) self.assertHasNextEvent( - self.fcpClient.events.RequestRemoved, + self.client.events.RequestRemoved, consts.Message.ClientGet, ('RequestStatus', consts.RequestStatus.Removed | consts.RequestStatus.RemovedFromQueue | @@ -1783,7 +2013,7 @@ ), ) - self.failIf(self.fcpClient.getRequests()) + self.failIf(self.client.getRequests()) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -1793,19 +2023,19 @@ def test_3004_ResendRequest_NonPersistent(self): - myIdentifier = self.fcpClient.getData('any-key') - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myIdentifier = self.client.getData('any-key') + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientGet) - newIdentifier = self.fcpClient.resendRequest(myRequest) + newIdentifier = self.client.resendRequest(myRequest) # client should remove old request emidiately self.failIf(myIdentifier == newIdentifier) self.failIf(myIdentifier in requestsAll) self.failUnless(newIdentifier in requestsAll) self.assertHasNextEvent( - self.fcpClient.events.RequestRemoved, + self.client.events.RequestRemoved, consts.Message.ClientGet, ('RequestStatus', consts.RequestStatus.Removed | consts.RequestStatus.RemovedFromQueue | @@ -1824,12 +2054,12 @@ def test_3005_ResendRequest_Persistent(self): - myIdentifier = self.fcpClient.getData('any-key', persistence=consts.Persistence.Reboot) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myIdentifier = self.client.getData('any-key', persistence=consts.Persistence.Reboot) + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientGet) - newIdentifier = self.fcpClient.resendRequest(myRequest) + newIdentifier = self.client.resendRequest(myRequest) self.failIf(myIdentifier == newIdentifier) self.failUnless(newIdentifier in requestsAll) @@ -1847,7 +2077,7 @@ Identifier=myIdentifier, ) self.assertHasNextEvent( - self.fcpClient.events.RequestRemoved, + self.client.events.RequestRemoved, consts.Message.ClientGet, ('RequestStatus', consts.RequestStatus.Removed | consts.RequestStatus.RemovedFromQueue | @@ -1890,7 +2120,7 @@ ('Identifier', myIdentifier) ) - requests = self.fcpClient.getRequests() + requests = self.client.getRequests() self.failIf(requests) # the client should not trigger any events @@ -1901,16 +2131,16 @@ def test_4001_RestorePersistentGet_ValidIdentifier(self): # we need a valid identifier to restore a request, so hack a bit - myIdentifier = self.fcpClient.getFile( + myIdentifier = self.client.getFile( 'arbitrary-uri', 'arbitryry.txt' ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientGet) - self.fcpClient.removeRequest(myIdentifier) + self.client.removeRequest(myIdentifier) self.sendResponseMessage( 'PersistentRequestRemoved', Identifier=myIdentifier, @@ -1932,7 +2162,7 @@ # check if the client restored the request msg = self.assertHasNextEvent( - self.fcpClient.events.RequestRestored, + self.client.events.RequestRestored, consts.Message.ClientGet, ('Identifier', myIdentifier), ('RequestStatus', consts.RequestStatus.Restored), # no RequestStatus.Pending flag should be set here @@ -1957,12 +2187,12 @@ def test_5000_DDAWriteDenied(self): # request a file - myIdentifier = self.fcpClient.getFile( + myIdentifier = self.client.getFile( 'arbitrary-uri', os.path.join(DIR, 'DDATest.txt') ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() # client schould send a ClientGet self.assertHasNextMessage(consts.Message.ClientGet) @@ -2035,7 +2265,7 @@ **msg.params ) - requests = self.fcpClient.getRequests() + requests = self.client.getRequests() self.assertEqual(len(requests), 1) self.assertHasNextEvent(None) @@ -2057,12 +2287,12 @@ def test_6000_IdentifierCollision(self): # request a file - myIdentifier = self.fcpClient.getFile( + myIdentifier = self.client.getFile( 'arbitrary-uri', os.path.join(DIR, 'test.txt') ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() # client schould send a ClientGet self.assertHasNextMessage(consts.Message.ClientGet) @@ -2079,7 +2309,7 @@ # check if RequestModified event has been triggered msg = self.assertHasNextEvent( - self.fcpClient.events.RequestModified, + self.client.events.RequestModified, consts.Message.ClientGet, ) @@ -2103,13 +2333,13 @@ open(fpath, 'wb').close() self.tmpfiles.append(fpath) - myIdentifier = self.fcpClient.getFile( + myIdentifier = self.client.getFile( 'arbitrary-uri', fpath, filenameCollision=consts.FilenameCollision.HandleRename, ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() # client schould send a ClientGet self.assertHasNextMessage(consts.Message.ClientGet) @@ -2127,7 +2357,7 @@ # client schould send a new ClientGet with a different filename self.assertHasNextMessage(consts.Message.ClientGet) msg = self.assertHasNextEvent( - self.fcpClient.events.RequestModified, + self.client.events.RequestModified, consts.Message.ClientGet ) @@ -2157,19 +2387,19 @@ open(fpath, 'wb').close() self.tmpfiles.append(fpath) - myIdentifier = self.fcpClient.getFile( + myIdentifier = self.client.getFile( 'arbitrary-uri', fpath, filenameCollision=consts.FilenameCollision.HandleNever, ) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() # client schould send a ClientGet self.assertHasNextMessage(consts.Message.ClientGet) # check if our request was registered - requests = self.fcpClient.getRequests() + requests = self.client.getRequests() self.failUnless(len(requests) == 1) # now respond with a ProtocolError @@ -2183,10 +2413,10 @@ ) # client schould send no messages and trigger a RequestFailed event - self.assertHasNextEvent(self.fcpClient.events.RequestFailed) + self.assertHasNextEvent(self.client.events.RequestFailed) # request should have been removed - self.failIf(self.fcpClient.getRequests()) + self.failIf(self.client.getRequests()) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -2209,11 +2439,11 @@ URI=myKey, Persistence=consts.Persistence.Connection, ) - self.fcpClient._registerRequest(msg, consts.RequestType.PutData) + self.client._registerRequest(msg, consts.RequestType.PutData) myIdentifier = msg['Identifier'] - requestsAll = self.fcpClient.getRequests() + requestsAll = self.client.getRequests() - newIdentifier = self.fcpClient.resendRequest(msg) + newIdentifier = self.client.resendRequest(msg) self.failIf(myIdentifier in requestsAll) self.failUnless(newIdentifier in requestsAll) @@ -2229,12 +2459,12 @@ URI=myKey + '/foo', Persistence=consts.Persistence.Connection, ) - self.fcpClient._registerRequest(msg, consts.RequestType.PutData) + self.client._registerRequest(msg, consts.RequestType.PutData) msg['PrivateKey'] = myKey myIdentifier = msg['Identifier'] - requestsAll = self.fcpClient.getRequests() + requestsAll = self.client.getRequests() - newIdentifier = self.fcpClient.resendRequest(msg) + newIdentifier = self.client.resendRequest(msg) self.failIf(myIdentifier in requestsAll) self.failUnless(newIdentifier in requestsAll) @@ -2251,12 +2481,12 @@ URI=myKey + '/foo/0', Persistence=consts.Persistence.Connection, ) - self.fcpClient._registerRequest(msg, consts.RequestType.PutData) + self.client._registerRequest(msg, consts.RequestType.PutData) msg['PrivateKey'] = myKey myIdentifier = msg['Identifier'] - requestsAll = self.fcpClient.getRequests() + requestsAll = self.client.getRequests() - newIdentifier = self.fcpClient.resendRequest(msg) + newIdentifier = self.client.resendRequest(msg) self.failIf(myIdentifier in requestsAll) self.failUnless(newIdentifier in requestsAll) @@ -2272,12 +2502,12 @@ URI=myKey, Persistence=consts.Persistence.Connection, ) - self.fcpClient._registerRequest(msg, consts.RequestType.PutData) + self.client._registerRequest(msg, consts.RequestType.PutData) msg['PrivateKey'] = myKey myIdentifier = msg['Identifier'] - requestsAll = self.fcpClient.getRequests() + requestsAll = self.client.getRequests() - newIdentifier = self.fcpClient.resendRequest(msg) + newIdentifier = self.client.resendRequest(msg) self.failIf(myIdentifier in requestsAll) self.failUnless(newIdentifier in requestsAll) @@ -2312,9 +2542,9 @@ def testGet_8000_PluginInfo_Success(self): - myIdentifier = self.fcpClient.getPluginInfo('hi there') - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myIdentifier = self.client.getPluginInfo('hi there') + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.failUnless(myIdentifier in requestsAll) self.assertHasNextMessage( @@ -2330,7 +2560,7 @@ ) msg = self.assertHasNextEvent( - self.fcpClient.events.PluginInfo, + self.client.events.PluginInfo, consts.Message.GetPluginInfo, ('Identifier', myIdentifier), ('PluginName', 'hi there'), @@ -2351,9 +2581,9 @@ def test_8001_GetPluginInfo_Failure(self): - myIdentifier = self.fcpClient.getPluginInfo('hi there') - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myIdentifier = self.client.getPluginInfo('hi there') + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.failUnless(myIdentifier in requestsAll) self.assertHasNextMessage( @@ -2369,7 +2599,7 @@ ) msg = self.assertHasNextEvent( - self.fcpClient.events.PluginInfoFailed, + self.client.events.PluginInfoFailed, consts.Message.GetPluginInfo, #('PluginName', 'hi there'), ('Identifier', myIdentifier), @@ -2391,8 +2621,8 @@ def test_8002_SendPluginMessage_Success(self): myIdentifier = '123456789' - myRequest = self.fcpClient.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"}) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"}) + requestsAll = self.client.getRequests() self.failIf(myIdentifier in requestsAll) self.assertHasNextMessage( @@ -2410,7 +2640,7 @@ ) msg = self.assertHasNextEvent( - self.fcpClient.events.PluginMessage, + self.client.events.PluginMessage, consts.Message.FCPPluginReply, ('PluginName', 'hi there'), ('Identifier', myIdentifier), @@ -2425,8 +2655,8 @@ def test_8003_GetSendPluginMessage_Failure(self): myIdentifier = '1234567889' - myRequest = self.fcpClient.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"}) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"}) + requestsAll = self.client.getRequests() self.failIf(myIdentifier in requestsAll) self.assertHasNextMessage( @@ -2443,7 +2673,7 @@ ) msg = self.assertHasNextEvent( - self.fcpClient.events.ProtocolError, + self.client.events.ProtocolError, consts.Message.ProtocolError, ('Identifier', myIdentifier), ) @@ -2457,8 +2687,8 @@ def test_8003_GetSendPluginMessage_Identifiercollision(self): myIdentifier = '1234567889' - myRequest = self.fcpClient.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"}) - requestsAll = self.fcpClient.getRequests() + myRequest = self.client.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"}) + requestsAll = self.client.getRequests() self.failIf(myIdentifier in requestsAll) self.assertHasNextMessage( @@ -2474,7 +2704,7 @@ ) msg = self.assertHasNextEvent( - self.fcpClient.events.IdentifierCollision, + self.client.events.IdentifierCollision, consts.Message.IdentifierCollision, ('Identifier', myIdentifier), ) @@ -2495,9 +2725,9 @@ class TestGenerateKeypair(BaseTestClient): def test_10000_GeberateSSKKeypair(self): - myIdentifier = self.fcpClient.generateKeypair(consts.KeyType.SSK) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myIdentifier = self.client.generateKeypair(consts.KeyType.SSK) + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.GenerateSSK) self.sendResponseMessage( @@ -2508,7 +2738,7 @@ ) msg = self.assertHasNextEvent( - self.fcpClient.events.KeypairGenerated, + self.client.events.KeypairGenerated, consts.Message.GenerateSSK, ('Identifier', myIdentifier), ('PublicKey','SSK@public'), @@ -2527,9 +2757,9 @@ def test_10001_GeberateUSKKeypair(self): - myIdentifier = self.fcpClient.generateKeypair(consts.KeyType.USK) - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myIdentifier = self.client.generateKeypair(consts.KeyType.USK) + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.GenerateSSK) self.sendResponseMessage( @@ -2540,7 +2770,7 @@ ) msg = self.assertHasNextEvent( - self.fcpClient.events.KeypairGenerated, + self.client.events.KeypairGenerated, consts.Message.GenerateSSK, ('Identifier', myIdentifier), ('PublicKey','USK@public'), @@ -2566,9 +2796,9 @@ def test_11000_Subscribe(self): - myIdentifier = self.fcpClient.subscribeUSK('arbitrary') - myRequest = self.fcpClient.getRequest(myIdentifier) - requestsAll = self.fcpClient.getRequests() + myIdentifier = self.client.subscribeUSK('arbitrary') + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() self.failUnless(myIdentifier in requestsAll) self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) @@ -2582,7 +2812,7 @@ ) msg = self.assertHasNextEvent( - self.fcpClient.events.USKUpdated, + self.client.events.USKUpdated, consts.Message.SubscribedUSKUpdate, ('Identifier', myIdentifier), ('Edition', 99), @@ -2608,6 +2838,17 @@ Test_iterConnect, Test_CloseConnectionDuplicateClientName, Test_closeNode, + Test_get_setConnectionName, + Test_get_setDebugVerbosity, + Test_startNode, + Test_versionCheckNodeHello, + Test_handleMessage, + Test_next, + Test_run, + Test_sendMessage, + Test_getConfig, + Test_modifyConfig, + #TestDisconnectReason, #TestClientGet, #TestClientPut, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2008-03-11 11:21:07
|
Revision: 367 http://fclient.svn.sourceforge.net/fclient/?rev=367&view=rev Author: jUrner Date: 2008-03-11 04:21:11 -0700 (Tue, 11 Mar 2008) Log Message: ----------- continued rewrite of tests Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-03-11 11:20:32 UTC (rev 366) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-03-11 11:21:11 UTC (rev 367) @@ -861,8 +861,528 @@ self.failUnless(self.ioOpen()) +#*********************************************************************************** +# NOTE: all the in depth tests for getFile() getKeyInfo() are performed here +#*********************************************************************************** +class Test_getData(BaseTestClient): + + def test_100_request_registered(self): + self.connectClient() + myIdentifier = self.client.getData('arbitrary-key') + requestsAll = self.client.getRequests() + self.failUnless(myIdentifier in requestsAll) + myRequest = self.client.getRequest(myIdentifier) + self.assertEqual(myRequest['RequestType'], self.client.consts.RequestType.GetData) + + def test_200_key_object_is_accepted(self): + self.connectClient() + key = self.client.key.CHK() + myIdentifier = self.client.getData(key) + requestsAll = self.client.getRequests() + + + def test_300_message_send(self): + self.connectClient() + myIdentifier = self.client.getData('arbitrary-key') + requestsAll = self.client.getRequests() + + self.assertHasNextMessage( + 'ClientGet', + ('URI', 'arbitrary-key'), + ) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) + + def test_400_progress(self): + + self.connectClient() + myIdentifier = self.client.getData('arbitrary-key') + requestsAll = self.client.getRequests() + + self.assertHasNextMessage('ClientGet') + self.sendResponseMessage( + 'SimpleProgress', + Identifier=myIdentifier, + Total=0, + Required=0, + Failed=0, + FatallyFailed=0, + Succeeded=0, + ) + + self.assertHasNextEvent( + self.client.events.RequestProgress, + 'ClientGet', + ) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) + + + def test_500_completed_successfuly(self): + + self.connectClient() + myIdentifier = self.client.getData('arbitrary-key') + requestsAll = self.client.getRequests() + + self.assertHasNextMessage('ClientGet') + data = 'foo' + params = { + 'Identifier': myIdentifier, + 'Global': 'false', + 'DataLength': len(data), + 'Metadata.ContentType': 'any', + } + self.sendResponseMessage( + 'DataFound', + **params + ) + # we don't expect an event here.... + self.assertHasNextEvent(None) + self.sendResponseMessage( + 'AllData', + data=data, + Identifier=myIdentifier, + Global='false', + DataLength=len(data), + ) + + # client should complete and remove the request + self.assertHasNextEvent( + self.client.events.RequestCompleted, + consts.Message.ClientGet, + ('RequestStatus', consts.RequestStatus.Success | + consts.RequestStatus.RemovedFromQueue | + consts.RequestStatus.Completed + ), + data=data + ) + + # non persistent requests are removed emidiately + self.failIf(myIdentifier in requestsAll) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) + + + def test_600_completed_with_error(self): + self.connectClient() + myIdentifier = self.client.getData('arbitrary-key') + requestsAll = self.client.getRequests() + + self.assertHasNextMessage('ClientGet') + self.sendResponseMessage( + 'GetFailed', + Code='28', # All data not found + Identifier=myIdentifier, + Global='false', + # blah.. more here + ) + self.assertHasNextEvent( + self.client.events.RequestFailed, + consts.Message.ClientGet, + ('RequestStatus', consts.RequestStatus.Error | + consts.RequestStatus.RemovedFromQueue | + consts.RequestStatus.Completed + ), + ) + + # non persistent requests are removed emidiately + self.failIf(myIdentifier in requestsAll) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) + + + def test_700_peristent_request_auto_retrieve_data(self): + + self.connectClient() + myIdentifier = self.client.getData('arbitrary-key', persistence=self.client.consts.Persistence.Forever) + requestsAll = self.client.getRequests() + + self.assertHasNextMessage('ClientGet') + + data = 'foo' + params = { + 'Identifier': myIdentifier, + 'Global': 'false', + 'DataLength': len(data), + 'Metadata.ContentType': 'any', + } + self.sendResponseMessage( + 'DataFound', + **params + ) + + self.assertHasNextMessage('GetRequestStatus') + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) + + + + def test_800_peristent_request_not_removed_on_success(self): + self.connectClient() + myIdentifier = self.client.getData('arbitrary-key', persistence=self.client.consts.Persistence.Forever) + requestsAll = self.client.getRequests() + + self.assertHasNextMessage('ClientGet') + data = 'foo' + self.sendResponseMessage( + 'AllData', + data=data, + Identifier=myIdentifier, + Global='false', + DataLength=len(data), + ) + + self.assertHasNextEvent(self.client.events.RequestCompleted) + + # persistent requests are not removed emidiately + self.failUnless(myIdentifier in requestsAll) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) + + + def test_900_peristent_request_not_removed_on_error(self): + self.connectClient() + myIdentifier = self.client.getData('arbitrary-key', persistence=self.client.consts.Persistence.Forever) + requestsAll = self.client.getRequests() + + self.assertHasNextMessage('ClientGet') + self.sendResponseMessage( + 'GetFailed', + Code='28', # All data not found + Identifier=myIdentifier, + Global='false', + # blah.. more here + ) + + self.assertHasNextEvent(self.client.events.RequestFailed) + + # persistent requests are not removed emidiately + self.failUnless(myIdentifier in requestsAll) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) + + + def test_910_restore_peristent_request_failure(self): + self.connectClient() + requestsAll = self.client.getRequests() + myIdentifier = '123456789' + self.sendResponseMessage( + 'PersistentGet', + Identifier=myIdentifier, + ClientToken='i-am-invalid', + + callNext=False + ) + self.assertRaises(self.client.ioHandler.MessageParseError, self.client.next) + self.failIf(myIdentifier in requestsAll) + + + def test_920_restore_peristent_request_success(self): + self.connectClient() + requestsAll = self.client.getRequests() + myIdentifier = self.client.getData('arbitrary-key', persistence=self.client.consts.Persistence.Forever) + self.failUnless(myIdentifier in requestsAll) + myRequest = self.client.getRequest(myIdentifier) + del requestsAll[myIdentifier] + + self.sendResponseMessage( + 'PersistentGet', + **myRequest.params + ) + self.failUnless(myIdentifier in requestsAll) + myRequest = self.client.getRequest(myIdentifier) + msg = self.assertHasNextEvent( + self.client.events.RequestRestored, + 'ClientGet', + ('Identifier', myIdentifier), + ('RequestStatus', consts.RequestStatus.Restored), # no RequestStatus.Pending flag should be set here + ) + + + +#*********************************************************************************** +# +#*********************************************************************************** +class Test_getFile(BaseTestClient): + + def test_100_request_registered(self): + self.connectClient() + myIdentifier = self.client.getFile('arbitrary-key', 'foo.txt') + requestsAll = self.client.getRequests() + self.failUnless(myIdentifier in requestsAll) + myRequest = self.client.getRequest(myIdentifier) + self.assertEqual(myRequest['RequestType'], self.client.consts.RequestType.GetFile) + + + def test_200_key_object_is_accepted(self): + self.connectClient() + key = self.client.key.CHK() + + myIdentifier = self.client.getFile(key, 'foo.txt') + requestsAll = self.client.getRequests() + + + def test_300_dda_denied(self): + self.connectClient() + + myIdentifier = self.client.getFile( + 'arbitrary-uri', + os.path.join(DIR, 'DDATest.txt') + ) + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() + + self.assertHasNextMessage('ClientGet') + self.sendResponseMessage( + 'ProtocolError', + Code=25, # DDADenied + Identifier=myIdentifier, + ExtraDescription='An error occured', + Fatal='false', + Global='false', + ) + + # client should respond with a TestDDARequest + self.assertHasNextMessage( + consts.Message.TestDDARequest, + ('Directory', DIR), + ('WantWriteDirectory', True) + ) + + # respond with a TestDDAReply message + writeContent = 'blah' + fd, fpath = tempfile.mkstemp(dir=DIR) + os.close(fd) + self.sendResponseMessage( + 'TestDDAReply', + Directory=DIR, + WriteFilename=fpath, + ContentToWrite=writeContent, + ) + + # client should respond with a TestDDAResponse + self.assertHasNextMessage( + consts.Message.TestDDAResponse, + ('Directory', DIR) + ) + + # check if content was written + with open(fpath) as fp: + self.failUnless(fp.read() == writeContent) + + # respond with a TestDDAComplete message + self.sendResponseMessage( + 'TestDDAComplete', + Directory=DIR, + WriteDirectoryAllowed='true', + ) + + # check if our tempfile was removed + self.failIf(os.path.isfile(fpath)) + + # client sahould send a new ClientGet + msg = self.assertHasNextMessage(consts.Message.ClientGet) + + # no events should have been triggered upo to now + self.assertHasNextEvent(None) + + # respond with a PersistentGet + self.sendResponseMessage( + 'PersistentGet', + Started='false', + **msg.params + ) + + self.failUnless(myIdentifier in requestsAll) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) + + +#*********************************************************************************** +# +#*********************************************************************************** +class Test_getKeyinfo(BaseTestClient): + + + def test_100_request_registered(self): + self.connectClient() + myIdentifier = self.client.getKeyInfo('arbitrary-key') + requestsAll = self.client.getRequests() + self.failUnless(myIdentifier in requestsAll) + myRequest = self.client.getRequest(myIdentifier) + self.assertEqual(myRequest['RequestType'], self.client.consts.RequestType.GetKeyInfo) + + def test_200_key_object_is_accepted(self): + self.connectClient() + key = self.client.key.CHK() + + myIdentifier = self.client.getKeyInfo(key) + requestsAll = self.client.getRequests() + + + def test_300_getKeyInfo_Success(self): + self.connectClient() + myIdentifier = self.client.getKeyInfo('arbitrary-uri') + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() + + self.assertHasNextMessage('ClientGet') + + data = 'foo' + params = { + 'Identifier': myIdentifier, + 'Global': 'false', + 'DataLength': 123456, + 'Metadata.ContentType': 'any', + } + self.sendResponseMessage( + 'DataFound', + **params + ) + self.assertHasNextEvent( + self.client.events.RequestCompleted, + consts.Message.ClientGet, + ('RequestStatus', consts.RequestStatus.Success | + consts.RequestStatus.RemovedFromQueue | + consts.RequestStatus.Completed + ), + ) + self.failIf(myIdentifier in requestsAll) + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) + + + def test_400_GetKeyInfo_TooBig(self): + self.connectClient() + + # test specdial case where ProtocolError.TooBig is handled as success + # request a arbitrary uri + myIdentifier = self.client.getKeyInfo('arbitrary-uri') + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() + + self.assertHasNextMessage(consts.Message.ClientGet) + self.sendResponseMessage( + 'GetFailed', + Code='21', # Too big + Identifier=myIdentifier, + Global='false', + # blah.. more here + ) + self.assertHasNextEvent( + self.client.events.RequestCompleted, + consts.Message.ClientGet, + ('RequestStatus', consts.RequestStatus.Success | + consts.RequestStatus.RemovedFromQueue | + consts.RequestStatus.Completed + ), + ) + self.failIf(myIdentifier in requestsAll) + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) + + + def test_500_GetKeyInfo_Failure(self): + self.connectClient() + + # request a arbitrary file + myIdentifier = self.client.getKeyInfo('arbitrary-uri') + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() + + self.assertHasNextMessage(consts.Message.ClientGet) + self.sendResponseMessage( + 'GetFailed', + Code='28', # All data not found + Identifier=myIdentifier, + Global='false', + # blah.. more here + ) + self.assertHasNextEvent( + self.client.events.RequestFailed, + consts.Message.ClientGet, + ('RequestStatus', consts.RequestStatus.Error | + consts.RequestStatus.RemovedFromQueue | + consts.RequestStatus.Completed + ), + ) + self.failIf(myIdentifier in requestsAll) + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failUnless(self.ioOpen()) + + +#*********************************************************************************** +# +#*********************************************************************************** +class Test_subscribeUSK(BaseTestClient): + + def test_100_subscribeUSK_accepts_key_object(self): + self.connectClient() + key = self.client.key.USK('123456789', 'foo', 0) + myIdentifier = self.client.subscribeUSK(key) + self.assertHasNextMessage( + 'SubscribeUSK', + ('URI', key.toString()), + ) + + + def test_200_subscribeUSK(self): + self.connectClient() + myIdentifier = self.client.subscribeUSK('arbitrary-key') + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() + self.failUnless(myIdentifier in requestsAll) + myRequest = self.client.getRequest(myIdentifier) + self.assertEqual(myRequest['RequestType'], self.client.consts.RequestType.SubscribeUSK) + + self.assertHasNextMessage( + 'SubscribeUSK', + ('URI', 'arbitrary-key'), + ) + self.failUnless(myIdentifier in requestsAll) + + # usk update requests are permanent, so the completed flag shuld always be set + myRequest['RequestStatus'] == self.client.consts.RequestStatus.Completed + + self.sendResponseMessage( + 'SubscribedUSKUpdate', + Edition=99, + Identifier=myIdentifier, + URI='arbitrary-uri' + ) + + self.assertHasNextEvent( + self.client.events.USKUpdated, + 'SubscribeUSK', + ('Edition', 99), + ('Identifier', myIdentifier), + ('URI', 'arbitrary-key'), + ) + + + + ################################################### ################################################### ################################################### @@ -2848,6 +3368,10 @@ Test_sendMessage, Test_getConfig, Test_modifyConfig, + Test_getData, + Test_getFile, + Test_getKeyinfo, + Test_subscribeUSK, #TestDisconnectReason, #TestClientGet, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2008-04-08 10:12:57
|
Revision: 376 http://fclient.svn.sourceforge.net/fclient/?rev=376&view=rev Author: jUrner Date: 2008-04-08 03:12:57 -0700 (Tue, 08 Apr 2008) Log Message: ----------- typo Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-04-08 10:11:37 UTC (rev 375) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-04-08 10:12:57 UTC (rev 376) @@ -1219,7 +1219,7 @@ #*********************************************************************************** # #*********************************************************************************** -class Test_getKeyinfo(BaseTestClient): +class Test_getKeyInfo(BaseTestClient): def test_100_request_registered(self): @@ -3370,7 +3370,7 @@ Test_modifyConfig, Test_getData, Test_getFile, - Test_getKeyinfo, + Test_getKeyInfo, Test_subscribeUSK, #TestDisconnectReason, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2008-04-09 07:32:14
|
Revision: 382 http://fclient.svn.sourceforge.net/fclient/?rev=382&view=rev Author: jUrner Date: 2008-04-09 00:32:18 -0700 (Wed, 09 Apr 2008) Log Message: ----------- moved errors and loggers to consts for easier access Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-04-09 07:32:04 UTC (rev 381) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-04-09 07:32:18 UTC (rev 382) @@ -281,7 +281,7 @@ self.client.ioHandler.io.setReverseDirection(True) try: msg = self.client.ioHandler.readMessage() - except self.client.ioHandler.IOTimeout: + except consts.IOTimeoutError: return None finally: self.client.ioHandler.io.setReverseDirection(False) @@ -426,7 +426,7 @@ enum.next() except StopIteration: break - except self.client.ioHandler.IOBroken, d: + except consts.IOBrokenError, d: errorRaised = True self.assertHasNextEvent( self.client.events.ClientDisconnected, @@ -731,7 +731,7 @@ self.connectClient() self.getIO().setBroken(True) - self.assertRaises(self.client.ioHandler.IOBroken, self.client.next, ) + self.assertRaises(consts.IOBrokenError, self.client.next, ) self.assertHasNextEvent( self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, @@ -773,7 +773,7 @@ self.connectClient() self.getIO().setBroken(True) - self.assertRaises(self.client.ioHandler.IOBroken, self.client.sendMessage, self.client.message.ClientHello()) + self.assertRaises(consts.IOBrokenError, self.client.sendMessage, self.client.message.ClientHello()) self.assertHasNextEvent( self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, @@ -1089,7 +1089,7 @@ callNext=False ) - self.assertRaises(self.client.ioHandler.MessageParseError, self.client.next) + self.assertRaises(consts.MessageParseError, self.client.next) self.failIf(myIdentifier in requestsAll) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2008-06-28 08:14:32
|
Revision: 408 http://fclient.svn.sourceforge.net/fclient/?rev=408&view=rev Author: jUrner Date: 2008-06-28 01:14:41 -0700 (Sat, 28 Jun 2008) Log Message: ----------- asdded a test to check if ClientDisconnected() is triggered when the client is already closed Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-06-28 08:13:38 UTC (rev 407) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-06-28 08:14:41 UTC (rev 408) @@ -324,7 +324,8 @@ #*********************************************************************************** class Test_close(BaseTestClient): - def test_close(self): + #NOTE: currently ClientDisconnected() is triggered even if the client was not connected + def test_close_disconnected_client(self): self.client.close() self.assertHasNextEvent( self.client.events.ClientDisconnected, @@ -332,7 +333,17 @@ ('DisconnectReason', consts.DisconnectReason.Close), ) + def test_close_connected_client(self): + self.connectClient() + self.client.close() + self.assertHasNextEvent( + self.client.events.ClientDisconnected, + consts.Message.ClientDisconnected, + ('DisconnectReason', consts.DisconnectReason.Close), + ) + + #*********************************************************************************** # #*********************************************************************************** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2008-06-29 10:59:22
|
Revision: 418 http://fclient.svn.sourceforge.net/fclient/?rev=418&view=rev Author: jUrner Date: 2008-06-29 03:59:31 -0700 (Sun, 29 Jun 2008) Log Message: ----------- adapt to recent changes Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-06-29 10:59:13 UTC (rev 417) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-06-29 10:59:31 UTC (rev 418) @@ -196,7 +196,6 @@ self.assertEqual(value1, msg[param1]) if param2 is not None: param2, value2 = param2 - self.failUnless(param2 in msg.params) self.assertEqual(value2, msg[param2]) if param3 is not None: param3, value3 = param3 @@ -879,28 +878,23 @@ def test_100_request_registered(self): self.connectClient() - myIdentifier = self.client.getData('arbitrary-key') + myKey = self.client.key.key('KSK@foo') + myIdentifier = self.client.getData(myKey) requestsAll = self.client.getRequests() self.failUnless(myIdentifier in requestsAll) myRequest = self.client.getRequest(myIdentifier) self.assertEqual(myRequest['RequestType'], self.client.consts.RequestType.GetData) - def test_200_key_object_is_accepted(self): - self.connectClient() - key = self.client.key.CHK() - myIdentifier = self.client.getData(key) - requestsAll = self.client.getRequests() - - def test_300_message_send(self): self.connectClient() - myIdentifier = self.client.getData('arbitrary-key') + myKey = self.client.key.key('KSK@foo') + myIdentifier = self.client.getData(myKey) requestsAll = self.client.getRequests() self.assertHasNextMessage( 'ClientGet', - ('URI', 'arbitrary-key'), + ('URI', myKey), ) self.assertHasNextEvent(None) @@ -911,7 +905,8 @@ def test_400_progress(self): self.connectClient() - myIdentifier = self.client.getData('arbitrary-key') + myKey = self.client.key.key('KSK@foo') + myIdentifier = self.client.getData(myKey) requestsAll = self.client.getRequests() self.assertHasNextMessage('ClientGet') @@ -938,7 +933,8 @@ def test_500_completed_successfuly(self): self.connectClient() - myIdentifier = self.client.getData('arbitrary-key') + myKey = self.client.key.key('KSK@foo') + myIdentifier = self.client.getData(myKey) requestsAll = self.client.getRequests() self.assertHasNextMessage('ClientGet') @@ -984,7 +980,8 @@ def test_600_completed_with_error(self): self.connectClient() - myIdentifier = self.client.getData('arbitrary-key') + myKey = self.client.key.key('KSK@foo') + myIdentifier = self.client.getData(myKey) requestsAll = self.client.getRequests() self.assertHasNextMessage('ClientGet') @@ -1015,7 +1012,8 @@ def test_700_peristent_request_auto_retrieve_data(self): self.connectClient() - myIdentifier = self.client.getData('arbitrary-key', persistence=self.client.consts.Persistence.Forever) + myKey = self.client.key.key('KSK@foo') + myIdentifier = self.client.getData(myKey, persistence=self.client.consts.Persistence.Forever) requestsAll = self.client.getRequests() self.assertHasNextMessage('ClientGet') @@ -1042,7 +1040,8 @@ def test_800_peristent_request_not_removed_on_success(self): self.connectClient() - myIdentifier = self.client.getData('arbitrary-key', persistence=self.client.consts.Persistence.Forever) + myKey = self.client.key.key('KSK@foo') + myIdentifier = self.client.getData(myKey, persistence=self.client.consts.Persistence.Forever) requestsAll = self.client.getRequests() self.assertHasNextMessage('ClientGet') @@ -1067,7 +1066,8 @@ def test_900_peristent_request_not_removed_on_error(self): self.connectClient() - myIdentifier = self.client.getData('arbitrary-key', persistence=self.client.consts.Persistence.Forever) + myKey = self.client.key.key('KSK@foo') + myIdentifier = self.client.getData(myKey, persistence=self.client.consts.Persistence.Forever) requestsAll = self.client.getRequests() self.assertHasNextMessage('ClientGet') @@ -1107,7 +1107,8 @@ def test_920_restore_peristent_request_success(self): self.connectClient() requestsAll = self.client.getRequests() - myIdentifier = self.client.getData('arbitrary-key', persistence=self.client.consts.Persistence.Forever) + myKey = self.client.key.key('KSK@foo') + myIdentifier = self.client.getData(myKey, persistence=self.client.consts.Persistence.Forever) self.failUnless(myIdentifier in requestsAll) myRequest = self.client.getRequest(myIdentifier) del requestsAll[myIdentifier] @@ -1134,7 +1135,8 @@ def test_100_request_registered(self): self.connectClient() - myIdentifier = self.client.getFile('arbitrary-key', 'foo.txt') + myKey = self.client.key.key('KSK@foo') + myIdentifier = self.client.getFile(myKey, 'foo.txt') requestsAll = self.client.getRequests() self.failUnless(myIdentifier in requestsAll) myRequest = self.client.getRequest(myIdentifier) @@ -1143,17 +1145,16 @@ def test_200_key_object_is_accepted(self): self.connectClient() - key = self.client.key.CHK() - - myIdentifier = self.client.getFile(key, 'foo.txt') + myKey = self.client.key.key('KSK@foo') + myIdentifier = self.client.getFile(myKey, 'foo.txt') requestsAll = self.client.getRequests() def test_300_dda_denied(self): self.connectClient() - + myKey = self.client.key.key('KSK@foo') myIdentifier = self.client.getFile( - 'arbitrary-uri', + myKey, os.path.join(DIR, 'DDATest.txt') ) myRequest = self.client.getRequest(myIdentifier) @@ -1235,7 +1236,8 @@ def test_100_request_registered(self): self.connectClient() - myIdentifier = self.client.getKeyInfo('arbitrary-key') + myKey = self.client.key.key('KSK@foo') + myIdentifier = self.client.getKeyInfo(myKey) requestsAll = self.client.getRequests() self.failUnless(myIdentifier in requestsAll) myRequest = self.client.getRequest(myIdentifier) @@ -1243,15 +1245,16 @@ def test_200_key_object_is_accepted(self): self.connectClient() - key = self.client.key.CHK() + myKey = self.client.key.key('KSK@foo') - myIdentifier = self.client.getKeyInfo(key) + myIdentifier = self.client.getKeyInfo(myKey) requestsAll = self.client.getRequests() def test_300_getKeyInfo_Success(self): self.connectClient() - myIdentifier = self.client.getKeyInfo('arbitrary-uri') + myKey = self.client.key.key('KSK@foo') + myIdentifier = self.client.getKeyInfo(myKey) myRequest = self.client.getRequest(myIdentifier) requestsAll = self.client.getRequests() @@ -1287,7 +1290,8 @@ # test specdial case where ProtocolError.TooBig is handled as success # request a arbitrary uri - myIdentifier = self.client.getKeyInfo('arbitrary-uri') + myKey = self.client.key.key('KSK@foo') + myIdentifier = self.client.getKeyInfo(myKey) myRequest = self.client.getRequest(myIdentifier) requestsAll = self.client.getRequests() @@ -1317,7 +1321,8 @@ self.connectClient() # request a arbitrary file - myIdentifier = self.client.getKeyInfo('arbitrary-uri') + myKey = self.client.key.key('KSK@foo') + myIdentifier = self.client.getKeyInfo(myKey) myRequest = self.client.getRequest(myIdentifier) requestsAll = self.client.getRequests() @@ -1350,15 +1355,15 @@ def test_100_subscribeUSK_accepts_key_object(self): self.connectClient() - key = self.client.key.USK('123456789', 'foo', 0) + key = self.client.key.USK(client.key.DummyKeyData, 'foo', 0) myIdentifier = self.client.subscribeUSK(key) self.assertHasNextMessage( 'SubscribeUSK', - ('URI', key.toString()), + ('URI', key), ) - def test_200_subscribeUSK(self): + def XXXtest_200_subscribeUSK(self): self.connectClient() myIdentifier = self.client.subscribeUSK('arbitrary-key') myRequest = self.client.getRequest(myIdentifier) @@ -3326,11 +3331,10 @@ def test_11000_Subscribe(self): - myIdentifier = self.client.subscribeUSK('arbitrary') myRequest = self.client.getRequest(myIdentifier) requestsAll = self.client.getRequests() - + self.failUnless(myIdentifier in requestsAll) self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2008-06-29 12:39:07
|
Revision: 423 http://fclient.svn.sourceforge.net/fclient/?rev=423&view=rev Author: jUrner Date: 2008-06-29 05:39:15 -0700 (Sun, 29 Jun 2008) Log Message: ----------- got most of the tests to work again Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-06-29 12:38:23 UTC (rev 422) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-06-29 12:39:15 UTC (rev 423) @@ -360,8 +360,7 @@ #*********************************************************************************** class Test_connect(BaseTestClient): pass - - + #*********************************************************************************** # #*********************************************************************************** @@ -1346,104 +1345,38 @@ self.assertHasNextEvent(None) self.assertHasNextMessage(None) self.failUnless(self.ioOpen()) - - -#*********************************************************************************** -# -#*********************************************************************************** -class Test_subscribeUSK(BaseTestClient): - def test_100_subscribeUSK_accepts_key_object(self): - self.connectClient() - key = self.client.key.USK(client.key.DummyKeyData, 'foo', 0) - myIdentifier = self.client.subscribeUSK(key) - self.assertHasNextMessage( - 'SubscribeUSK', - ('URI', key), - ) - - - def XXXtest_200_subscribeUSK(self): - self.connectClient() - myIdentifier = self.client.subscribeUSK('arbitrary-key') - myRequest = self.client.getRequest(myIdentifier) - requestsAll = self.client.getRequests() - self.failUnless(myIdentifier in requestsAll) - myRequest = self.client.getRequest(myIdentifier) - self.assertEqual(myRequest['RequestType'], self.client.consts.RequestType.SubscribeUSK) - - self.assertHasNextMessage( - 'SubscribeUSK', - ('URI', 'arbitrary-key'), - ) - self.failUnless(myIdentifier in requestsAll) - - # usk update requests are permanent, so the completed flag shuld always be set - myRequest['RequestStatus'] == self.client.consts.RequestStatus.Completed - - self.sendResponseMessage( - 'SubscribedUSKUpdate', - Edition=99, - Identifier=myIdentifier, - URI='arbitrary-uri' - ) - - self.assertHasNextEvent( - self.client.events.USKUpdated, - 'SubscribeUSK', - ('Edition', 99), - ('Identifier', myIdentifier), - ('URI', 'arbitrary-key'), - ) - - - - -################################################### -################################################### -################################################### - - #*********************************************************************************** # #*********************************************************************************** -class TestDisconnectReason(BaseTestClient): +class Test_disconnectReason(BaseTestClient): def test_1000_DuplicateClientName(self): - + self.connectClient() self.sendResponseMessage('CloseConnectionDuplicateClientName') msg = self.assertHasNextEvent( self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.DuplicateClientName), ) - self.failUnless('Param' in msg.params) - self.assertEqual(msg['Param'], None) - + self.failIf(self.ioOpen()) self.assertHasNextEvent(None) - #print self.client.test_messagesSend[0].name self.assertHasNextMessage(None) - - self.connectClient() + - def test_1001_SocketDied_Receive(self): - + self.connectClient() self.getIO().setBroken(True) - self.assertRaises(iohandler.IOBroken, self.client.next) + self.assertRaises(consts.IOBrokenError, self.client.next) # check if ClientDisconnected events has been triggered msg = self.assertHasNextEvent( self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, - ('DisconnectReason', consts.DisconnectReason.SocketDied), - #('Param', ClientSocketDiedMessage) # can not test here + ('DisconnectReason', consts.DisconnectReason.ConnectionDied), ) - self.failUnless('Param' in msg.params) - # Param is now details of IOBroken exception, no idea how to test - #self.assertEqual(msg['Param'].name, consts.Message.ClientSocketDied) - + self.failIf(self.ioOpen()) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -1451,23 +1384,19 @@ def test_1002_SocketDied_Send(self): - + self.connectClient() self.getIO().setBroken(True) # send a test message - self.assertRaises(iohandler.IOBroken, self.client.sendMessage, message.newMessageType('test')()) + self.assertRaises(consts.IOBrokenError, self.client.sendMessage, message.newMessageType('test')()) # check if ClientDisconnected events has been triggered msg = self.assertHasNextEvent( self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, - ('DisconnectReason', consts.DisconnectReason.SocketDied), - #('Param', ClientSocketDiedMessage) # can not test here + ('DisconnectReason', consts.DisconnectReason.ConnectionDied), ) - self.failUnless('Param' in msg.params) - # Param is now details of IOBroken exception, no idea how to test - #self.assertEqual(msg['Param'].name, consts.Message.ClientSocketDied) - + self.failIf(self.ioOpen()) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -1475,9 +1404,9 @@ def test_1003_Shutdown(self): + self.connectClient() + self.client.closeNode() - self.client.closeFreenet() - msg = self.assertHasNextMessage(consts.Message.Shutdown) self.sendResponseMessage( 'ProtocolError', @@ -1488,13 +1417,9 @@ msg = self.assertHasNextEvent( self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, - ('DisconnectReason', consts.DisconnectReason.Shutdown) - #('Param', NodeHelloMessage) # can not test here + ('DisconnectReason', consts.DisconnectReason.NodeClosing) ) - self.failUnless('Param' in msg.params) - self.assertEqual(msg['Param'], None) - self.failIf(self.ioOpen()) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -1503,9 +1428,8 @@ def test_1004_VersionMismatch(self): - for n, nodeHello in enumerate(self.client.iterConnect(duration=1, timeout=0.1)): - if n == 1: + if n == 2: self.assertHasNextMessage( consts.Message.ClientHello ) @@ -1530,11 +1454,8 @@ self.client.events.ClientDisconnected, consts.Message.ClientDisconnected, ('DisconnectReason', consts.DisconnectReason.VersionMissmatch) - #('Param', NodeHelloMessage) # can not test here ) - self.failUnless('Param' in msg.params) - self.assertEqual(msg['Param'].name, consts.Message.NodeHello) - + self.failIf(self.ioOpen()) self.assertHasNextEvent(None) self.assertHasNextMessage(None) @@ -1543,7 +1464,7 @@ #*********************************************************************************** # #*********************************************************************************** -class TestClientGet(BaseTestClient): +class Test_clientGet(BaseTestClient): def test_2000_ClientGetRegistered(self): @@ -1969,7 +1890,7 @@ # SSK@, USK@ # putFile / PutDir TestDDA -class TestClientPut(BaseTestClient): +class Test_clientPut(BaseTestClient): def testPutRedirect_Success(self): # request a arbitrary file @@ -2351,13 +2272,16 @@ #*********************************************************************************** # #*********************************************************************************** -class TestRequests(BaseTestClient): +class Test_requests(BaseTestClient): def test_3000_ModifyRequest_Persistent(self): - + self.connectClient() + + # request a arbitrary file + myKey = self.client.key.key('KSK@foo') myIdentifier = self.client.getFile( - 'arbitrary-uri', + myKey, 'arbitryry.txt', persistentUserData='foo', priorityClass=consts.Priority.Medium, @@ -2401,10 +2325,12 @@ def test_3001_ModifyRequest_NonPersistent(self): - + self.connectClient() + # request a arbitrary file + myKey = self.client.key.key('KSK@foo') myIdentifier = self.client.getFile( - 'arbitrary-uri', + myKey, 'arbitryry.txt', persistentUserData='foo', priorityClass=consts.Priority.Medium, @@ -2448,11 +2374,13 @@ self.failIf(requestsAll) - def test_3002_RemoveRequest_NonPersistent(self): - + def test_3002_RemoveRequest(self): + self.connectClient() + # request a file + myKey = self.client.key.key('KSK@foo') myIdentifier = self.client.getFile( - 'arbitrary-uri', + myKey, 'arbitrary.txt' ) myRequest = self.client.getRequest(myIdentifier) @@ -2472,125 +2400,42 @@ # now cancel request self.client.removeRequest(myIdentifier) + self.assertHasNextMessage('RemoveRequest') - # of our request should be removed emidiately, + # of our request should be marked as removed self.assertEqual(myRequest['RequestStatus'], consts.RequestStatus.Removed | - consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed ) - self.failIf(myIdentifier in self.client.getRequests()) - - # now the request should have been removed - self.assertHasNextEvent( - self.client.events.RequestRemoved, - consts.Message.ClientGet, - ('RequestStatus', consts.RequestStatus.Removed | - consts.RequestStatus.RemovedFromQueue | - consts.RequestStatus.Completed - ), - ) - self.failIf(self.client.getRequests()) - self.assertHasNextEvent(None) - self.assertHasNextMessage(None) - self.failIf(requestsAll) - - - def test_3003_RemoveRequest_persistent(self): - - # request a file - myIdentifier = self.client.getFile( - 'arbitrary-uri', - 'arbitrary.txt', - persistence=consts.Persistence.Reboot, - ) - myRequest = self.client.getRequest(myIdentifier) - requestsAll = self.client.getRequests() - - self.assertHasNextMessage(consts.Message.ClientGet) - - # respond to the file request + # respond with a Getfailed self.sendResponseMessage( - 'PersistentGet', - Started='false', - **myRequest.params + 'GetFailed', + Code='25', # fetch error canceled + Identifier=myIdentifier, ) - - # ignore events and messages so far - self.events = [] - self.messages = [] - - # now cancel request - self.client.removeRequest(myIdentifier) - # status of our request should be set to removed emidiately, but it should - # not be removed from the client - self.assertEqual(myRequest['RequestStatus'], consts.RequestStatus.Removed | consts.RequestStatus.Completed) - self.failUnless(myIdentifier in self.client.getRequests()) - # client schould send a RemovePersistentRequest - self.assertHasNextMessage(consts.Message.RemovePersistentRequest) - - # respond with a PersistentRequestRemoved - self.sendResponseMessage( - 'PersistentRequestRemoved', - Identifier=myIdentifier, - ) - # now the request should have been removed - self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.RemovedFromQueue) - self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) self.assertHasNextEvent( self.client.events.RequestRemoved, consts.Message.ClientGet, ('RequestStatus', consts.RequestStatus.Removed | - consts.RequestStatus.RemovedFromQueue | - consts.RequestStatus.Completed - ), + consts.RequestStatus.RemovedFromQueue | + consts.RequestStatus.Completed + ), ) - - self.failIf(self.client.getRequests()) - self.assertHasNextEvent(None) - self.assertHasNextMessage(None) - - self.failIf(requestsAll) - - - - def test_3004_ResendRequest_NonPersistent(self): - - myIdentifier = self.client.getData('any-key') - myRequest = self.client.getRequest(myIdentifier) - requestsAll = self.client.getRequests() - self.assertHasNextMessage(consts.Message.ClientGet) - - newIdentifier = self.client.resendRequest(myRequest) - - # client should remove old request emidiately - self.failIf(myIdentifier == newIdentifier) self.failIf(myIdentifier in requestsAll) - self.failUnless(newIdentifier in requestsAll) - self.assertHasNextEvent( - self.client.events.RequestRemoved, - consts.Message.ClientGet, - ('RequestStatus', consts.RequestStatus.Removed | - consts.RequestStatus.RemovedFromQueue | - consts.RequestStatus.Completed - ), - ) - - self.assertHasNextMessage(consts.Message.ClientGet) - self.assertHasNextEvent(None) self.assertHasNextMessage(None) - del requestsAll[newIdentifier] self.failIf(requestsAll) + - def test_3005_ResendRequest_Persistent(self): + self.connectClient() - myIdentifier = self.client.getData('any-key', persistence=consts.Persistence.Reboot) + myKey = self.client.key.key('KSK@foo') + myIdentifier = self.client.getData(myKey, persistence=consts.Persistence.Reboot) myRequest = self.client.getRequest(myIdentifier) requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.ClientGet) @@ -2601,7 +2446,7 @@ # client should remove request from nodes queue self.assertHasNextMessage( - consts.Message.RemovePersistentRequest, + consts.Message.RemoveRequest, ('Identifier', myIdentifier) ) self.assertHasNextMessage( @@ -2609,9 +2454,13 @@ ('Identifier', newIdentifier) ) self.sendResponseMessage( - 'PersistentRequestRemoved', + 'GetFailed', + Code='25', Identifier=myIdentifier, ) + + + self.assertHasNextEvent( self.client.events.RequestRemoved, consts.Message.ClientGet, @@ -2632,7 +2481,7 @@ # #*********************************************************************************** #TODO: testRestoreClientPut and friends -class TestRestoreRequests(BaseTestClient): +class Test_restoreRequests(BaseTestClient): def test_4000_RestorePersistentGet_InvalidClientToken(self): @@ -2718,13 +2567,15 @@ #TODO: testDDAWriteDenied #TODO: testDDAWriteDenied_WriteDisallowed -class TestDDA(BaseTestClient): +class Test_DDA(BaseTestClient): def test_5000_DDAWriteDenied(self): - + self.connectClient() + # request a file + myKey = self.client.key.key('KSK@foo') myIdentifier = self.client.getFile( - 'arbitrary-uri', + myKey, os.path.join(DIR, 'DDATest.txt') ) myRequest = self.client.getRequest(myIdentifier) @@ -2821,10 +2672,12 @@ class TestCollisions(BaseTestClient): def test_6000_IdentifierCollision(self): - + self.connectClient() + # request a file + myKey = self.client.key.key('KSK@foo') myIdentifier = self.client.getFile( - 'arbitrary-uri', + myKey, os.path.join(DIR, 'test.txt') ) myRequest = self.client.getRequest(myIdentifier) @@ -2863,14 +2716,16 @@ def test_6001_FilenameCollision_HandleRename(self): - + self.connectClient() + # request a file fpath = os.path.join(DIR, 'test.txt') open(fpath, 'wb').close() self.tmpfiles.append(fpath) + myKey = self.client.key.key('KSK@foo') myIdentifier = self.client.getFile( - 'arbitrary-uri', + myKey, fpath, filenameCollision=consts.FilenameCollision.HandleRename, ) @@ -2917,14 +2772,16 @@ def test_6002_FilenameCollision_HandleNever(self): - + self.connectClient() + # request a file fpath = os.path.join(DIR, 'test.txt') open(fpath, 'wb').close() self.tmpfiles.append(fpath) + myKey = self.client.key.key('KSK@foo') myIdentifier = self.client.getFile( - 'arbitrary-uri', + myKey, fpath, filenameCollision=consts.FilenameCollision.HandleNever, ) @@ -2967,7 +2824,7 @@ # #*********************************************************************************** #TODO: some tests not yet implemented -class TestResendRequests(BaseTestClient): +class Test_resendRequests(BaseTestClient): def test_resend_CHK(self): myKey = 'CHK@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA/foo' @@ -3073,11 +2930,11 @@ #*********************************************************************************** # #*********************************************************************************** -class TestPlugins(BaseTestClient): +class Test_plugins(BaseTestClient): def testGet_8000_PluginInfo_Success(self): - + self.connectClient() myIdentifier = self.client.getPluginInfo('hi there') myRequest = self.client.getRequest(myIdentifier) requestsAll = self.client.getRequests() @@ -3117,6 +2974,7 @@ def test_8001_GetPluginInfo_Failure(self): + self.connectClient() myIdentifier = self.client.getPluginInfo('hi there') myRequest = self.client.getRequest(myIdentifier) requestsAll = self.client.getRequests() @@ -3155,7 +3013,7 @@ def test_8002_SendPluginMessage_Success(self): - + self.connectClient() myIdentifier = '123456789' myRequest = self.client.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"}) requestsAll = self.client.getRequests() @@ -3190,6 +3048,7 @@ def test_8003_GetSendPluginMessage_Failure(self): + self.connectClient() myIdentifier = '1234567889' myRequest = self.client.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"}) requestsAll = self.client.getRequests() @@ -3222,6 +3081,7 @@ def test_8003_GetSendPluginMessage_Identifiercollision(self): + self.connectClient() myIdentifier = '1234567889' myRequest = self.client.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"}) requestsAll = self.client.getRequests() @@ -3258,27 +3118,31 @@ #*********************************************************************************** # #*********************************************************************************** -class TestGenerateKeypair(BaseTestClient): +class Test_generateKeypair(BaseTestClient): def test_10000_GeberateSSKKeypair(self): + self.connectClient() + myIdentifier = self.client.generateKeypair(consts.KeyType.SSK) myRequest = self.client.getRequest(myIdentifier) requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.GenerateSSK) + priv = self.client.key.key('SSK@' + self.client.key.DummyKeyData + '/priv') + pub = self.client.key.key('SSK@' + self.client.key.DummyKeyData + '/pub') self.sendResponseMessage( 'SSKKeypair', Identifier=myIdentifier, - RequestURI='SSK@public', - InsertURI='SSK@private', + RequestURI=pub, + InsertURI=priv, ) msg = self.assertHasNextEvent( self.client.events.KeypairGenerated, consts.Message.GenerateSSK, ('Identifier', myIdentifier), - ('PublicKey','SSK@public'), - ('PrivateKey','SSK@private'), + ('PublicKey',pub), + ('PrivateKey',priv), ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed @@ -3293,24 +3157,30 @@ def test_10001_GeberateUSKKeypair(self): + self.connectClient() + myIdentifier = self.client.generateKeypair(consts.KeyType.USK) myRequest = self.client.getRequest(myIdentifier) requestsAll = self.client.getRequests() self.assertHasNextMessage(consts.Message.GenerateSSK) + priv = self.client.key.key('SSK@' + self.client.key.DummyKeyData + '/priv') + pub = self.client.key.key('SSK@' + self.client.key.DummyKeyData + '/pub') self.sendResponseMessage( 'SSKKeypair', Identifier=myIdentifier, - RequestURI='SSK@public', - InsertURI='SSK@private', + RequestURI=pub, + InsertURI=priv, ) + priv = self.client.key.USK(priv.keyData, filename=priv.filename) + pub = self.client.key.USK(pub.keyData, filename=pub.filename) msg = self.assertHasNextEvent( self.client.events.KeypairGenerated, consts.Message.GenerateSSK, ('Identifier', myIdentifier), - ('PublicKey','USK@public'), - ('PrivateKey','USK@private'), + ('PublicKey',pub), + ('PrivateKey',priv), ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed @@ -3323,44 +3193,46 @@ self.assertHasNextMessage(None) self.failIf(requestsAll) - #*********************************************************************************** # #*********************************************************************************** -class TestSubscribeUSK(BaseTestClient): - - - def test_11000_Subscribe(self): - myIdentifier = self.client.subscribeUSK('arbitrary') +class Test_subscribeUSK(BaseTestClient): + + def test_100_subscribeUSK(self): + self.connectClient() + + myKey = self.client.key.USK(client.key.DummyKeyData, 'foo', 0) + myIdentifier = self.client.subscribeUSK(myKey) myRequest = self.client.getRequest(myIdentifier) requestsAll = self.client.getRequests() - self.failUnless(myIdentifier in requestsAll) - self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed) + myRequest = self.client.getRequest(myIdentifier) + self.assertEqual(myRequest['RequestType'], self.client.consts.RequestType.SubscribeUSK) + + self.assertHasNextMessage( + 'SubscribeUSK', + ('URI', myKey), + ) + self.failUnless(myIdentifier in requestsAll) - self.assertHasNextMessage(consts.Message.SubscribeUSK) + # usk update requests are permanent, so the completed flag shuld always be set + myRequest['RequestStatus'] == self.client.consts.RequestStatus.Completed + self.sendResponseMessage( 'SubscribedUSKUpdate', - Identifier=myIdentifier, Edition=99, - URI='arbitryry/99/', + Identifier=myIdentifier, + URI=myKey ) - - msg = self.assertHasNextEvent( + + self.assertHasNextEvent( self.client.events.USKUpdated, - consts.Message.SubscribedUSKUpdate, - ('Identifier', myIdentifier), + 'SubscribeUSK', ('Edition', 99), - ('URI', 'arbitryry/99/'), + ('Identifier', myIdentifier), + ('URI', myKey), ) - self.assertHasNextEvent(None) - self.assertHasNextMessage(None) - - del requestsAll[myIdentifier] - self.failIf(requestsAll) - - - + #********************************************************************************* # #********************************************************************************* @@ -3386,19 +3258,18 @@ Test_getData, Test_getFile, Test_getKeyInfo, - Test_subscribeUSK, + Test_disconnectReason, - #TestDisconnectReason, - #TestClientGet, - #TestClientPut, - #TestRequests, - #TestRestoreRequests, - #TestResendRequests, - #TestDDA, - #TestCollisions, - #TestPlugins, - #TestGenerateKeypair, - #TestSubscribeUSK, + #Test_clientGet, + #Test_clientPut, + Test_requests, + #Test_restoreRequests, + #Test_resendRequests, + Test_DDA, + TestCollisions, + Test_plugins, + Test_generateKeypair, + Test_subscribeUSK, ) suite = unittest.TestSuite() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2008-06-29 16:21:12
|
Revision: 429 http://fclient.svn.sourceforge.net/fclient/?rev=429&view=rev Author: jUrner Date: 2008-06-29 09:21:17 -0700 (Sun, 29 Jun 2008) Log Message: ----------- added tests for putData and putRedirect Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-06-29 16:21:01 UTC (rev 428) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-06-29 16:21:17 UTC (rev 429) @@ -1887,16 +1887,18 @@ #*********************************************************************************** #TODO: # -# SSK@, USK@ -# putFile / PutDir TestDDA +# x. check if TargetFilename handling is ok for CHKs +# -class Test_clientPut(BaseTestClient): - - def testPutRedirect_Success(self): - # request a arbitrary file - myIdentifier = self.client.putRedirect( - 'my-redirect-name', - 'SSK@arbitrary-uri', +class Test_putData(BaseTestClient): + + def test_putData_Success(self): + self.connectClient() + + myKey = self.client.key.KSK('foo') + myIdentifier = self.client.putData( + myKey, + 'any data here' ) myRequest = self.client.getRequest(myIdentifier) requestsAll = self.client.getRequests() @@ -1907,7 +1909,7 @@ self.sendResponseMessage( 'PutSuccessful', Identifier=myIdentifier, - URI='KSK@my-redirect-name' + URI=myKey ) self.assertHasNextEvent( @@ -1921,15 +1923,18 @@ self.assertHasNextEvent(None) self.assertHasNextMessage(None) - self.failIf(requestsAll) - + self.failIf(requestsAll) - def testPutRedirect_Failure(self): - # request a arbitrary file - myIdentifier = self.client.putRedirect( - 'my-redirect-name', - 'SSK@arbitrary-uri', + + def test_putData_Failure(self): + self.connectClient() + + myKey = self.client.key.KSK('foo') + myIdentifier = self.client.putData( + myKey, + 'any data here' ) + myRequest = self.client.getRequest(myIdentifier) requestsAll = self.client.getRequests() @@ -1954,12 +1959,23 @@ self.assertHasNextEvent(None) self.assertHasNextMessage(None) self.failIf(requestsAll) - - def testCHKPutData_Success(self): + +#*********************************************************************************** +# +#*********************************************************************************** +class Test_putRedirect(BaseTestClient): + + + def testPutRedirect_Success(self): + self.connectClient() + # request a arbitrary file - myIdentifier = self.client.chkPutData( - 'arbitrary data' + myRedirect = self.client.key.KSK('foo') + myKey = self.client.key.key('CHK@' + self.client.key.DummyKeyData) + myIdentifier = self.client.putRedirect( + myRedirect, + myKey, ) myRequest = self.client.getRequest(myIdentifier) requestsAll = self.client.getRequests() @@ -1970,7 +1986,7 @@ self.sendResponseMessage( 'PutSuccessful', Identifier=myIdentifier, - URI='CHK@my-redirect-name' + URI=myRedirect ) self.assertHasNextEvent( @@ -1987,10 +2003,15 @@ self.failIf(requestsAll) - def testCHKPutData_Failure(self): + def testPutRedirect_Failure(self): + self.connectClient() + # request a arbitrary file - myIdentifier = self.client.chkPutData( - 'arbitrary data' + myRedirect = self.client.key.KSK('foo') + myKey = self.client.key.key('CHK@' + self.client.key.DummyKeyData) + myIdentifier = self.client.putRedirect( + myRedirect, + myKey, ) myRequest = self.client.getRequest(myIdentifier) requestsAll = self.client.getRequests() @@ -2016,9 +2037,13 @@ self.assertHasNextEvent(None) self.assertHasNextMessage(None) self.failIf(requestsAll) - - def testCHKPutDir_Success(self): + + + +class Test_clientPut(BaseTestClient): + + def XXXtestCHKPutDir_Success(self): # request a arbitrary file myIdentifier = self.client.chkPutDir( 'myDirectory' @@ -2049,7 +2074,7 @@ self.failIf(requestsAll) - def testCHKPutDir_Failure(self): + def XXXtestCHKPutDir_Failure(self): # request a arbitrary file myIdentifier = self.client.chkPutDir( 'myDirectory' @@ -2080,7 +2105,7 @@ self.failIf(requestsAll) - def testCHKPutFile_Success(self): + def XXXtestCHKPutFile_Success(self): # request a arbitrary file myIdentifier = self.client.chkPutFile( 'myFile.txt' @@ -2111,7 +2136,7 @@ self.failIf(requestsAll) - def testCHKPutFile_Failure(self): + def XXXtestCHKPutFile_Failure(self): # request a arbitrary file myIdentifier = self.client.chkPutFile( 'myFile.txt' @@ -2143,7 +2168,7 @@ - def testCHKPutMultiple_Success(self): + def XXXtestCHKPutMultiple_Success(self): items = [ { @@ -2221,7 +2246,7 @@ self.failIf(requestsAll) - def testCHKPutMultiple_ItemErrors(self): + def XXXtestCHKPutMultiple_ItemErrors(self): # upload directory is not allowed @@ -3245,23 +3270,32 @@ Test_iterConnect, Test_CloseConnectionDuplicateClientName, Test_closeNode, + Test_disconnectReason, + Test_get_setConnectionName, Test_get_setDebugVerbosity, Test_startNode, Test_versionCheckNodeHello, + Test_handleMessage, Test_next, Test_run, Test_sendMessage, Test_getConfig, Test_modifyConfig, + Test_getData, Test_getFile, Test_getKeyInfo, - Test_disconnectReason, + Test_putData, + Test_putRedirect, + + #Test_putData, + #Test_clientPut, + #Test_clientGet, - #Test_clientPut, + Test_requests, #Test_restoreRequests, #Test_resendRequests, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2008-06-30 08:58:32
|
Revision: 435 http://fclient.svn.sourceforge.net/fclient/?rev=435&view=rev Author: jUrner Date: 2008-06-30 01:58:39 -0700 (Mon, 30 Jun 2008) Log Message: ----------- more tests Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-06-30 08:57:58 UTC (rev 434) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-06-30 08:58:39 UTC (rev 435) @@ -341,8 +341,6 @@ ('DisconnectReason', consts.DisconnectReason.Close), ) - - #*********************************************************************************** # #*********************************************************************************** @@ -356,8 +354,9 @@ self.failIf(self.client.isOpen()) #*********************************************************************************** -#TODO: not idea how to test this +# #*********************************************************************************** +#TODO: not idea how to test this class Test_connect(BaseTestClient): pass @@ -642,10 +641,10 @@ self.closeClient() #*********************************************************************************** -# TODO: no idea how t test this +# #*********************************************************************************** +# TODO: no idea how t test this class Test_startNode(BaseTestClient): - pass #*********************************************************************************** @@ -659,25 +658,21 @@ self.client.setConnectionName('foo') self.failIf(self.client.getConnectionName() != 'foo') - #*********************************************************************************** # #*********************************************************************************** class Test_get_setDebugVerbosity(BaseTestClient): - def test_get_setDebugVerbosity(self): oldVerbosity = self.client.getDebugVerbosity() self.client.setDebugVerbosity(self.client.consts.DebugVerbosity.Quiet) self.client.setDebugVerbosity(oldVerbosity) - #*********************************************************************************** # #*********************************************************************************** class Test_versionCheckNodeHello(BaseTestClient): - def test_get_versionCheckNodeHello(self): msg = { @@ -716,8 +711,9 @@ self.failUnless(result == True) #*********************************************************************************** -# TODO: not tested +# #*********************************************************************************** +# TODO: not tested class Test_handleMessage(BaseTestClient): pass @@ -764,13 +760,12 @@ self.assertHasNextEvent(None) self.assertHasNextMessage(None) self.failUnless(self.ioOpen()) - #*********************************************************************************** -#TODO: not tested yet +# #*********************************************************************************** +#TODO: not tested class Test_run(BaseTestClient): - pass #*********************************************************************************** @@ -869,9 +864,8 @@ self.assertHasNextMessage(None) self.failUnless(self.ioOpen()) - #*********************************************************************************** -# NOTE: all the in depth tests for getFile() getKeyInfo() are performed here +# #*********************************************************************************** class Test_getData(BaseTestClient): @@ -1885,11 +1879,7 @@ #*********************************************************************************** # #*********************************************************************************** -#TODO: -# -# x. check if TargetFilename handling is ok for CHKs -# - +#TODO: check if TargetFilename handling is ok for CHKs class Test_putData(BaseTestClient): def test_putData_Success(self): @@ -1959,93 +1949,16 @@ self.assertHasNextEvent(None) self.assertHasNextMessage(None) self.failIf(requestsAll) - - #*********************************************************************************** # -#*********************************************************************************** -class Test_putRedirect(BaseTestClient): - - - def testPutRedirect_Success(self): +#*********************************************************************************** +class Test_putDir(BaseTestClient): + def test_putDir_Success(self): self.connectClient() - - # request a arbitrary file - myRedirect = self.client.key.KSK('foo') - myKey = self.client.key.key('CHK@' + self.client.key.DummyKeyData) - myIdentifier = self.client.putRedirect( - myRedirect, - myKey, - ) - myRequest = self.client.getRequest(myIdentifier) - requestsAll = self.client.getRequests() - - self.assertHasNextMessage(consts.Message.ClientPut) - self.failUnless(myIdentifier in requestsAll) - - self.sendResponseMessage( - 'PutSuccessful', - Identifier=myIdentifier, - URI=myRedirect - ) - self.assertHasNextEvent( - self.client.events.RequestCompleted, - consts.Message.ClientPut, - ('RequestStatus', consts.RequestStatus.Success | - consts.RequestStatus.RemovedFromQueue | - consts.RequestStatus.Completed - ), - ) - - self.assertHasNextEvent(None) - self.assertHasNextMessage(None) - self.failIf(requestsAll) - - - def testPutRedirect_Failure(self): - self.connectClient() - - # request a arbitrary file - myRedirect = self.client.key.KSK('foo') - myKey = self.client.key.key('CHK@' + self.client.key.DummyKeyData) - myIdentifier = self.client.putRedirect( - myRedirect, + myKey = self.client.key.KSK('foo') + myIdentifier = self.client.putDir( myKey, - ) - myRequest = self.client.getRequest(myIdentifier) - requestsAll = self.client.getRequests() - - self.assertHasNextMessage(consts.Message.ClientPut) - self.failUnless(myIdentifier in requestsAll) - - self.sendResponseMessage( - 'PutFailed', - Identifier=myIdentifier, - Code='5', # rout not found - ) - - self.assertHasNextEvent( - self.client.events.RequestFailed, - consts.Message.ClientPut, - ('RequestStatus', consts.RequestStatus.Error | - consts.RequestStatus.RemovedFromQueue | - consts.RequestStatus.Completed - ), - ) - - self.assertHasNextEvent(None) - self.assertHasNextMessage(None) - self.failIf(requestsAll) - - - - -class Test_clientPut(BaseTestClient): - - def XXXtestCHKPutDir_Success(self): - # request a arbitrary file - myIdentifier = self.client.chkPutDir( 'myDirectory' ) myRequest = self.client.getRequest(myIdentifier) @@ -2057,7 +1970,7 @@ self.sendResponseMessage( 'PutSuccessful', Identifier=myIdentifier, - URI='CHK@my-redirect-name' + URI=myKey ) self.assertHasNextEvent( @@ -2071,12 +1984,15 @@ self.assertHasNextEvent(None) self.assertHasNextMessage(None) - self.failIf(requestsAll) - + self.failIf(requestsAll) + + + def test_putDir_Failure(self): + self.connectClient() - def XXXtestCHKPutDir_Failure(self): - # request a arbitrary file - myIdentifier = self.client.chkPutDir( + myKey = self.client.key.KSK('foo') + myIdentifier = self.client.putDir( + myKey, 'myDirectory' ) myRequest = self.client.getRequest(myIdentifier) @@ -2104,10 +2020,17 @@ self.assertHasNextMessage(None) self.failIf(requestsAll) - - def XXXtestCHKPutFile_Success(self): - # request a arbitrary file - myIdentifier = self.client.chkPutFile( +#*********************************************************************************** +# +#*********************************************************************************** +class Test_putFile(BaseTestClient): + + def test_putFile_Success(self): + self.connectClient() + + myKey = self.client.key.KSK('foo') + myIdentifier = self.client.putFile( + myKey, 'myFile.txt' ) myRequest = self.client.getRequest(myIdentifier) @@ -2119,7 +2042,7 @@ self.sendResponseMessage( 'PutSuccessful', Identifier=myIdentifier, - URI='CHK@my-redirect-name' + URI=myKey ) self.assertHasNextEvent( @@ -2134,11 +2057,14 @@ self.assertHasNextEvent(None) self.assertHasNextMessage(None) self.failIf(requestsAll) - + + + def test_putFile_Failure(self): + self.connectClient() - def XXXtestCHKPutFile_Failure(self): - # request a arbitrary file - myIdentifier = self.client.chkPutFile( + myKey = self.client.key.KSK('foo') + myIdentifier = self.client.putFile( + myKey, 'myFile.txt' ) myRequest = self.client.getRequest(myIdentifier) @@ -2164,11 +2090,14 @@ self.assertHasNextEvent(None) self.assertHasNextMessage(None) - self.failIf(requestsAll) + self.failIf(requestsAll) - - - def XXXtestCHKPutMultiple_Success(self): +#*********************************************************************************** +# +#*********************************************************************************** +class Test_putMultiple(BaseTestClient): + def test_putMultiple_Success(self): + self.connectClient() items = [ { @@ -2194,7 +2123,9 @@ ] # request a arbitrary file - myIdentifier = self.client.chkPutMultiple( + myKey = self.client.key.KSK('foo') + myIdentifier = self.client.putMultiple( + myKey, items ) myRequest = self.client.getRequest(myIdentifier) @@ -2229,7 +2160,7 @@ self.sendResponseMessage( 'PutSuccessful', Identifier=myIdentifier, - URI='CHK@my-redirect-name' + URI=myKey ) self.assertHasNextEvent( @@ -2243,11 +2174,11 @@ self.assertHasNextEvent(None) self.assertHasNextMessage(None) - self.failIf(requestsAll) + self.failIf(requestsAll) - - def XXXtestCHKPutMultiple_ItemErrors(self): - + + def test_putMultiple_ItemErrors(self): + self.connectClient() # upload directory is not allowed items = [ @@ -2257,7 +2188,8 @@ 'Name': 'myItem0', }, ] - self.assertRaises(ValueError, self.client.chkPutMultiple, items) + myKey = self.client.key.KSK('foo') + self.assertRaises(ValueError, self.client.putMultiple, myKey, items) #TODO: how to test required params? # ...just some samples below @@ -2270,7 +2202,7 @@ 'Name': 'myItem0', }, ] - self.assertRaises(ValueError, self.client.chkPutMultiple, items) + self.assertRaises(ValueError, self.client.putMultiple, myKey, items) # param missing (we enforce all required parameters) items = [ @@ -2280,26 +2212,91 @@ #'Name': 'myItem0', }, ] - self.assertRaises(ValueError, self.client.chkPutMultiple, items) + self.assertRaises(ValueError, self.client.putMultiple, myKey, items) +#*********************************************************************************** +# +#*********************************************************************************** +class Test_putRedirect(BaseTestClient): - # some sloppy tests for other key types - def testSSKPutData(self): - myIdentifier = self.client.chkPutData( - 'arbitrary data' + + def testPutRedirect_Success(self): + self.connectClient() + + # request a arbitrary file + myRedirect = self.client.key.KSK('foo') + myKey = self.client.key.key('CHK@' + self.client.key.DummyKeyData) + myIdentifier = self.client.putRedirect( + myRedirect, + myKey, ) + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() + + self.assertHasNextMessage(consts.Message.ClientPut) + self.failUnless(myIdentifier in requestsAll) + + self.sendResponseMessage( + 'PutSuccessful', + Identifier=myIdentifier, + URI=myRedirect + ) + + self.assertHasNextEvent( + self.client.events.RequestCompleted, + consts.Message.ClientPut, + ('RequestStatus', consts.RequestStatus.Success | + consts.RequestStatus.RemovedFromQueue | + consts.RequestStatus.Completed + ), + ) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(requestsAll) - + + def testPutRedirect_Failure(self): + self.connectClient() + + # request a arbitrary file + myRedirect = self.client.key.KSK('foo') + myKey = self.client.key.key('CHK@' + self.client.key.DummyKeyData) + myIdentifier = self.client.putRedirect( + myRedirect, + myKey, + ) + myRequest = self.client.getRequest(myIdentifier) + requestsAll = self.client.getRequests() + + self.assertHasNextMessage(consts.Message.ClientPut) + self.failUnless(myIdentifier in requestsAll) + + self.sendResponseMessage( + 'PutFailed', + Identifier=myIdentifier, + Code='5', # rout not found + ) + + self.assertHasNextEvent( + self.client.events.RequestFailed, + consts.Message.ClientPut, + ('RequestStatus', consts.RequestStatus.Error | + consts.RequestStatus.RemovedFromQueue | + consts.RequestStatus.Completed + ), + ) + + self.assertHasNextEvent(None) + self.assertHasNextMessage(None) + self.failIf(requestsAll) - - - #*********************************************************************************** # #*********************************************************************************** -class Test_requests(BaseTestClient): - - def test_3000_ModifyRequest_Persistent(self): +class Test_modifyRequest(BaseTestClient): + + def test_modifyRequest_Persistent(self): self.connectClient() @@ -2349,7 +2346,7 @@ self.failIf(requestsAll) - def test_3001_ModifyRequest_NonPersistent(self): + def test_modifyRequest_NonPersistent(self): self.connectClient() # request a arbitrary file @@ -2397,9 +2394,12 @@ del requestsAll[myIdentifier] self.failIf(requestsAll) +#*********************************************************************************** +# +#*********************************************************************************** +class Test_removeRequest(BaseTestClient): - - def test_3002_RemoveRequest(self): + def test_removeRequest(self): self.connectClient() # request a file @@ -2454,82 +2454,32 @@ self.assertHasNextMessage(None) self.failIf(requestsAll) - - def test_3005_ResendRequest_Persistent(self): - self.connectClient() - - myKey = self.client.key.key('KSK@foo') - myIdentifier = self.client.getData(myKey, persistence=consts.Persistence.Reboot) - myRequest = self.client.getRequest(myIdentifier) - requestsAll = self.client.getRequests() - self.assertHasNextMessage(consts.Message.ClientGet) - - newIdentifier = self.client.resendRequest(myRequest) - self.failIf(myIdentifier == newIdentifier) - self.failUnless(newIdentifier in requestsAll) - - # client should remove request from nodes queue - self.assertHasNextMessage( - consts.Message.RemoveRequest, - ('Identifier', myIdentifier) - ) - self.assertHasNextMessage( - consts.Message.ClientGet, - ('Identifier', newIdentifier) - ) - self.sendResponseMessage( - 'GetFailed', - Code='25', - Identifier=myIdentifier, - ) - - - - self.assertHasNextEvent( - self.client.events.RequestRemoved, - consts.Message.ClientGet, - ('RequestStatus', consts.RequestStatus.Removed | - consts.RequestStatus.RemovedFromQueue | - consts.RequestStatus.Completed - ), - ) - - self.failUnless(newIdentifier in requestsAll) - self.failIf(myIdentifier in requestsAll) - - del requestsAll[newIdentifier] - self.failIf(requestsAll) - - #*********************************************************************************** # #*********************************************************************************** #TODO: testRestoreClientPut and friends class Test_restoreRequests(BaseTestClient): - def test_4000_RestorePersistentGet_InvalidClientToken(self): + def test_restorePersistentGet_invalidClientToken(self): + self.connectClient() # throw an invalid PersistentRequest at the client myIdentifier = '123456789' - self.sendResponseMessage( - 'PersistentGet', - Identifier=myIdentifier, - Global='false', - ClientToken='i-am-invalid', - ReturnType='disk', - Verbosity='1', - PersistenceType='forever', - Started='false', - Global='false', - ) + self.assertRaises( + consts.MessageParseError, + self.sendResponseMessage, + 'PersistentGet', + Identifier=myIdentifier, + Global='false', + ClientToken='i-am-invalid', # me is invalid ...me! + ReturnType='disk', + Verbosity='1', + PersistenceType='forever', + Started='false', + Global='false', + ) - # the client should now to cancel the request - self.assertHasNextMessage( - consts.Message.RemovePersistentRequest, - ('Identifier', myIdentifier) - ) - requests = self.client.getRequests() self.failIf(requests) @@ -2538,11 +2488,13 @@ self.assertHasNextMessage(None) - def test_4001_RestorePersistentGet_ValidIdentifier(self): - + def test_restorePersistentGet_validIdentifier(self): + self.connectClient() + # we need a valid identifier to restore a request, so hack a bit + myKey = self.client.key.key('KSK@foo') myIdentifier = self.client.getFile( - 'arbitrary-uri', + myKey, 'arbitryry.txt' ) myRequest = self.client.getRequest(myIdentifier) @@ -2555,9 +2507,9 @@ 'PersistentRequestRemoved', Identifier=myIdentifier, ) - self.messages = [] - self.events = [] - + self.assertHasNextMessage(self.client.message.RemoveRequest.name) + self.assertHasNextEvent(self.client.events.RequestRemoved) + # throw a PersistentGet at the client with the identifier we hacked self.sendResponseMessage( 'PersistentGet', @@ -2591,10 +2543,9 @@ #TODO: testDDAReadDenied_ReadDissallowed #TODO: testDDAWriteDenied #TODO: testDDAWriteDenied_WriteDisallowed - class Test_DDA(BaseTestClient): - def test_5000_DDAWriteDenied(self): + def test_DDAWriteDenied(self): self.connectClient() # request a file @@ -2696,7 +2647,7 @@ #*********************************************************************************** class TestCollisions(BaseTestClient): - def test_6000_IdentifierCollision(self): + def test_identifierCollision(self): self.connectClient() # request a file @@ -2740,7 +2691,7 @@ self.failIf(requestsAll) - def test_6001_FilenameCollision_HandleRename(self): + def test_filenameCollision_HandleRename(self): self.connectClient() # request a file @@ -2796,7 +2747,7 @@ self.failIf(requestsAll) - def test_6002_FilenameCollision_HandleNever(self): + def test_filenameCollision_HandleNever(self): self.connectClient() # request a file @@ -2848,113 +2799,6 @@ #*********************************************************************************** # #*********************************************************************************** -#TODO: some tests not yet implemented -class Test_resendRequests(BaseTestClient): - - def test_resend_CHK(self): - myKey = 'CHK@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA/foo' - msg = message.ClientPut( - URI=myKey, - Persistence=consts.Persistence.Connection, - ) - self.client._registerRequest(msg, consts.RequestType.PutData) - myIdentifier = msg['Identifier'] - requestsAll = self.client.getRequests() - - newIdentifier = self.client.resendRequest(msg) - - self.failIf(myIdentifier in requestsAll) - self.failUnless(newIdentifier in requestsAll) - - self.assertHasNextMessage( - consts.Message.ClientPut, - ('URI', 'CHK@') - ) - - def test_resend_SSK(self): - myKey = 'SSK@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA' - msg = message.ClientPut( - URI=myKey + '/foo', - Persistence=consts.Persistence.Connection, - ) - self.client._registerRequest(msg, consts.RequestType.PutData) - msg['PrivateKey'] = myKey - myIdentifier = msg['Identifier'] - requestsAll = self.client.getRequests() - - newIdentifier = self.client.resendRequest(msg) - - self.failIf(myIdentifier in requestsAll) - self.failUnless(newIdentifier in requestsAll) - - self.assertHasNextMessage( - consts.Message.ClientPut, - ('URI', myKey + '/foo') - ) - - - def test_resend_USK(self): - myKey = 'USK@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA' - msg = message.ClientPut( - URI=myKey + '/foo/0', - Persistence=consts.Persistence.Connection, - ) - self.client._registerRequest(msg, consts.RequestType.PutData) - msg['PrivateKey'] = myKey - myIdentifier = msg['Identifier'] - requestsAll = self.client.getRequests() - - newIdentifier = self.client.resendRequest(msg) - - self.failIf(myIdentifier in requestsAll) - self.failUnless(newIdentifier in requestsAll) - - self.assertHasNextMessage( - consts.Message.ClientPut, - ('URI', myKey + '/foo') - ) - - def test_resend_KSK(self): - myKey = 'KSK@abs' - msg = message.ClientPut( - URI=myKey, - Persistence=consts.Persistence.Connection, - ) - self.client._registerRequest(msg, consts.RequestType.PutData) - msg['PrivateKey'] = myKey - myIdentifier = msg['Identifier'] - requestsAll = self.client.getRequests() - - newIdentifier = self.client.resendRequest(msg) - - self.failIf(myIdentifier in requestsAll) - self.failUnless(newIdentifier in requestsAll) - - self.assertHasNextMessage( - consts.Message.ClientPut, - ('URI', myKey) - ) - - - - def test_resend_getKeyInfo(self): - pass - - def test_resend_getData(self): - pass - - def test_resend_getFile(self): - pass - - def test_resend_getFile(self): - pass - - def test_resend_unsupportedRequest(self): - pass - -#*********************************************************************************** -# -#*********************************************************************************** class Test_plugins(BaseTestClient): @@ -3136,11 +2980,7 @@ self.assertHasNextMessage(None) self.failIf(requestsAll) - #*********************************************************************************** -#TODO: class TestConfig(BaseTestConnectedClient): - -#*********************************************************************************** # #*********************************************************************************** class Test_generateKeypair(BaseTestClient): @@ -3166,8 +3006,8 @@ self.client.events.KeypairGenerated, consts.Message.GenerateSSK, ('Identifier', myIdentifier), - ('PublicKey',pub), - ('PrivateKey',priv), + ('RequestURI',pub), + ('InsertURI',priv), ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed @@ -3204,8 +3044,8 @@ self.client.events.KeypairGenerated, consts.Message.GenerateSSK, ('Identifier', myIdentifier), - ('PublicKey',pub), - ('PrivateKey',priv), + ('RequestURI',pub), + ('InsertURI',priv), ('RequestStatus', consts.RequestStatus.Success | consts.RequestStatus.RemovedFromQueue | consts.RequestStatus.Completed @@ -3289,16 +3129,15 @@ Test_getKeyInfo, Test_putData, + Test_putDir, + Test_putFile, + Test_putMultiple, Test_putRedirect, + + Test_modifyRequest, + Test_removeRequest, - #Test_putData, - #Test_clientPut, - - #Test_clientGet, - - Test_requests, - #Test_restoreRequests, - #Test_resendRequests, + Test_restoreRequests, Test_DDA, TestCollisions, Test_plugins, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2008-06-30 11:02:34
|
Revision: 441 http://fclient.svn.sourceforge.net/fclient/?rev=441&view=rev Author: jUrner Date: 2008-06-30 04:01:49 -0700 (Mon, 30 Jun 2008) Log Message: ----------- refactor plugin message tests Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-06-30 09:38:21 UTC (rev 440) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-06-30 11:01:49 UTC (rev 441) @@ -2799,10 +2799,9 @@ #*********************************************************************************** # #*********************************************************************************** -class Test_plugins(BaseTestClient): +class Test_getPluginInfo(BaseTestClient): - - def testGet_8000_PluginInfo_Success(self): + def test_getPluginInfo_Success(self): self.connectClient() myIdentifier = self.client.getPluginInfo('hi there') myRequest = self.client.getRequest(myIdentifier) @@ -2839,10 +2838,9 @@ self.assertHasNextMessage(None) self.failIf(requestsAll) - - def test_8001_GetPluginInfo_Failure(self): + def test_getPluginInfo_Failure(self): self.connectClient() myIdentifier = self.client.getPluginInfo('hi there') myRequest = self.client.getRequest(myIdentifier) @@ -2879,9 +2877,13 @@ self.assertHasNextMessage(None) self.failIf(requestsAll) - - - def test_8002_SendPluginMessage_Success(self): + +#*********************************************************************************** +# +#*********************************************************************************** +class Test_sendPluginMessage(BaseTestClient): + + def test_sendPluginMessage_Success(self): self.connectClient() myIdentifier = '123456789' myRequest = self.client.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"}) @@ -2916,7 +2918,7 @@ self.failIf(requestsAll) - def test_8003_GetSendPluginMessage_Failure(self): + def test_sendPluginMessage_Failure(self): self.connectClient() myIdentifier = '1234567889' myRequest = self.client.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"}) @@ -2949,7 +2951,7 @@ self.failIf(requestsAll) - def test_8003_GetSendPluginMessage_Identifiercollision(self): + def test_sendPluginMessage_Identifiercollision(self): self.connectClient() myIdentifier = '1234567889' myRequest = self.client.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"}) @@ -3140,7 +3142,8 @@ Test_restoreRequests, Test_DDA, TestCollisions, - Test_plugins, + Test_getPluginInfo, + Test_sendPluginMessage, Test_generateKeypair, Test_subscribeUSK, ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jU...@us...> - 2008-06-30 11:12:48
|
Revision: 442 http://fclient.svn.sourceforge.net/fclient/?rev=442&view=rev Author: jUrner Date: 2008-06-30 04:12:57 -0700 (Mon, 30 Jun 2008) Log Message: ----------- added boilerplate code for more tests Modified Paths: -------------- trunk/sandbox/fcp2/test_fcp/test_client.py Modified: trunk/sandbox/fcp2/test_fcp/test_client.py =================================================================== --- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-06-30 11:01:49 UTC (rev 441) +++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-06-30 11:12:57 UTC (rev 442) @@ -2795,10 +2795,46 @@ #*********************************************************************************** # #*********************************************************************************** -#TODO: class TestNodeAndPeers(BaseTestConnectedClient): +#TODO: not tested +class Test_getNode(BaseTestClient): pass #*********************************************************************************** # #*********************************************************************************** +#TODO: not tested +class Test_listPeer(BaseTestClient): pass +#*********************************************************************************** +# +#*********************************************************************************** +#TODO: not tested +class Test_listPeers(BaseTestClient): pass +#*********************************************************************************** +# +#*********************************************************************************** +#TODO: not tested +class Test_listPeerNotes(BaseTestClient): pass +#*********************************************************************************** +# +#*********************************************************************************** +#TODO: not tested +class Test_modifyPeer(BaseTestClient): pass +#*********************************************************************************** +# +#*********************************************************************************** +#TODO: not tested +class Test_modifyPeer(BaseTestClient): pass +#*********************************************************************************** +# +#*********************************************************************************** +#TODO: not tested +class Test_modifyPeerNote(BaseTestClient): pass +#*********************************************************************************** +# +#*********************************************************************************** +#TODO: not tested +class Test_removePeer(BaseTestClient): pass +#*********************************************************************************** +# +#*********************************************************************************** class Test_getPluginInfo(BaseTestClient): def test_getPluginInfo_Success(self): @@ -3138,14 +3174,21 @@ Test_modifyRequest, Test_removeRequest, + Test_restoreRequests, - Test_restoreRequests, Test_DDA, TestCollisions, Test_getPluginInfo, Test_sendPluginMessage, Test_generateKeypair, Test_subscribeUSK, + + Test_getNode, + Test_listPeer, + Test_listPeers, + Test_listPeerNotes, + Test_modifyPeerNote, + Test_removePeer, ) suite = unittest.TestSuite() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |