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