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. |