SF.net SVN: fclient: [195] trunk/sandbox/fcp/test_fcp/test_fcp2_0_client.py
Status: Pre-Alpha
Brought to you by:
jurner
|
From: <ju...@us...> - 2008-02-09 09:34:51
|
Revision: 195
http://fclient.svn.sourceforge.net/fclient/?rev=195&view=rev
Author: jurner
Date: 2008-02-09 01:34:57 -0800 (Sat, 09 Feb 2008)
Log Message:
-----------
added plugin message test cases
Modified Paths:
--------------
trunk/sandbox/fcp/test_fcp/test_fcp2_0_client.py
Modified: trunk/sandbox/fcp/test_fcp/test_fcp2_0_client.py
===================================================================
--- trunk/sandbox/fcp/test_fcp/test_fcp2_0_client.py 2008-02-09 09:34:37 UTC (rev 194)
+++ trunk/sandbox/fcp/test_fcp/test_fcp2_0_client.py 2008-02-09 09:34:57 UTC (rev 195)
@@ -483,7 +483,7 @@
'arbitrary-uri',
)
myRequest = self.fcpClient.getRequest(myIdentifier)
- allRequests = self.fcpClient.getRequests()
+ requestsAll = self.fcpClient.getRequests()
# respond to the file request
self.sendResponseMessage(
@@ -534,18 +534,17 @@
self.assertHasNextEvent(
self.fcpClient.events.RequestCompleted,
consts.Message.ClientGet,
- ('FcRequestStatus', consts.RequestStatus.Null |
- consts.RequestStatus.Success |
- consts.RequestStatus.RemovedFromQueue
- ),
+ ('FcRequestStatus', consts.RequestStatus.Success |
+ consts.RequestStatus.RemovedFromQueue
+ ),
data=data
)
- self.failIf(myIdentifier in allRequests)
+ self.failIf(myIdentifier in requestsAll)
self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed)
# cheat a bit to test peristence == Forever (client should not remove request)
- allRequests[myIdentifier] =myRequest
+ requestsAll[myIdentifier] =myRequest
myRequest['Persistence'] = consts.Persistence.Forever
myRequest['FcRequestStatus'] &= ~(consts.RequestStatus.Success |
consts.RequestStatus.Completed |
@@ -563,11 +562,10 @@
self.assertHasNextEvent(
self.fcpClient.events.RequestCompleted,
consts.Message.ClientGet,
- ('FcRequestStatus', consts.RequestStatus.Null |
- consts.RequestStatus.Success),
+ ('FcRequestStatus', consts.RequestStatus.Success),
data=data
)
- self.failUnless(myIdentifier in allRequests)
+ self.failUnless(myIdentifier in requestsAll)
self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed)
self.assertHasNextEvent(None)
@@ -579,7 +577,7 @@
'arbitrary-uri',
)
myRequest = self.fcpClient.getRequest(myIdentifier)
- allRequests = self.fcpClient.getRequests()
+ requestsAll = self.fcpClient.getRequests()
# respond to the file request
self.sendResponseMessage(
@@ -601,10 +599,9 @@
self.assertHasNextEvent(
self.fcpClient.events.RequestFailed,
consts.Message.ClientGet,
- ('FcRequestStatus', consts.RequestStatus.Null |
- consts.RequestStatus.Error |
- consts.RequestStatus.RemovedFromQueue
- )
+ ('FcRequestStatus', consts.RequestStatus.Error |
+ consts.RequestStatus.RemovedFromQueue
+ ),
)
self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed)
self.assertHasNextEvent(None)
@@ -613,7 +610,7 @@
# cheat a bit to test peristence == Forever (client should not remove request)
- allRequests[myIdentifier] =myRequest
+ requestsAll[myIdentifier] =myRequest
myRequest['Persistence'] = consts.Persistence.Forever
myRequest['FcRequestStatus'] &= ~(consts.RequestStatus.Error |
consts.RequestStatus.Completed |
@@ -631,11 +628,9 @@
self.assertHasNextEvent(
self.fcpClient.events.RequestFailed,
consts.Message.ClientGet,
- ('FcRequestStatus', consts.RequestStatus.Null |
- consts.RequestStatus.Error
- ),
+ ('FcRequestStatus', consts.RequestStatus.Error),
)
- self.failUnless(myIdentifier in allRequests)
+ self.failUnless(myIdentifier in requestsAll)
self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed)
self.assertHasNextEvent(None)
@@ -648,7 +643,7 @@
'arbitryry.txt'
)
myRequest = self.fcpClient.getRequest(myIdentifier)
- allRequests = self.fcpClient.getRequests()
+ requestsAll = self.fcpClient.getRequests()
self.assertHasNextMessage(consts.Message.ClientGet)
@@ -674,12 +669,11 @@
self.assertHasNextEvent(
self.fcpClient.events.RequestCompleted,
consts.Message.ClientGet,
- ('FcRequestStatus', consts.RequestStatus.Null |
- consts.RequestStatus.Success |
- consts.RequestStatus.RemovedFromQueue
- )
+ ('FcRequestStatus', consts.RequestStatus.Success |
+ consts.RequestStatus.RemovedFromQueue
+ ),
)
- self.failIf(myIdentifier in allRequests)
+ self.failIf(myIdentifier in requestsAll)
self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed)
self.assertHasNextEvent(None)
@@ -692,7 +686,7 @@
'arbitryry.txt'
)
myRequest = self.fcpClient.getRequest(myIdentifier)
- allRequests = self.fcpClient.getRequests()
+ requestsAll = self.fcpClient.getRequests()
self.assertHasNextMessage(consts.Message.ClientGet)
@@ -714,12 +708,11 @@
self.assertHasNextEvent(
self.fcpClient.events.RequestFailed,
consts.Message.ClientGet,
- ('FcRequestStatus', consts.RequestStatus.Null |
- consts.RequestStatus.Error |
- consts.RequestStatus.RemovedFromQueue
- )
+ ('FcRequestStatus', consts.RequestStatus.Error |
+ consts.RequestStatus.RemovedFromQueue
+ ),
)
- self.failIf(myIdentifier in allRequests)
+ self.failIf(myIdentifier in requestsAll)
self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed)
self.assertHasNextEvent(None)
@@ -731,7 +724,7 @@
'arbitrary-uri',
)
myRequest = self.fcpClient.getRequest(myIdentifier)
- allRequests = self.fcpClient.getRequests()
+ requestsAll = self.fcpClient.getRequests()
self.assertHasNextMessage(consts.Message.ClientGet)
@@ -757,12 +750,11 @@
self.assertHasNextEvent(
self.fcpClient.events.RequestCompleted,
consts.Message.ClientGet,
- ('FcRequestStatus', consts.RequestStatus.Null |
- consts.RequestStatus.Success |
- consts.RequestStatus.RemovedFromQueue
- )
+ ('FcRequestStatus', consts.RequestStatus.Success |
+ consts.RequestStatus.RemovedFromQueue
+ ),
)
- self.failIf(myIdentifier in allRequests)
+ self.failIf(myIdentifier in requestsAll)
self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed)
self.assertHasNextEvent(None)
@@ -775,7 +767,7 @@
'arbitrary-uri',
)
myRequest = self.fcpClient.getRequest(myIdentifier)
- allRequests = self.fcpClient.getRequests()
+ requestsAll = self.fcpClient.getRequests()
self.assertHasNextMessage(consts.Message.ClientGet)
@@ -797,10 +789,9 @@
self.assertHasNextEvent(
self.fcpClient.events.RequestCompleted,
consts.Message.ClientGet,
- ('FcRequestStatus', consts.RequestStatus.Null |
- consts.RequestStatus.Success |
- consts.RequestStatus.RemovedFromQueue
- )
+ ('FcRequestStatus', consts.RequestStatus.Success |
+ consts.RequestStatus.RemovedFromQueue
+ ),
)
self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed)
self.assertHasNextEvent(None)
@@ -834,10 +825,9 @@
self.assertHasNextEvent(
self.fcpClient.events.RequestFailed,
consts.Message.ClientGet,
- ('FcRequestStatus', consts.RequestStatus.Null |
- consts.RequestStatus.Error |
- consts.RequestStatus.RemovedFromQueue
- )
+ ('FcRequestStatus', consts.RequestStatus.Error |
+ consts.RequestStatus.RemovedFromQueue
+ ),
)
self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed)
self.assertHasNextEvent(None)
@@ -850,10 +840,6 @@
#***********************************************************************************
#
#***********************************************************************************
-#TODO: testGetRequest()
-#TODO: testGetRequest()
-#TODO: testResendRequest()
-
class TestRequests(BaseTestConnectedClient):
@@ -919,14 +905,20 @@
self.fcpClient.removeRequest(myIdentifier)
# of our request should be removed emidiately,
- self.assertEqual(myRequest['FcRequestStatus'], consts.RequestStatus.Null |
- consts.RequestStatus.Removed |
+ self.assertEqual(myRequest['FcRequestStatus'], consts.RequestStatus.Removed |
consts.RequestStatus.Completed |
consts.RequestStatus.RemovedFromQueue
)
self.failIf(myIdentifier in self.fcpClient.getRequests())
# now the request should have been removed
+ self.assertHasNextEvent(
+ self.fcpClient.events.RequestRemoved,
+ consts.Message.ClientGet,
+ ('FcRequestStatus', consts.RequestStatus.Removed |
+ consts.RequestStatus.RemovedFromQueue
+ ),
+ )
self.failIf(self.fcpClient.getRequests())
self.assertHasNextEvent(None)
@@ -957,9 +949,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.Null |
- consts.RequestStatus.Removed
- )
+ self.assertEqual(myRequest['FcRequestStatus'], consts.RequestStatus.Removed)
self.failUnless(myIdentifier in self.fcpClient.getRequests())
# client schould send a RemovePersistentRequest
@@ -974,6 +964,14 @@
# now the request should have been removed
self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.RemovedFromQueue)
self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed)
+ self.assertHasNextEvent(
+ self.fcpClient.events.RequestRemoved,
+ consts.Message.ClientGet,
+ ('FcRequestStatus', consts.RequestStatus.Removed |
+ consts.RequestStatus.RemovedFromQueue
+ ),
+ )
+
self.failIf(self.fcpClient.getRequests())
self.assertHasNextEvent(None)
@@ -983,30 +981,36 @@
myIdentifier = self.fcpClient.getData('any-key')
myRequest = self.fcpClient.getRequest(myIdentifier)
- allRequests = self.fcpClient.getRequests()
+ requestsAll = self.fcpClient.getRequests()
self.assertHasNextMessage(consts.Message.ClientGet)
newIdentifier = self.fcpClient.resendRequest(myRequest)
# client should remove old request emidiately
self.failIf(myIdentifier == newIdentifier)
- self.failIf(myIdentifier in allRequests)
- self.failUnless(newIdentifier in allRequests)
-
+ self.failIf(myIdentifier in requestsAll)
+ self.failUnless(newIdentifier in requestsAll)
+ self.assertHasNextEvent(
+ self.fcpClient.events.RequestRemoved,
+ consts.Message.ClientGet,
+ ('FcRequestStatus', consts.RequestStatus.Removed |
+ consts.RequestStatus.RemovedFromQueue
+ ),
+ )
+
self.assertHasNextMessage(consts.Message.ClientGet)
-
-
+
def testResendRequest_Persistent(self):
myIdentifier = self.fcpClient.getData('any-key', persistence=consts.Persistence.Reboot)
myRequest = self.fcpClient.getRequest(myIdentifier)
- allRequests = self.fcpClient.getRequests()
+ requestsAll = self.fcpClient.getRequests()
self.assertHasNextMessage(consts.Message.ClientGet)
newIdentifier = self.fcpClient.resendRequest(myRequest)
self.failIf(myIdentifier == newIdentifier)
- self.failUnless(newIdentifier in allRequests)
+ self.failUnless(newIdentifier in requestsAll)
# client should remove request from nodes queue
self.assertHasNextMessage(
@@ -1021,14 +1025,17 @@
'PersistentRequestRemoved',
Identifier=myIdentifier,
)
+ self.assertHasNextEvent(
+ self.fcpClient.events.RequestRemoved,
+ consts.Message.ClientGet,
+ ('FcRequestStatus', consts.RequestStatus.Removed |
+ consts.RequestStatus.RemovedFromQueue
+ ),
+ )
- self.failUnless(newIdentifier in allRequests)
- self.failIf(myIdentifier in allRequests)
+ self.failUnless(newIdentifier in requestsAll)
+ self.failIf(myIdentifier in requestsAll)
-
-
-
-
#***********************************************************************************
#
@@ -1072,7 +1079,7 @@
'arbitryry.txt'
)
myRequest = self.fcpClient.getRequest(myIdentifier)
- allRequests = self.fcpClient.getRequests()
+ requestsAll = self.fcpClient.getRequests()
self.fcpClient.removeRequest(myIdentifier)
self.sendResponseMessage(
@@ -1102,7 +1109,7 @@
('FcRequestStatus', consts.RequestStatus.Restored), # no RequestStatus.Pending flag should be set here
)
- self.failUnless(myIdentifier in allRequests)
+ self.failUnless(myIdentifier in requestsAll)
self.assertHasNextEvent(None)
#***********************************************************************************
@@ -1342,15 +1349,154 @@
#***********************************************************************************
#
#***********************************************************************************
-#TODO: class TestPlugins(BaseTestConnectedClient):
+class TestPlugins(BaseTestConnectedClient):
+
+
+ def testGetPluginInfo_Success(self):
+
+ myIdentifier = self.fcpClient.getPluginInfo('hi there')
+ myRequest = self.fcpClient.getRequest(myIdentifier)
+ requestsAll = self.fcpClient.getRequests()
+
+ self.failUnless(myIdentifier in requestsAll)
+ self.assertHasNextMessage(
+ consts.Message.GetPluginInfo,
+ ('Identifier', myIdentifier),
+ ('PluginName', 'hi there'),
+ )
+
+ self.sendResponseMessage(
+ consts.Message.PluginInfo,
+ PluginName='hi there',
+ Identifier=myIdentifier,
+ )
+
+ msg = self.assertHasNextEvent(
+ self.fcpClient.events.PluginInfo,
+ consts.Message.GetPluginInfo,
+ ('Identifier', myIdentifier),
+ ('PluginName', 'hi there'),
+ ('FcRequestStatus', consts.RequestStatus.Success |
+ consts.RequestStatus.RemovedFromQueue
+ ),
+ )
+
+ self.assertHasNextEvent(None)
+ self.failIf(myIdentifier in requestsAll)
+ self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed)
+
+ def testGetPluginInfo_Failure(self):
+ myIdentifier = self.fcpClient.getPluginInfo('hi there')
+ myRequest = self.fcpClient.getRequest(myIdentifier)
+ requestsAll = self.fcpClient.getRequests()
+
+ self.failUnless(myIdentifier in requestsAll)
+ self.assertHasNextMessage(
+ consts.Message.GetPluginInfo,
+ ('Identifier', myIdentifier),
+ ('PluginName', 'hi there'),
+ )
+
+ self.sendResponseMessage(
+ consts.Message.ProtocolError,
+ Code=32, # No such plugin
+ Identifier=myIdentifier,
+ )
+
+ msg = self.assertHasNextEvent(
+ self.fcpClient.events.PluginInfoFailed,
+ consts.Message.GetPluginInfo,
+ #('PluginName', 'hi there'),
+ ('Identifier', myIdentifier),
+ ('FcRequestStatus', consts.RequestStatus.Error |
+ consts.RequestStatus.RemovedFromQueue
+ ),
+ )
+
+ self.assertHasNextEvent(None)
+ self.failIf(myIdentifier in requestsAll)
+ self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed)
+
+
+ def testSendPluginMessage_Success(self):
+
+ myIdentifier = self.fcpClient.sendPluginMessage('hi there', {'foo': "bar"})
+ myRequest = self.fcpClient.getRequest(myIdentifier)
+ requestsAll = self.fcpClient.getRequests()
+
+ self.failUnless(myIdentifier in requestsAll)
+ self.assertHasNextMessage(
+ consts.Message.FCPPluginMessage,
+ ('Identifier', myIdentifier),
+ ('PluginName', 'hi there'),
+ ('foo', 'bar'),
+ )
+
+ self.sendResponseMessage(
+ consts.Message.FCPPluginReply,
+ PluginName='hi there',
+ Identifier=myIdentifier,
+ baz='12345',
+ )
+
+ msg = self.assertHasNextEvent(
+ self.fcpClient.events.PluginMessage,
+ consts.Message.FCPPluginMessage,
+ ('PluginName', 'hi there'),
+ ('Identifier', myIdentifier),
+ ('FcRequestStatus', consts.RequestStatus.Success |
+ consts.RequestStatus.RemovedFromQueue
+ ),
+ )
+ reply = msg['FcPluginReply']
+ self.failUnless(reply.params.get('baz', None) == '12345')
+
+ self.assertHasNextEvent(None)
+ self.failIf(myIdentifier in requestsAll)
+ self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed)
+
+
+ def testGetSendPluginMessage_Failure(self):
+ myIdentifier = self.fcpClient.sendPluginMessage('hi there', {'foo': "bar"})
+ myRequest = self.fcpClient.getRequest(myIdentifier)
+ requestsAll = self.fcpClient.getRequests()
+
+ self.failUnless(myIdentifier in requestsAll)
+ self.assertHasNextMessage(
+ consts.Message.FCPPluginMessage,
+ ('Identifier', myIdentifier),
+ ('PluginName', 'hi there'),
+ ('foo', 'bar'),
+ )
+
+ self.sendResponseMessage(
+ consts.Message.ProtocolError,
+ Code=32, # No such plugin
+ Identifier=myIdentifier,
+ )
+
+ msg = self.assertHasNextEvent(
+ self.fcpClient.events.PluginMessageFailed,
+ consts.Message.FCPPluginMessage,
+ #('PluginName', 'hi there'),
+ ('Identifier', myIdentifier),
+ ('FcRequestStatus', consts.RequestStatus.Error |
+ consts.RequestStatus.RemovedFromQueue
+ ),
+ )
+
+ self.assertHasNextEvent(None)
+ self.failIf(myIdentifier in requestsAll)
+ self.failUnless(myRequest['FcRequestStatus'] & consts.RequestStatus.Completed)
+
+
#***********************************************************************************
#TODO: class TestConfig(BaseTestConnectedClient):
#***********************************************************************************
#
#***********************************************************************************
-#TODO: class TestSSKKeypair(BaseTestConnectedClient):
class TestGenerateKeypair(BaseTestConnectedClient):
def testGeberateSSKKeypair(self):
@@ -1454,6 +1600,7 @@
TestDDA,
TestCollisions,
+ TestPlugins,
TestGenerateKeypair,
TestSubscribeUSK,
)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|