SF.net SVN: fclient: [193] trunk/sandbox/fcp/test_fcp/test_fcp2_0_client.py
Status: Pre-Alpha
Brought to you by:
jurner
|
From: <ju...@us...> - 2008-02-08 23:41:32
|
Revision: 193
http://fclient.svn.sourceforge.net/fclient/?rev=193&view=rev
Author: jurner
Date: 2008-02-08 15:41:20 -0800 (Fri, 08 Feb 2008)
Log Message:
-----------
added test for removeRequest()
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-08 23:41:00 UTC (rev 192)
+++ trunk/sandbox/fcp/test_fcp/test_fcp2_0_client.py 2008-02-08 23:41:20 UTC (rev 193)
@@ -856,6 +856,7 @@
class TestRequests(BaseTestConnectedClient):
+
def testModifyRequest(self):
# request a arbitrary file
@@ -894,7 +895,7 @@
self.assertHasNextEvent(None)
- def testRemoveRequest(self):
+ def testRemoveRequest_NonPersistent(self):
# request a file
myIdentifier = self.fcpClient.getFile(
@@ -917,6 +918,43 @@
# now cancel request
self.fcpClient.removeRequest(myIdentifier)
+ # of our request should be removed emidiately,
+ self.assertEqual(myRequest['FcRequestStatus'], consts.RequestStatus.Null |
+ consts.RequestStatus.Removed |
+ consts.RequestStatus.Completed |
+ consts.RequestStatus.RemovedFromQueue
+ )
+ self.failIf(myIdentifier in self.fcpClient.getRequests())
+
+ # now the request should have been removed
+ self.failIf(self.fcpClient.getRequests())
+ self.assertHasNextEvent(None)
+
+
+ def testRemoveRequest_persistent(self):
+
+ # request a file
+ myIdentifier = self.fcpClient.getFile(
+ 'arbitrary-uri',
+ 'arbitrary.txt',
+ persistence=consts.Persistence.Reboot,
+ )
+ myRequest = self.fcpClient.getRequest(myIdentifier)
+
+ # respond to the file request
+ self.sendResponseMessage(
+ 'PersistentGet',
+ Started='false',
+ **myRequest.params
+ )
+
+ # ignore events and messages so far
+ self.events = []
+ self.messages = []
+
+ # now cancel request
+ self.fcpClient.removeRequest(myIdentifier)
+
# 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 |
@@ -939,6 +977,59 @@
self.failIf(self.fcpClient.getRequests())
self.assertHasNextEvent(None)
+
+
+ def testResendRequest_NonPersistent(self):
+
+ myIdentifier = self.fcpClient.getData('any-key')
+ myRequest = self.fcpClient.getRequest(myIdentifier)
+ allRequests = 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.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()
+ self.assertHasNextMessage(consts.Message.ClientGet)
+
+ newIdentifier = self.fcpClient.resendRequest(myRequest)
+ self.failIf(myIdentifier == newIdentifier)
+ self.failUnless(newIdentifier in allRequests)
+
+ # client should remove request from nodes queue
+ self.assertHasNextMessage(
+ consts.Message.RemovePersistentRequest,
+ ('Identifier', myIdentifier)
+ )
+ self.assertHasNextMessage(
+ consts.Message.ClientGet,
+ ('Identifier', newIdentifier)
+ )
+ self.sendResponseMessage(
+ 'PersistentRequestRemoved',
+ Identifier=myIdentifier,
+ )
+
+ self.failUnless(newIdentifier in allRequests)
+ self.failIf(myIdentifier in allRequests)
+
+
+
+
+
+
#***********************************************************************************
#
#***********************************************************************************
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|