SF.net SVN: fclient: [151] trunk/sandbox/fcp/test_fcp/test_fcp2_0_client.py
Status: Pre-Alpha
Brought to you by:
jurner
From: <ju...@us...> - 2008-02-05 15:21:55
|
Revision: 151 http://fclient.svn.sourceforge.net/fclient/?rev=151&view=rev Author: jurner Date: 2008-02-05 07:21:54 -0800 (Tue, 05 Feb 2008) Log Message: ----------- adapt to request status flags changes 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-05 15:21:08 UTC (rev 150) +++ trunk/sandbox/fcp/test_fcp/test_fcp2_0_client.py 2008-02-05 15:21:54 UTC (rev 151) @@ -478,7 +478,8 @@ myIdentifier = self.fcpClient.getData( 'arbitrary-uri', ) - myRequest = self.fcpClient.getRequest(myIdentifier) + myRequest = self.fcpClient.getRequest(myIdentifier) + allRequests = self.fcpClient.getRequests() # respond to the file request self.sendResponseMessage( @@ -489,7 +490,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestStarted, consts.Message.ClientGet, - ('FcStatus', consts.RequestStatus.Started) + ('FcStatus', consts.RequestStatus.Pending | consts.RequestStatus.Started) ) self.assertHasNextEvent(None) @@ -530,15 +531,44 @@ Global='false', DataLength=len(data), ) + + # client should complete and remove the request self.assertHasNextEvent( self.fcpClient.events.RequestCompleted, consts.Message.ClientGet, - ('FcStatus', consts.RequestStatus.Complete | consts.RequestStatus.Removed), + ('FcStatus', consts.RequestStatus.Pending | consts.RequestStatus.Started | consts.RequestStatus.Complete | consts.RequestStatus.Removed), data=data ) + self.failIf(myIdentifier in allRequests) self.assertHasNextEvent(None) - + + # cheat a bit to test peristence == Forever (client should not remove request) + allRequests[myIdentifier] =myRequest + myRequest['Persistence'] = consts.Persistence.Forever + myRequest['FcStatus'] &= ~(consts.RequestStatus.Complete | consts.RequestStatus.Removed) + self.sendResponseMessage( + 'AllData', + data=data, + Identifier=myIdentifier, + Global='false', + DataLength=len(data), + ) + + # client should complete but not remove the request + self.assertHasNextEvent( + self.fcpClient.events.RequestCompleted, + consts.Message.ClientGet, + ('FcStatus', consts.RequestStatus.Pending | consts.RequestStatus.Started | consts.RequestStatus.Complete), + data=data + ) + self.failUnless(myIdentifier in allRequests) + self.assertHasNextEvent(None) + + + + + def testGetData_Failure(self): # request a arbitrary file @@ -546,6 +576,7 @@ 'arbitrary-uri', ) myRequest = self.fcpClient.getRequest(myIdentifier) + allRequests = self.fcpClient.getRequests() # respond to the file request self.sendResponseMessage( @@ -556,7 +587,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestStarted, consts.Message.ClientGet, - ('FcStatus', consts.RequestStatus.Started) + ('FcStatus', consts.RequestStatus.Pending | consts.RequestStatus.Started) ) self.assertHasNextEvent(None) @@ -568,14 +599,40 @@ Global='false', # blah.. more here ) + + # client should complete request and remove it self.assertHasNextEvent( self.fcpClient.events.RequestFailed, consts.Message.ClientGet, - ('FcStatus', consts.RequestStatus.Complete | consts.RequestStatus.Error | consts.RequestStatus.Removed) + ('FcStatus', consts.RequestStatus.Pending | consts.RequestStatus.Started | consts.RequestStatus.Complete | consts.RequestStatus.Error | consts.RequestStatus.Removed) ) self.assertHasNextEvent(None) + #return + + # cheat a bit to test peristence == Forever (client should not remove request) + + allRequests[myIdentifier] =myRequest + myRequest['Persistence'] = consts.Persistence.Forever + myRequest['FcStatus'] &= ~(consts.RequestStatus.Error | consts.RequestStatus.Removed) + self.sendResponseMessage( + 'GetFailed', + Code='28', # All data not found + Identifier=myIdentifier, + Global='false', + # blah.. more here + ) + + # client should complete but not remove the request + self.assertHasNextEvent( + self.fcpClient.events.RequestFailed, + consts.Message.ClientGet, + ('FcStatus', consts.RequestStatus.Pending | consts.RequestStatus.Started | consts.RequestStatus.Complete | consts.RequestStatus.Error), + ) + self.failUnless(myIdentifier in allRequests) + self.assertHasNextEvent(None) + def testGetFile_Success(self): # request a arbitrary file @@ -584,6 +641,8 @@ 'arbitryry.txt' ) myRequest = self.fcpClient.getRequest(myIdentifier) + allRequests = self.fcpClient.getRequests() + self.assertHasNextMessage(consts.Message.ClientGet) # respond to the file request @@ -595,7 +654,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestStarted, consts.Message.ClientGet, - ('FcStatus', consts.RequestStatus.Started) + ('FcStatus', consts.RequestStatus.Pending | consts.RequestStatus.Started) ) self.assertHasNextEvent(None) @@ -614,8 +673,9 @@ self.assertHasNextEvent( self.fcpClient.events.RequestCompleted, consts.Message.ClientGet, - ('FcStatus', consts.RequestStatus.Complete | consts.RequestStatus.Removed) + ('FcStatus', consts.RequestStatus.Pending | consts.RequestStatus.Started | consts.RequestStatus.Complete | consts.RequestStatus.Removed) ) + self.failIf(myIdentifier in allRequests) self.assertHasNextEvent(None) @@ -627,6 +687,8 @@ 'arbitryry.txt' ) myRequest = self.fcpClient.getRequest(myIdentifier) + allRequests = self.fcpClient.getRequests() + self.assertHasNextMessage(consts.Message.ClientGet) # respond to the file request @@ -638,7 +700,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestStarted, consts.Message.ClientGet, - ('FcStatus', consts.RequestStatus.Started) + ('FcStatus', consts.RequestStatus.Pending | consts.RequestStatus.Started) ) self.assertHasNextEvent(None) @@ -653,8 +715,9 @@ self.assertHasNextEvent( self.fcpClient.events.RequestFailed, consts.Message.ClientGet, - ('FcStatus', consts.RequestStatus.Complete | consts.RequestStatus.Error | consts.RequestStatus.Removed) + ('FcStatus', consts.RequestStatus.Pending | consts.RequestStatus.Started | consts.RequestStatus.Complete | consts.RequestStatus.Error | consts.RequestStatus.Removed) ) + self.failIf(myIdentifier in allRequests) self.assertHasNextEvent(None) @@ -667,6 +730,8 @@ persistence=consts.Persistence.Forever, # cheat a bit, so we can test multiple cases ) myRequest = self.fcpClient.getRequest(myIdentifier) + allRequests = self.fcpClient.getRequests() + self.assertHasNextMessage(consts.Message.ClientGet) # respond to the file request @@ -678,7 +743,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestStarted, consts.Message.ClientGet, - ('FcStatus', consts.RequestStatus.Started) + ('FcStatus', consts.RequestStatus.Pending | consts.RequestStatus.Started) ) self.assertHasNextEvent(None) @@ -697,11 +762,13 @@ self.assertHasNextEvent( self.fcpClient.events.RequestCompleted, consts.Message.ClientGet, - ('FcStatus', consts.RequestStatus.Complete | consts.RequestStatus.Removed) + ('FcStatus', consts.RequestStatus.Pending | consts.RequestStatus.Started | consts.RequestStatus.Complete) ) + self.failIf(myIdentifier not in allRequests) self.assertHasNextEvent(None) # test specdial case where ProtocolError.TooBig is handled as success + myRequest['FcStatus'] &= ~(consts.RequestStatus.Complete) self.sendResponseMessage( 'GetFailed', Code='21', # Too big @@ -712,11 +779,18 @@ self.assertHasNextEvent( self.fcpClient.events.RequestCompleted, consts.Message.ClientGet, - ('FcStatus', consts.RequestStatus.Complete) + ('FcStatus', consts.RequestStatus.Pending | consts.RequestStatus.Started | consts.RequestStatus.Complete) ) self.assertHasNextEvent(None) + + # cheat a bit to test persistence == Connection + myRequest['Persistence'] = consts.Persistence.Connection + myRequest['FcStatus'] = consts.RequestStatus.Started + + ########################################### + ########################################### - + def testGetKeyInfo_Failure(self): # request a arbitrary file @@ -735,7 +809,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestStarted, consts.Message.ClientGet, - ('FcStatus', consts.RequestStatus.Started) + ('FcStatus', consts.RequestStatus.Pending | consts.RequestStatus.Started) ) self.assertHasNextEvent(None) @@ -750,7 +824,7 @@ self.assertHasNextEvent( self.fcpClient.events.RequestFailed, consts.Message.ClientGet, - ('FcStatus', consts.RequestStatus.Complete | consts.RequestStatus.Error | consts.RequestStatus.Removed) + ('FcStatus', consts.RequestStatus.Pending | consts.RequestStatus.Started | consts.RequestStatus.Complete | consts.RequestStatus.Error | consts.RequestStatus.Removed) ) self.assertHasNextEvent(None) @@ -892,12 +966,12 @@ 'arbitryry.txt' ) myRequest = self.fcpClient.getRequest(myIdentifier) - identifier = myRequest['Identifier'] - + allRequests = self.fcpClient.getRequests() + self.fcpClient.removeRequest(myIdentifier) self.sendResponseMessage( 'PersistentRequestRemoved', - Identifier=identifier, + Identifier=myIdentifier, ) self.messages = [] self.events = [] @@ -905,7 +979,7 @@ # throw a PersistentGet at the client with the identifier we hacked self.sendResponseMessage( 'PersistentGet', - Identifier=identifier, + Identifier=myIdentifier, Global='false', ReturnType='disk', Verbosity='1', @@ -918,9 +992,11 @@ msg = self.assertHasNextEvent( self.fcpClient.events.RequestRestored, consts.Message.ClientGet, - ('Identifier', myIdentifier) + ('Identifier', myIdentifier), + ('FcStatus', consts.RequestStatus.Started), # no RequestStatus.Pending flag should be set here ) + self.failUnless(myIdentifier in allRequests) self.assertHasNextEvent(None) #*********************************************************************************** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |