Thread: SF.net SVN: fclient: [447] trunk/fcp2/src/fcp2/test_fcp/test_client.py
Status: Pre-Alpha
Brought to you by:
jurner
|
From: <jU...@us...> - 2008-07-01 07:20:40
|
Revision: 447
http://fclient.svn.sourceforge.net/fclient/?rev=447&view=rev
Author: jUrner
Date: 2008-07-01 00:20:49 -0700 (Tue, 01 Jul 2008)
Log Message:
-----------
newMessageType() is now newMessageClass()
Modified Paths:
--------------
trunk/fcp2/src/fcp2/test_fcp/test_client.py
Modified: trunk/fcp2/src/fcp2/test_fcp/test_client.py
===================================================================
--- trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-01 07:20:40 UTC (rev 446)
+++ trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-01 07:20:49 UTC (rev 447)
@@ -259,7 +259,7 @@
if messageName in message.MessagesAll:
msgClass = message.MessagesAll[messageName]
else:
- msgClass = message.newMessageType(messageName)
+ msgClass = message.newMessageClass(messageName)
msg = msgClass(data=data, **params)
self.client.ioHandler.io.readBuffer += msg.toString()
if callNext:
@@ -1382,7 +1382,7 @@
self.getIO().setBroken(True)
# send a test message
- self.assertRaises(consts.IOBrokenError, self.client.sendMessage, message.newMessageType('test')())
+ self.assertRaises(consts.IOBrokenError, self.client.sendMessage, message.newMessageClass('test')())
# check if ClientDisconnected events has been triggered
msg = self.assertHasNextEvent(
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jU...@us...> - 2008-07-01 08:04:00
|
Revision: 452
http://fclient.svn.sourceforge.net/fclient/?rev=452&view=rev
Author: jUrner
Date: 2008-07-01 01:04:06 -0700 (Tue, 01 Jul 2008)
Log Message:
-----------
added hack to handle persistents from other clients (kill them with fire ;-)
Modified Paths:
--------------
trunk/fcp2/src/fcp2/test_fcp/test_client.py
Modified: trunk/fcp2/src/fcp2/test_fcp/test_client.py
===================================================================
--- trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-01 08:03:55 UTC (rev 451)
+++ trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-01 08:04:06 UTC (rev 452)
@@ -1090,6 +1090,7 @@
'PersistentGet',
Identifier=myIdentifier,
ClientToken='i-am-invalid',
+ Global='false',
callNext=False
)
@@ -2485,9 +2486,12 @@
# the client should not trigger any events
self.assertHasNextEvent(None)
- self.assertHasNextMessage(None)
+
+ #NOTE: the client will recognize it as unknown request and query to remove it
+ #self.assertHasNextMessage(None)
+ self.assertHasNextMessage(consts.Message.RemoveRequest)
-
+
def test_restorePersistentGet_validIdentifier(self):
self.connectClient()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jU...@us...> - 2008-07-01 11:27:47
|
Revision: 463
http://fclient.svn.sourceforge.net/fclient/?rev=463&view=rev
Author: jUrner
Date: 2008-07-01 04:27:56 -0700 (Tue, 01 Jul 2008)
Log Message:
-----------
for ease of use, all necessary symbols are now imported to main
Modified Paths:
--------------
trunk/fcp2/src/fcp2/test_fcp/test_client.py
Modified: trunk/fcp2/src/fcp2/test_fcp/test_client.py
===================================================================
--- trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-01 11:27:47 UTC (rev 462)
+++ trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-01 11:27:56 UTC (rev 463)
@@ -17,13 +17,8 @@
def __del__(self): sys.path.pop(0)
hack = _RelImportHack(3)
-from fcp2 import client
-from fcp2.client import Client
-from fcp2 import consts
+import fcp2
-from fcp2 import iohandler
-from fcp2 import message
-
del hack
#<-- rel import hack
@@ -34,16 +29,17 @@
DIR = os.path.dirname(os.path.abspath(__file__))
##TestAgainstNode = 0 # don't know how to test against node. Do not touch this!
-
+# for testing some valid key data
+DummyKeyData = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA'
#***********************************************************************************
#
#***********************************************************************************
class BaseTestClient(unittest.TestCase):
"""Base class for all tests"""
- client = Client(
- #debugVerbosity=Client.consts.DebugVerbosity.Debug
- debugVerbosity=Client.consts.DebugVerbosity.Quiet
+ client = fcp2.Client(
+ #debugVerbosity=Client.fcp2.DebugVerbosity.Debug
+ debugVerbosity=fcp2.ConstDebugVerbosity.Quiet
)
client.ioHandler.setIOPrototype(DummyIO)
@@ -88,7 +84,7 @@
self.assertHasNextEvent(
self.client.events.ClientConnected,
- consts.Message.NodeHello,
+ fcp2.MsgNodeHello,
)
self.assertHasNextEvent(None)
self.assertHasNextMessage(None)
@@ -100,14 +96,14 @@
self.client.close()
self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.Close),
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.Close),
)
def assertHasNextEvent(self,
expectedEvent=None,
- messageName=None,
+ message=None,
param1=None,
param2=None,
param3=None,
@@ -130,8 +126,8 @@
event, msg = self.events.pop(0)
self.assertEqual(event, expectedEvent)
- if messageName is not None:
- self.assertEqual(msg.name, messageName)
+ if message is not None:
+ self.assertEqual(msg.name, message.name)
if param1 is not None:
param1, value1 = param1
self.failUnless(param1 in msg.params)
@@ -159,7 +155,7 @@
return msg
def assertHasNextMessage(self,
- messageName,
+ message,
param1=None,
param2=None,
param3=None,
@@ -185,11 +181,11 @@
@return: message if a message was received or None
"""
msg = self.getNextMessage()
- if messageName is None:
+ if message is None:
self.failUnless(msg is None)
else:
self.failIf(msg is None)
- self.assertEqual(msg.name, messageName)
+ self.assertEqual(msg.name, message.name)
if param1 is not None:
param1, value1 = param1
self.failUnless(param1 in msg.params)
@@ -256,10 +252,10 @@
def sendResponseMessage(self, messageName, data=None, callNext=True, **params):
"""Sends a message to the client"""
- if messageName in message.MessagesAll:
- msgClass = message.MessagesAll[messageName]
+ if messageName in fcp2.MessagesAll:
+ msgClass = fcp2.MessagesAll[messageName]
else:
- msgClass = message.newMessageClass(messageName)
+ msgClass = fcp2.newMessageClass(messageName)
msg = msgClass(data=data, **params)
self.client.ioHandler.io.readBuffer += msg.toString()
if callNext:
@@ -280,7 +276,7 @@
self.client.ioHandler.io.setReverseDirection(True)
try:
msg = self.client.ioHandler.readMessage()
- except consts.IOTimeoutError:
+ except fcp2.ErrorIOTimeout:
return None
finally:
self.client.ioHandler.io.setReverseDirection(False)
@@ -328,8 +324,8 @@
self.client.close()
self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.Close),
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.Close),
)
def test_close_connected_client(self):
@@ -337,8 +333,8 @@
self.client.close()
self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.Close),
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.Close),
)
#***********************************************************************************
@@ -388,7 +384,7 @@
self.assertHasNextEvent(
self.client.events.ClientConnected,
- consts.Message.NodeHello,
+ fcp2.MsgNodeHello,
)
self.assertHasNextEvent(None)
self.assertHasNextMessage(None)
@@ -403,8 +399,8 @@
self.failUnless(nodeHello is None)
self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.IOConnectFailed),
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.IOConnectFailed),
)
self.assertHasNextEvent(None)
self.assertHasNextMessage(None)
@@ -418,8 +414,8 @@
self.failUnless(nodeHello is None)
self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.NoNodeHello),
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.NoNodeHello),
)
self.assertHasNextEvent(None)
self.assertHasNextMessage(None)
@@ -434,12 +430,12 @@
enum.next()
except StopIteration:
break
- except consts.IOBrokenError, d:
+ except fcp2.ErrorIOBroken, d:
errorRaised = True
self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.ConnectionDied),
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.ConnectionDied),
#('Param', None),
)
break
@@ -462,8 +458,8 @@
self.failUnless(nodeHello is None)
self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.UnknownNodeHello),
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.UnknownNodeHello),
)
self.assertHasNextEvent(None)
self.assertHasNextMessage(None)
@@ -491,7 +487,7 @@
self.assertHasNextEvent(
self.client.events.ClientConnected,
- consts.Message.NodeHello,
+ fcp2.MsgNodeHello,
)
self.assertHasNextEvent(None)
#self.assertHasNextMessage(None) # due to our message hacking, NodeHello is still in io
@@ -522,12 +518,12 @@
self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.Reconnect)
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.Reconnect)
)
self.assertHasNextEvent(
self.client.events.ClientConnected,
- consts.Message.NodeHello,
+ fcp2.MsgNodeHello,
)
self.assertHasNextEvent(None)
#self.assertHasNextMessage(None) # due to our message hacking, NodeHello is still in io
@@ -556,8 +552,8 @@
self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.VersionMissmatch)
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.VersionMissmatch)
)
self.assertHasNextEvent(None)
self.assertHasNextMessage(None)
@@ -586,8 +582,8 @@
self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.VersionMissmatch)
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.VersionMissmatch)
)
self.assertHasNextEvent(None)
self.assertHasNextMessage(None)
@@ -608,8 +604,8 @@
self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.DuplicateClientName)
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.DuplicateClientName)
)
self.assertHasNextEvent(None)
self.assertHasNextMessage(None)
@@ -624,7 +620,7 @@
def test_closeNode(self):
self.connectClient()
self.client.closeNode()
- self.assertHasNextMessage('Shutdown')
+ self.assertHasNextMessage(fcp2.MsgShutdown)
self.sendResponseMessage(
'ProtocolError',
Code='18'
@@ -632,8 +628,8 @@
self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.NodeClosing)
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.NodeClosing)
)
self.assertHasNextEvent(None)
self.assertHasNextMessage(None)
@@ -665,7 +661,7 @@
def test_get_setDebugVerbosity(self):
oldVerbosity = self.client.getDebugVerbosity()
- self.client.setDebugVerbosity(self.client.consts.DebugVerbosity.Quiet)
+ self.client.setDebugVerbosity(fcp2.ConstDebugVerbosity.Quiet)
self.client.setDebugVerbosity(oldVerbosity)
#***********************************************************************************
@@ -727,7 +723,7 @@
msg = self.client.next()
msg2 = self.assertHasNextEvent(
self.client.events.Idle,
- self.client.message.ClientSocketTimeout.name,
+ fcp2.MsgClientSocketTimeout,
)
self.failUnless(msg == msg2)
@@ -736,11 +732,11 @@
self.connectClient()
self.getIO().setBroken(True)
- self.assertRaises(consts.IOBrokenError, self.client.next, )
+ self.assertRaises(fcp2.ErrorIOBroken, self.client.next, )
self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.ConnectionDied)
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.ConnectionDied)
)
self.assertHasNextEvent(None)
@@ -777,11 +773,11 @@
self.connectClient()
self.getIO().setBroken(True)
- self.assertRaises(consts.IOBrokenError, self.client.sendMessage, self.client.message.ClientHello())
+ self.assertRaises(fcp2.ErrorIOBroken, self.client.sendMessage, fcp2.MsgClientHello())
self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.ConnectionDied)
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.ConnectionDied)
)
self.assertHasNextEvent(None)
@@ -791,9 +787,9 @@
def test_messageSend(self):
self.connectClient()
- self.client.sendMessage(self.client.message.ClientHello())
+ self.client.sendMessage(fcp2.MsgClientHello())
msg = self.client.next()
- self.assertHasNextMessage('ClientHello')
+ self.assertHasNextMessage(fcp2.MsgClientHello)
self.assertHasNextEvent(self.client.events.Idle)
self.assertHasNextEvent(None)
@@ -818,7 +814,7 @@
withDataTypes=True,
)
msg = self.client.next()
- self.assertHasNextMessage('GetConfig',
+ self.assertHasNextMessage(fcp2.MsgGetConfig,
('WithCurrent', True),
('WithDefaults', True),
('WithExpertFlag', True),
@@ -836,7 +832,7 @@
)
self.assertHasNextEvent(
self.client.events.ConfigData,
- consts.Message.ConfigData,
+ fcp2.MsgConfigData,
('foo', '1234')
)
@@ -855,7 +851,7 @@
{'foo': '1234'}
)
msg = self.client.next()
- self.assertHasNextMessage('ModifyConfig',
+ self.assertHasNextMessage(fcp2.MsgModifyConfig,
('foo', '1234'),
)
self.assertHasNextEvent(self.client.events.Idle)
@@ -871,22 +867,22 @@
def test_100_request_registered(self):
self.connectClient()
- myKey = self.client.key.key('KSK@foo')
+ myKey = fcp2.Key('KSK@foo')
myIdentifier = self.client.getData(myKey)
requestsAll = self.client.getRequests()
self.failUnless(myIdentifier in requestsAll)
myRequest = self.client.getRequest(myIdentifier)
- self.assertEqual(myRequest['RequestType'], self.client.consts.RequestType.GetData)
+ self.assertEqual(myRequest['RequestType'], fcp2.ConstRequestType.GetData)
def test_300_message_send(self):
self.connectClient()
- myKey = self.client.key.key('KSK@foo')
+ myKey = fcp2.Key('KSK@foo')
myIdentifier = self.client.getData(myKey)
requestsAll = self.client.getRequests()
self.assertHasNextMessage(
- 'ClientGet',
+ fcp2.MsgClientGet,
('URI', myKey),
)
@@ -898,11 +894,11 @@
def test_400_progress(self):
self.connectClient()
- myKey = self.client.key.key('KSK@foo')
+ myKey = fcp2.Key('KSK@foo')
myIdentifier = self.client.getData(myKey)
requestsAll = self.client.getRequests()
- self.assertHasNextMessage('ClientGet')
+ self.assertHasNextMessage(fcp2.MsgClientGet)
self.sendResponseMessage(
'SimpleProgress',
Identifier=myIdentifier,
@@ -915,7 +911,7 @@
self.assertHasNextEvent(
self.client.events.RequestProgress,
- 'ClientGet',
+ fcp2.MsgClientGet,
)
self.assertHasNextEvent(None)
@@ -926,11 +922,11 @@
def test_500_completed_successfuly(self):
self.connectClient()
- myKey = self.client.key.key('KSK@foo')
+ myKey = fcp2.Key('KSK@foo')
myIdentifier = self.client.getData(myKey)
requestsAll = self.client.getRequests()
- self.assertHasNextMessage('ClientGet')
+ self.assertHasNextMessage(fcp2.MsgClientGet)
data = 'foo'
params = {
'Identifier': myIdentifier,
@@ -955,10 +951,10 @@
# client should complete and remove the request
self.assertHasNextEvent(
self.client.events.RequestCompleted,
- consts.Message.ClientGet,
- ('RequestStatus', consts.RequestStatus.Success |
- consts.RequestStatus.RemovedFromQueue |
- consts.RequestStatus.Completed
+ fcp2.MsgClientGet,
+ ('RequestStatus', fcp2.ConstRequestStatus.Success |
+ fcp2.ConstRequestStatus.RemovedFromQueue |
+ fcp2.ConstRequestStatus.Completed
),
data=data
)
@@ -973,13 +969,13 @@
def test_600_completed_with_error(self):
self.connectClient()
- myKey = self.client.key.key('KSK@foo')
+ myKey = fcp2.Key('KSK@foo')
myIdentifier = self.client.getData(myKey)
requestsAll = self.client.getRequests()
- self.assertHasNextMessage('ClientGet')
+ self.assertHasNextMessage(fcp2.MsgClientGet)
self.sendResponseMessage(
- 'GetFailed',
+ fcp2.MsgGetFailed.name,
Code='28', # All data not found
Identifier=myIdentifier,
Global='false',
@@ -987,10 +983,10 @@
)
self.assertHasNextEvent(
self.client.events.RequestFailed,
- consts.Message.ClientGet,
- ('RequestStatus', consts.RequestStatus.Error |
- consts.RequestStatus.RemovedFromQueue |
- consts.RequestStatus.Completed
+ fcp2.MsgClientGet,
+ ('RequestStatus', fcp2.ConstRequestStatus.Error |
+ fcp2.ConstRequestStatus.RemovedFromQueue |
+ fcp2.ConstRequestStatus.Completed
),
)
@@ -1005,11 +1001,11 @@
def test_700_peristent_request_auto_retrieve_data(self):
self.connectClient()
- myKey = self.client.key.key('KSK@foo')
- myIdentifier = self.client.getData(myKey, persistence=self.client.consts.Persistence.Forever)
+ myKey = fcp2.Key('KSK@foo')
+ myIdentifier = self.client.getData(myKey, persistence=fcp2.ConstPersistence.Forever)
requestsAll = self.client.getRequests()
- self.assertHasNextMessage('ClientGet')
+ self.assertHasNextMessage(fcp2.MsgClientGet)
data = 'foo'
params = {
@@ -1023,7 +1019,7 @@
**params
)
- self.assertHasNextMessage('GetRequestStatus')
+ self.assertHasNextMessage(fcp2.MsgGetRequestStatus)
self.assertHasNextEvent(None)
self.assertHasNextMessage(None)
@@ -1033,11 +1029,11 @@
def test_800_peristent_request_not_removed_on_success(self):
self.connectClient()
- myKey = self.client.key.key('KSK@foo')
- myIdentifier = self.client.getData(myKey, persistence=self.client.consts.Persistence.Forever)
+ myKey = fcp2.Key('KSK@foo')
+ myIdentifier = self.client.getData(myKey, persistence=fcp2.ConstPersistence.Forever)
requestsAll = self.client.getRequests()
- self.assertHasNextMessage('ClientGet')
+ self.assertHasNextMessage(fcp2.MsgClientGet)
data = 'foo'
self.sendResponseMessage(
'AllData',
@@ -1059,11 +1055,11 @@
def test_900_peristent_request_not_removed_on_error(self):
self.connectClient()
- myKey = self.client.key.key('KSK@foo')
- myIdentifier = self.client.getData(myKey, persistence=self.client.consts.Persistence.Forever)
+ myKey = fcp2.Key('KSK@foo')
+ myIdentifier = self.client.getData(myKey, persistence=fcp2.ConstPersistence.Forever)
requestsAll = self.client.getRequests()
- self.assertHasNextMessage('ClientGet')
+ self.assertHasNextMessage(fcp2.MsgClientGet)
self.sendResponseMessage(
'GetFailed',
Code='28', # All data not found
@@ -1094,15 +1090,15 @@
callNext=False
)
- self.assertRaises(consts.MessageParseError, self.client.next)
+ self.assertRaises(fcp2.ErrorMessageParse, self.client.next)
self.failIf(myIdentifier in requestsAll)
def test_920_restore_peristent_request_success(self):
self.connectClient()
requestsAll = self.client.getRequests()
- myKey = self.client.key.key('KSK@foo')
- myIdentifier = self.client.getData(myKey, persistence=self.client.consts.Persistence.Forever)
+ myKey = fcp2.Key('KSK@foo')
+ myIdentifier = self.client.getData(myKey, persistence=fcp2.ConstPersistence.Forever)
self.failUnless(myIdentifier in requestsAll)
myRequest = self.client.getRequest(myIdentifier)
del requestsAll[myIdentifier]
@@ -1115,9 +1111,9 @@
myRequest = self.client.getRequest(myIdentifier)
msg = self.assertHasNextEvent(
self.client.events.RequestRestored,
- 'ClientGet',
+ fcp2.MsgClientGet,
('Identifier', myIdentifier),
- ('RequestStatus', consts.RequestStatus.Restored), # no RequestStatus.Pending flag should be set here
+ ('RequestStatus', fcp2.ConstRequestStatus.Restored), # no RequestStatus.Pending flag should be set here
)
@@ -1129,24 +1125,24 @@
def test_100_request_registered(self):
self.connectClient()
- myKey = self.client.key.key('KSK@foo')
+ myKey = fcp2.Key('KSK@foo')
myIdentifier = self.client.getFile(myKey, 'foo.txt')
requestsAll = self.client.getRequests()
self.failUnless(myIdentifier in requestsAll)
myRequest = self.client.getRequest(myIdentifier)
- self.assertEqual(myRequest['RequestType'], self.client.consts.RequestType.GetFile)
+ self.assertEqual(myRequest['RequestType'], fcp2.ConstRequestType.GetFile)
def test_200_key_object_is_accepted(self):
self.connectClient()
- myKey = self.client.key.key('KSK@foo')
+ myKey = fcp2.Key('KSK@foo')
myIdentifier = self.client.getFile(myKey, 'foo.txt')
requestsAll = self.client.getRequests()
def test_300_dda_denied(self):
self.connectClient()
- myKey = self.client.key.key('KSK@foo')
+ myKey = fcp2.Key('KSK@foo')
myIdentifier = self.client.getFile(
myKey,
os.path.join(DIR, 'DDATest.txt')
@@ -1154,7 +1150,7 @@
myRequest = self.client.getRequest(myIdentifier)
requestsAll = self.client.getRequests()
- self.assertHasNextMessage('ClientGet')
+ self.assertHasNextMessage(fcp2.MsgClientGet)
self.sendResponseMessage(
'ProtocolError',
Code=25, # DDADenied
@@ -1166,7 +1162,7 @@
# client should respond with a TestDDARequest
self.assertHasNextMessage(
- consts.Message.TestDDARequest,
+ fcp2.MsgTestDDARequest,
('Directory', DIR),
('WantWriteDirectory', True)
)
@@ -1184,7 +1180,7 @@
# client should respond with a TestDDAResponse
self.assertHasNextMessage(
- consts.Message.TestDDAResponse,
+ fcp2.MsgTestDDAResponse,
('Directory', DIR)
)
@@ -1203,7 +1199,7 @@
self.failIf(os.path.isfile(fpath))
# client sahould send a new ClientGet
- msg = self.assertHasNextMessage(consts.Message.ClientGet)
+ msg = self.assertHasNextMessage(fcp2.MsgClientGet)
# no events should have been triggered upo to now
self.assertHasNextEvent(None)
@@ -1230,16 +1226,16 @@
def test_100_request_registered(self):
self.connectClient()
- myKey = self.client.key.key('KSK@foo')
+ myKey = fcp2.Key('KSK@foo')
myIdentifier = self.client.getKeyInfo(myKey)
requestsAll = self.client.getRequests()
self.failUnless(myIdentifier in requestsAll)
myRequest = self.client.getRequest(myIdentifier)
- self.assertEqual(myRequest['RequestType'], self.client.consts.RequestType.GetKeyInfo)
+ self.assertEqual(myRequest['RequestType'], fcp2.ConstRequestType.GetKeyInfo)
def test_200_key_object_is_accepted(self):
self.connectClient()
- myKey = self.client.key.key('KSK@foo')
+ myKey = fcp2.Key('KSK@foo')
myIdentifier = self.client.getKeyInfo(myKey)
requestsAll = self.client.getRequests()
@@ -1247,12 +1243,12 @@
def test_300_getKeyInfo_Success(self):
self.connectClient()
- myKey = self.client.key.key('KSK@foo')
+ myKey = fcp2.Key('KSK@foo')
myIdentifier = self.client.getKeyInfo(myKey)
myRequest = self.client.getRequest(myIdentifier)
requestsAll = self.client.getRequests()
- self.assertHasNextMessage('ClientGet')
+ self.assertHasNextMessage(fcp2.MsgClientGet)
data = 'foo'
params = {
@@ -1267,10 +1263,10 @@
)
self.assertHasNextEvent(
self.client.events.RequestCompleted,
- consts.Message.ClientGet,
- ('RequestStatus', consts.RequestStatus.Success |
- consts.RequestStatus.RemovedFromQueue |
- consts.RequestStatus.Completed
+ fcp2.MsgClientGet,
+ ('RequestStatus', fcp2.ConstRequestStatus.Success |
+ fcp2.ConstRequestStatus.RemovedFromQueue |
+ fcp2.ConstRequestStatus.Completed
),
)
self.failIf(myIdentifier in requestsAll)
@@ -1284,12 +1280,12 @@
# test specdial case where ProtocolError.TooBig is handled as success
# request a arbitrary uri
- myKey = self.client.key.key('KSK@foo')
+ myKey = fcp2.Key('KSK@foo')
myIdentifier = self.client.getKeyInfo(myKey)
myRequest = self.client.getRequest(myIdentifier)
requestsAll = self.client.getRequests()
- self.assertHasNextMessage(consts.Message.ClientGet)
+ self.assertHasNextMessage(fcp2.MsgClientGet)
self.sendResponseMessage(
'GetFailed',
Code='21', # Too big
@@ -1299,10 +1295,10 @@
)
self.assertHasNextEvent(
self.client.events.RequestCompleted,
- consts.Message.ClientGet,
- ('RequestStatus', consts.RequestStatus.Success |
- consts.RequestStatus.RemovedFromQueue |
- consts.RequestStatus.Completed
+ fcp2.MsgClientGet,
+ ('RequestStatus', fcp2.ConstRequestStatus.Success |
+ fcp2.ConstRequestStatus.RemovedFromQueue |
+ fcp2.ConstRequestStatus.Completed
),
)
self.failIf(myIdentifier in requestsAll)
@@ -1315,12 +1311,12 @@
self.connectClient()
# request a arbitrary file
- myKey = self.client.key.key('KSK@foo')
+ myKey = fcp2.Key('KSK@foo')
myIdentifier = self.client.getKeyInfo(myKey)
myRequest = self.client.getRequest(myIdentifier)
requestsAll = self.client.getRequests()
- self.assertHasNextMessage(consts.Message.ClientGet)
+ self.assertHasNextMessage(fcp2.MsgClientGet)
self.sendResponseMessage(
'GetFailed',
Code='28', # All data not found
@@ -1330,10 +1326,10 @@
)
self.assertHasNextEvent(
self.client.events.RequestFailed,
- consts.Message.ClientGet,
- ('RequestStatus', consts.RequestStatus.Error |
- consts.RequestStatus.RemovedFromQueue |
- consts.RequestStatus.Completed
+ fcp2.MsgClientGet,
+ ('RequestStatus', fcp2.ConstRequestStatus.Error |
+ fcp2.ConstRequestStatus.RemovedFromQueue |
+ fcp2.ConstRequestStatus.Completed
),
)
self.failIf(myIdentifier in requestsAll)
@@ -1351,8 +1347,8 @@
self.sendResponseMessage('CloseConnectionDuplicateClientName')
msg = self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.DuplicateClientName),
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.DuplicateClientName),
)
self.failIf(self.ioOpen())
@@ -1363,13 +1359,13 @@
def test_1001_SocketDied_Receive(self):
self.connectClient()
self.getIO().setBroken(True)
- self.assertRaises(consts.IOBrokenError, self.client.next)
+ self.assertRaises(fcp2.ErrorIOBroken, self.client.next)
# check if ClientDisconnected events has been triggered
msg = self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.ConnectionDied),
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.ConnectionDied),
)
self.failIf(self.ioOpen())
@@ -1383,13 +1379,13 @@
self.getIO().setBroken(True)
# send a test message
- self.assertRaises(consts.IOBrokenError, self.client.sendMessage, message.newMessageClass('test')())
+ self.assertRaises(fcp2.ErrorIOBroken, self.client.sendMessage, fcp2.newMessageClass('test')())
# check if ClientDisconnected events has been triggered
msg = self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.ConnectionDied),
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.ConnectionDied),
)
self.failIf(self.ioOpen())
@@ -1402,7 +1398,7 @@
self.connectClient()
self.client.closeNode()
- msg = self.assertHasNextMessage(consts.Message.Shutdown)
+ msg = self.assertHasNextMessage(fcp2.MsgShutdown)
self.sendResponseMessage(
'ProtocolError',
Code='18', # Shutting down
@@ -1411,8 +1407,8 @@
# check events the client triggered
msg = self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.NodeClosing)
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.NodeClosing)
)
self.failIf(self.ioOpen())
@@ -1426,7 +1422,7 @@
for n, nodeHello in enumerate(self.client.iterConnect(duration=1, timeout=0.1)):
if n == 2:
self.assertHasNextMessage(
- consts.Message.ClientHello
+ fcp2.MsgClientHello
)
self.sendResponseMessage(
'NodeHello',
@@ -1447,8 +1443,8 @@
# check events the client triggered
msg = self.assertHasNextEvent(
self.client.events.ClientDisconnected,
- consts.Message.ClientDisconnected,
- ('DisconnectReason', consts.DisconnectReason.VersionMissmatch)
+ fcp2.MsgClientDisconnected,
+ ('DisconnectReason', fcp2.ConstDisconnectReason.VersionMissmatch)
)
self.failIf(self.ioOpen())
@@ -1470,12 +1466,12 @@
myRequest = self.client.getRequest(myIdentifier)
requestsAll = self.client.getRequests()
- self.assertHasNextMessage(consts.Message.ClientGet)
+ self.assertHasNextMessage(fcp2.MsgClientGet)
self.assertHasNextEvent(None)
self.failUnless(myIdentifier in requestsAll)
self.assertEqual(myIdentifier, myRequest['Identifier'])
- self.assertEqual(myRequest['RequestStatus'], consts.RequestStatus.Null)
+ self.assertEqual(myRequest['RequestStatus'], fcp2.ConstRequestStatus.Null)
self.assertHasNextEvent(None)
self.assertHasNextMessage(None)
@@ -1494,7 +1490,7 @@
myRequest = self.client.getRequest(myIdentifier)
requestsAll = self.client.getRequests()
- self.assertHasNextMessage(consts.Message.ClientGet)
+ self.assertHasNextMessage(fcp2.MsgClientGet)
# respond to the file request
self.sendResponseMessage(
@@ -1544,23 +1540,23 @@
# client should complete and remove the request
self.assertHasNextEvent(
self.client.events.RequestCompleted,
- consts.Message.ClientGet,
- ('RequestStatus', consts.RequestStatus.Success |
- consts.RequestStatus.RemovedFromQueue |
- consts.RequestStatus.Completed
+ fcp2.MsgClientGet,
+ ('RequestStatus', fcp2.ConstRequestStatus.Success |
+ fcp2.ConstRequestStatus.RemovedFromQueue |
+ fcp2.ConstRequestStatus.Completed
),
data=data
)
self.failIf(myIdentifier in requestsAll)
- self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed)
+ self.failUnless(myRequest['RequestStatus'] & fcp2.ConstRequestStatus.Completed)
# cheat a bit to test peristence == Forever (client should not remove request)
requestsAll[myIdentifier] =myRequest
- myRequest['Persistence'] = consts.Persistence.Forever
- myRequest['RequestStatus'] &= ~(consts.RequestStatus.Success |
- consts.RequestStatus.Completed |
- consts.RequestStatus.RemovedFromQueue
+ myRequest['Persistence'] = fcp2.Persistence.Forever
+ myRequest['RequestStatus'] &= ~(fcp2.ConstRequestStatus.Success |
+ fcp2.ConstRequestStatus.Completed |
+ fcp2.ConstRequestStatus.RemovedFromQueue
)
self.sendResponseMessage(
'AllData',
@@ -1573,12 +1569,12 @@
# client should complete but not remove the request
self.assertHasNextEvent(
self.client.e...
[truncated message content] |
|
From: <jU...@us...> - 2008-07-01 18:44:13
|
Revision: 476
http://fclient.svn.sourceforge.net/fclient/?rev=476&view=rev
Author: jUrner
Date: 2008-07-01 11:42:55 -0700 (Tue, 01 Jul 2008)
Log Message:
-----------
superfluous import
Modified Paths:
--------------
trunk/fcp2/src/fcp2/test_fcp/test_client.py
Modified: trunk/fcp2/src/fcp2/test_fcp/test_client.py
===================================================================
--- trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-01 18:41:38 UTC (rev 475)
+++ trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-01 18:42:55 UTC (rev 476)
@@ -38,7 +38,7 @@
"""Base class for all tests"""
client = fcp2.Client(
- #debugVerbosity=Client.fcp2.DebugVerbosity.Debug
+ #debugVerbosity=fcp2.ConstDebugVerbosity.Debug,
debugVerbosity=fcp2.ConstDebugVerbosity.Quiet
)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jU...@us...> - 2008-07-02 07:05:23
|
Revision: 483
http://fclient.svn.sourceforge.net/fclient/?rev=483&view=rev
Author: jUrner
Date: 2008-07-02 00:05:32 -0700 (Wed, 02 Jul 2008)
Log Message:
-----------
fixed broken docstrings
Modified Paths:
--------------
trunk/fcp2/src/fcp2/test_fcp/test_client.py
Modified: trunk/fcp2/src/fcp2/test_fcp/test_client.py
===================================================================
--- trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-02 07:05:23 UTC (rev 482)
+++ trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-02 07:05:32 UTC (rev 483)
@@ -113,7 +113,7 @@
):
"""Tests if we received a certain event from the client
@param expectedEvent: the event expected or None if no event is expected
- @param messageName: expected mesageName or None if no message is expected
+ @param message: expected mesage or None if no message is expected
@param param1: tuple(paramName, value) of a message parameter expected
@param data: data expected along with the message or None
@@ -174,7 +174,7 @@
data=None
):
"""Tests if we received a certain message from the client
- @param messageName: expected mesageName or None if no message is expected
+ @param message: expected mesage or None if no message is expected
@param param1: tuple(paramName, value) of a message parameter expected
@param data: data expected along with the message or None
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jU...@us...> - 2008-07-04 08:26:46
|
Revision: 489
http://fclient.svn.sourceforge.net/fclient/?rev=489&view=rev
Author: jUrner
Date: 2008-07-04 01:26:52 -0700 (Fri, 04 Jul 2008)
Log Message:
-----------
adapt to changes in key.py
Modified Paths:
--------------
trunk/fcp2/src/fcp2/test_fcp/test_client.py
Modified: trunk/fcp2/src/fcp2/test_fcp/test_client.py
===================================================================
--- trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-04 08:26:26 UTC (rev 488)
+++ trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-04 08:26:52 UTC (rev 489)
@@ -3031,8 +3031,8 @@
requestsAll = self.client.getRequests()
self.assertHasNextMessage(fcp2.MsgGenerateSSK)
- priv = fcp2.Key('SSK@' + DummyKeyData + '/priv')
- pub = fcp2.Key('SSK@' + DummyKeyData + '/pub')
+ priv = fcp2.Key('SSK@' + DummyKeyData + '/')
+ pub = fcp2.Key('SSK@' + DummyKeyData + '/')
self.sendResponseMessage(
'SSKKeypair',
Identifier=myIdentifier,
@@ -3067,8 +3067,8 @@
requestsAll = self.client.getRequests()
self.assertHasNextMessage(fcp2.MsgGenerateSSK)
- priv = fcp2.Key('SSK@' + DummyKeyData + '/priv')
- pub = fcp2.Key('SSK@' + DummyKeyData + '/pub')
+ priv = fcp2.Key('SSK@' + DummyKeyData + '/')
+ pub = fcp2.Key('SSK@' + DummyKeyData + '/')
self.sendResponseMessage(
'SSKKeypair',
Identifier=myIdentifier,
@@ -3076,8 +3076,8 @@
InsertURI=priv,
)
- priv = fcp2.KeyUSK(priv.keyData, filename=priv.filename)
- pub = fcp2.KeyUSK(pub.keyData, filename=pub.filename)
+ priv = fcp2.KeyUSK(priv.keyData, docName=priv.docName)
+ pub = fcp2.KeyUSK(pub.keyData, docName=pub.docName)
msg = self.assertHasNextEvent(
self.client.events.KeypairGenerated,
fcp2.MsgGenerateSSK,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jU...@us...> - 2008-07-05 11:24:15
|
Revision: 498
http://fclient.svn.sourceforge.net/fclient/?rev=498&view=rev
Author: jUrner
Date: 2008-07-05 04:24:24 -0700 (Sat, 05 Jul 2008)
Log Message:
-----------
added some tests for clientGet/Put
Modified Paths:
--------------
trunk/fcp2/src/fcp2/test_fcp/test_client.py
Modified: trunk/fcp2/src/fcp2/test_fcp/test_client.py
===================================================================
--- trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-05 11:19:36 UTC (rev 497)
+++ trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-05 11:24:24 UTC (rev 498)
@@ -30,7 +30,7 @@
##TestAgainstNode = 0 # don't know how to test against node. Do not touch this!
# for testing some valid key data
-DummyKeyData = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA'
+DummyKeyData = 'aaa,bbb,ccc'
#***********************************************************************************
#
#***********************************************************************************
@@ -639,7 +639,7 @@
#***********************************************************************************
#
#***********************************************************************************
-# TODO: no idea how t test this
+# TODO: no idea how to test this
class Test_startNode(BaseTestClient):
pass
@@ -859,10 +859,14 @@
self.assertHasNextEvent(None)
self.assertHasNextMessage(None)
self.failUnless(self.ioOpen())
-
#***********************************************************************************
#
#***********************************************************************************
+#TODO: not tested
+class Test_clientGet(BaseTestClient): pass
+#***********************************************************************************
+#
+#***********************************************************************************
class Test_getData(BaseTestClient):
def test_100_request_registered(self):
@@ -1455,428 +1459,24 @@
#***********************************************************************************
#
#***********************************************************************************
-class Test_clientGet(BaseTestClient):
+class Test_clientPut(BaseTestClient):
- def test_2000_ClientGetRegistered(self):
-
- # request a arbitrary file
- myIdentifier = self.client.getData(
- 'arbitrary-uri',
- )
- myRequest = self.client.getRequest(myIdentifier)
- requestsAll = self.client.getRequests()
+ def test_keyTailIsDisallowed(self):
+ self.connectClient()
- self.assertHasNextMessage(fcp2.MsgClientGet)
- self.assertHasNextEvent(None)
-
- self.failUnless(myIdentifier in requestsAll)
- self.assertEqual(myIdentifier, myRequest['Identifier'])
- self.assertEqual(myRequest['RequestStatus'], fcp2.ConstRequestStatus.Null)
+ # key.tail is not allowed in all put actions
+ myKey = fcp2.KeyCHK(keyData=DummyKeyData, tail='foo')
+ self.assertRaises(ValueError, self.client.clientPut, fcp2.ConstRequestType.PutData, myKey, data='foo')
- self.assertHasNextEvent(None)
- self.assertHasNextMessage(None)
+ myKey = fcp2.KeySSK(keyData=DummyKeyData, tail='foo')
+ self.assertRaises(ValueError, self.client.clientPut, fcp2.ConstRequestType.PutData, myKey, data='foo')
- del requestsAll[myIdentifier]
- self.failIf(requestsAll)
-
-
+ myKey = fcp2.KeyUSK(keyData=DummyKeyData, tail='foo')
+ self.assertRaises(ValueError, self.client.clientPut, fcp2.ConstRequestType.PutData, myKey, data='foo')
- def test_2001_GetData_Success(self):
-
- # request a arbitrary file
- myIdentifier = self.client.getData(
- 'arbitrary-uri',
- )
- myRequest = self.client.getRequest(myIdentifier)
- requestsAll = self.client.getRequests()
-
- self.assertHasNextMessage(fcp2.MsgClientGet)
-
- # respond to the file request
- self.sendResponseMessage(
- 'PersistentGet',
- Started='false',
- **myRequest.params
- )
-
- # simulate a progress
- self.sendResponseMessage(
- 'SimpleProgress',
- Identifier=myIdentifier,
- Total=10,
- Required=8,
- Failed=0,
- FatallyFailed=0,
- FinalizedTotal='true',
- Succeeded=1,
- )
- self.assertHasNextEvent(
- self.client.events.RequestProgress,
- )
-
- # finalize request
- data = 'foo'
- params = {
- 'Identifier': myIdentifier,
- 'Global': 'false',
- 'DataLength': len(data),
- 'Metadata.ContentType': 'any',
- }
- self.sendResponseMessage(
- 'DataFound',
- **params
- )
- # we don't expect an event here....
- self.assertHasNextEvent(None)
-
- self.sendResponseMessage(
- 'AllData',
- data=data,
- Identifier=myIdentifier,
- Global='false',
- DataLength=len(data),
- )
-
- # client should complete and remove the request
- self.assertHasNextEvent(
- self.client.events.RequestCompleted,
- fcp2.MsgClientGet,
- ('RequestStatus', fcp2.ConstRequestStatus.Success |
- fcp2.ConstRequestStatus.RemovedFromQueue |
- fcp2.ConstRequestStatus.Completed
- ),
- data=data
- )
- self.failIf(myIdentifier in requestsAll)
- self.failUnless(myRequest['RequestStatus'] & fcp2.ConstRequestStatus.Completed)
-
-
- # cheat a bit to test peristence == Forever (client should not remove request)
- requestsAll[myIdentifier] =myRequest
- myRequest['Persistence'] = fcp2.Persistence.Forever
- myRequest['RequestStatus'] &= ~(fcp2.ConstRequestStatus.Success |
- fcp2.ConstRequestStatus.Completed |
- fcp2.ConstRequestStatus.RemovedFromQueue
- )
- self.sendResponseMessage(
- 'AllData',
- data=data,
- Identifier=myIdentifier,
- Global='false',
- DataLength=len(data),
- )
-
- # client should complete but not remove the request
- self.assertHasNextEvent(
- self.client.events.RequestCompleted,
- fcp2.MsgClientGet,
- ('RequestStatus', fcp2.ConstRequestStatus.Success | fcp2.ConstRequestStatus.Completed),
- data=data
- )
- self.failUnless(myIdentifier in requestsAll)
- self.failUnless(myRequest['RequestStatus'] & fcp2.ConstRequestStatus.Completed)
-
- self.assertHasNextEvent(None)
- self.assertHasNextMessage(None)
-
- del requestsAll[myIdentifier]
- self.failIf(requestsAll)
-
-
- def test_2002_GetData_Failure(self):
-
- # request a arbitrary file
- myIdentifier = self.client.getData(
- 'arbitrary-uri',
- )
- myRequest = self.client.getRequest(myIdentifier)
- requestsAll = self.client.getRequests()
-
- self.assertHasNextMessage(fcp2.MsgClientGet)
-
- # respond to the file request
- self.sendResponseMessage(
- 'PersistentGet',
- Started='false',
- **myRequest.params
- )
-
- # finalize request
- self.sendResponseMessage(
- 'GetFailed',
- Code='28', # All data not found
- Identifier=myIdentifier,
- Global='false',
- # blah.. more here
- )
-
- # client should complete request and remove it
- self.assertHasNextEvent(
- self.client.events.RequestFailed,
- fcp2.MsgClientGet,
- ('RequestStatus', fcp2.ConstRequestStatus.Error |
- fcp2.ConstRequestStatus.RemovedFromQueue |
- fcp2.ConstRequestStatus.Completed
- ),
- )
- self.assertHasNextEvent(None)
- self.assertHasNextMessage(None)
-
- #return
-
- # cheat a bit to test peristence == Forever (client should not remove request)
-
- requestsAll[myIdentifier] =myRequest
- myRequest['Persistence'] = fcp2.Persistence.Forever
- myRequest['RequestStatus'] &= ~(fcp2.ConstRequestStatus.Error |
- fcp2.ConstRequestStatus.Completed |
- fcp2.ConstRequestStatus.RemovedFromQueue
- )
- 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.client.events.RequestFailed,
- fcp2.MsgClientGet,
- ('RequestStatus', fcp2.ConstRequestStatus.Error | fcp2.ConstRequestStatus.Completed),
- )
- self.failUnless(myIdentifier in requestsAll)
- self.assertHasNextEvent(None)
- self.assertHasNextMessage(None)
-
- del requestsAll[myIdentifier]
- self.failIf(requestsAll)
-
-
- def test_2003_GetFile_Success(self):
-
- # request a arbitrary file
- myIdentifier = self.client.getFile(
- 'arbitrary-uri',
- 'arbitryry.txt'
- )
- myRequest = self.client.getRequest(myIdentifier)
- requestsAll = self.client.getRequests()
-
- self.assertHasNextMessage(fcp2.MsgClientGet)
-
- # respond to the file request
- self.sendResponseMessage(
- 'PersistentGet',
- Started='false',
- **myRequest.params
- )
-
- # finalize request
- data = 'foo'
- params = {
- 'Identifier': myIdentifier,
- 'Global': 'false',
- 'DataLength': 123456,
- 'Metadata.ContentType': 'any',
- }
- self.sendResponseMessage(
- 'DataFound',
- **params
- )
- self.assertHasNextEvent(
- self.client.events.RequestCompleted,
- fcp2.MsgClientGet,
- ('RequestStatus', fcp2.ConstRequestStatus.Success |
- fcp2.ConstRequestStatus.RemovedFromQueue |
- fcp2.ConstRequestStatus.Completed
- ),
- )
- self.failIf(myIdentifier in requestsAll)
- self.failUnless(myRequest['RequestStatus'] & fcp2.ConstRequestStatus.Completed)
- self.assertHasNextEvent(None)
- self.assertHasNextMessage(None)
-
- self.failIf(requestsAll)
-
-
- def test_2004_GetFile_Failure(self):
-
- # request a arbitrary file
- myIdentifier = self.client.getFile(
- 'arbitrary-uri',
- 'arbitryry.txt'
- )
- myRequest = self.client.getRequest(myIdentifier)
- requestsAll = self.client.getRequests()
-
- self.assertHasNextMessage(fcp2.MsgClientGet)
-
- # respond to the file request
- self.sendResponseMessage(
- 'PersistentGet',
- Started='false',
- **myRequest.params
- )
-
- # finalize request
- self.sendResponseMessage(
- 'GetFailed',
- Code='28', # All data not found
- Identifier=myIdentifier,
- Global='false',
- # blah.. more here
- )
-
- self.assertHasNextEvent(
- self.client.events.RequestFailed,
- fcp2.MsgClientGet,
- ('RequestStatus', fcp2.ConstRequestStatus.Error |
- fcp2.ConstRequestStatus.RemovedFromQueue |
- fcp2.ConstRequestStatus.Completed
- ),
- )
- self.failIf(myIdentifier in requestsAll)
- self.assertHasNextEvent(None)
- self.assertHasNextMessage(None)
-
- self.failIf(requestsAll)
-
-
- def test_2005_GetKeyInfo_Success(self):
-
- # request a arbitrary uri
- myIdentifier = self.client.getKeyInfo(
- 'arbitrary-uri',
- )
- myRequest = self.client.getRequest(myIdentifier)
- requestsAll = self.client.getRequests()
-
- self.assertHasNextMessage(fcp2.MsgClientGet)
-
- # respond to the file request
- self.sendResponseMessage(
- 'PersistentGet',
- Started='false',
- **myRequest.params
- )
-
- # finalize request
- data = 'foo'
- params = {
- 'Identifier': myIdentifier,
- 'Global': 'false',
- 'DataLength': 123456,
- 'Metadata.ContentType': 'any',
- }
- self.sendResponseMessage(
- 'DataFound',
- **params
- )
- self.assertHasNextEvent(
- self.client.events.RequestCompleted,
- fcp2.MsgClientGet,
- ('RequestStatus', fcp2.ConstRequestStatus.Success |
- fcp2.ConstRequestStatus.RemovedFromQueue |
- fcp2.ConstRequestStatus.Completed
- ),
- )
- self.failIf(myIdentifier in requestsAll)
- self.failUnless(myRequest['RequestStatus'] & fcp2.ConstRequestStatus.Completed)
- self.assertHasNextEvent(None)
- self.assertHasNextMessage(None)
-
- self.failIf(requestsAll)
-
-
- def test_2006_GetKeyInfo_TooBig(self):
-
- # test specdial case where ProtocolError.TooBig is handled as success
- # request a arbitrary uri
- myIdentifier = self.client.getKeyInfo(
- 'arbitrary-uri',
- )
- myRequest = self.client.getRequest(myIdentifier)
- requestsAll = self.client.getRequests()
-
- self.assertHasNextMessage(fcp2.MsgClientGet)
-
- # respond to the file request
- self.sendResponseMessage(
- 'PersistentGet',
- Started='false',
- **myRequest.params
- )
-
- # finalize request
- self.sendResponseMessage(
- 'GetFailed',
- Code='21', # Too big
- Identifier=myIdentifier,
- Global='false',
- # blah.. more here
- )
- self.assertHasNextEvent(
- self.client.events.RequestCompleted,
- fcp2.MsgClientGet,
- ('RequestStatus', fcp2.ConstRequestStatus.Success |
- fcp2.ConstRequestStatus.RemovedFromQueue |
- fcp2.ConstRequestStatus.Completed
- ),
- )
- self.failUnless(myRequest['RequestStatus'] & fcp2.ConstRequestStatus.Completed)
- self.assertHasNextEvent(None)
- self.assertHasNextMessage(None)
-
- self.failIf(requestsAll)
-
-
-
- def test_2007_GetKeyInfo_Failure(self):
-
- # request a arbitrary file
- myIdentifier = self.client.getKeyInfo(
- 'arbitrary-uri',
- )
- myRequest = self.client.getRequest(myIdentifier)
- requestsAll = self.client.getRequests()
-
- self.assertHasNextMessage(fcp2.MsgClientGet)
-
- # respond to the file request
- self.sendResponseMessage(
- 'PersistentGet',
- Started='false',
- **myRequest.params
- )
-
- # finalize request
- self.sendResponseMessage(
- 'GetFailed',
- Code='28', # All data not found
- Identifier=myIdentifier,
- Global='false',
- # blah.. more here
- )
- self.assertHasNextEvent(
- self.client.events.RequestFailed,
- fcp2.MsgClientGet,
- ('RequestStatus', fcp2.ConstRequestStatus.Error |
- fcp2.ConstRequestStatus.RemovedFromQueue |
- fcp2.ConstRequestStatus.Completed
- ),
- )
- self.failUnless(myRequest['RequestStatus'] & fcp2.ConstRequestStatus.Completed)
- self.assertHasNextEvent(None)
- self.assertHasNextMessage(None)
-
- self.failIf(requestsAll)
-
#***********************************************************************************
#
#***********************************************************************************
-#TODO: check if TargetFilename handling is ok for CHKs
class Test_putData(BaseTestClient):
def test_putData_Success(self):
@@ -1946,6 +1546,8 @@
self.assertHasNextEvent(None)
self.assertHasNextMessage(None)
self.failIf(requestsAll)
+
+
#***********************************************************************************
#
#***********************************************************************************
@@ -3162,10 +2764,12 @@
Test_getConfig,
Test_modifyConfig,
+ Test_clientGet,
Test_getData,
Test_getFile,
Test_getKeyInfo,
+ Test_clientPut,
Test_putData,
Test_putDir,
Test_putFile,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jU...@us...> - 2008-07-05 11:25:13
|
Revision: 500
http://fclient.svn.sourceforge.net/fclient/?rev=500&view=rev
Author: jUrner
Date: 2008-07-05 04:25:21 -0700 (Sat, 05 Jul 2008)
Log Message:
-----------
beautify
Modified Paths:
--------------
trunk/fcp2/src/fcp2/test_fcp/test_client.py
Modified: trunk/fcp2/src/fcp2/test_fcp/test_client.py
===================================================================
--- trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-05 11:24:52 UTC (rev 499)
+++ trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-05 11:25:21 UTC (rev 500)
@@ -2179,13 +2179,6 @@
('WantWriteDirectory', True)
)
- #msg = self.nextMessage()
- #self.failIf(msg is None)
- #self.assertEqual(msg.name, fcp2.MsgTestDDARequest)
- ##self.assertEqual(msg['Directory'], DIR)
- #self.failIf(not msg['WantWriteDirectory'])
-
-
# respond with a TestDDAReply message
writeContent = 'blah'
fd, fpath = tempfile.mkstemp(dir=DIR)
@@ -2240,10 +2233,6 @@
self.failIf(requestsAll)
- #def testDDAReadDenied(self):
-
- # pass
-
#***********************************************************************************
#
#***********************************************************************************
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jU...@us...> - 2008-07-05 11:51:14
|
Revision: 501
http://fclient.svn.sourceforge.net/fclient/?rev=501&view=rev
Author: jUrner
Date: 2008-07-05 04:51:22 -0700 (Sat, 05 Jul 2008)
Log Message:
-----------
added DDA test cases
Modified Paths:
--------------
trunk/fcp2/src/fcp2/test_fcp/test_client.py
Modified: trunk/fcp2/src/fcp2/test_fcp/test_client.py
===================================================================
--- trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-05 11:25:21 UTC (rev 500)
+++ trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-05 11:51:22 UTC (rev 501)
@@ -2143,8 +2143,7 @@
#
#***********************************************************************************
#TODO: testDDAReadDenied_ReadDissallowed
-#TODO: testDDAWriteDenied
-#TODO: testDDAWriteDenied_WriteDisallowed
+#TODO: testDDAReadDenied
class Test_DDA(BaseTestClient):
def test_DDAWriteDenied(self):
@@ -2168,8 +2167,8 @@
Code=25, # DDADenied
Identifier=myIdentifier,
ExtraDescription='An error occured',
- Fatal='false',
- Global='false',
+ Fatal=False,
+ Global=False,
)
# client should respond with a TestDDARequest
@@ -2204,7 +2203,7 @@
self.sendResponseMessage(
'TestDDAComplete',
Directory=DIR,
- WriteDirectoryAllowed='true',
+ WriteDirectoryAllowed=True,
)
# check if our tempfile was removed
@@ -2219,20 +2218,241 @@
# respond with a PersistentGet
self.sendResponseMessage(
'PersistentGet',
- Started='false',
+ Started=False,
**msg.params
)
- requests = self.client.getRequests()
- self.assertEqual(len(requests), 1)
+ self.assertEqual(len(requestsAll), 1)
+ self.assertHasNextEvent(None)
+ self.assertHasNextMessage(None)
+
+
+ def test_DDAWriteDenied_writeDisallowed(self):
+ self.connectClient()
+
+ # request a file
+ myKey = fcp2.Key('KSK@foo')
+ myIdentifier = self.client.getFile(
+ myKey,
+ os.path.join(DIR, 'DDATest.txt')
+ )
+ myRequest = self.client.getRequest(myIdentifier)
+ requestsAll = self.client.getRequests()
+
+ # client schould send a ClientGet
+ self.assertHasNextMessage(fcp2.MsgClientGet)
+
+ # respond with a ProtocolError
+ self.sendResponseMessage(
+ 'ProtocolError',
+ Code=25, # DDADenied
+ Identifier=myIdentifier,
+ ExtraDescription='An error occured',
+ Fatal=False,
+ Global=False,
+ )
+
+ # client should respond with a TestDDARequest
+ self.assertHasNextMessage(
+ fcp2.MsgTestDDARequest,
+ ('Directory', DIR),
+ ('WantWriteDirectory', True)
+ )
+
+ # respond with a TestDDAReply message
+ writeContent = 'blah'
+ fd, fpath = tempfile.mkstemp(dir=DIR)
+ os.close(fd)
+ self.sendResponseMessage(
+ 'TestDDAReply',
+ Directory=DIR,
+ WriteFilename=fpath,
+ ContentToWrite=writeContent,
+ )
+
+ # client should respond with a TestDDAResponse
+ self.assertHasNextMessage(
+ fcp2.MsgTestDDAResponse,
+ ('Directory', DIR)
+ )
+
+ # check if content was written
+ with open(fpath) as fp:
+ self.failUnless(fp.read() == writeContent)
+
+ # respond with a TestDDAComplete message
+ self.sendResponseMessage(
+ 'TestDDAComplete',
+ Directory=DIR,
+ WriteDirectoryAllowed=False,
+ )
+
+ # check if our tempfile was removed
+ self.failIf(os.path.isfile(fpath))
+
+ # client schould trigger a RequestFailed event
+ self.assertHasNextEvent(
+ self.client.events.RequestFailed,
+ myRequest,
+ )
+
+ self.failIf(requestsAll)
self.assertHasNextEvent(None)
self.assertHasNextMessage(None)
- del requestsAll[myIdentifier]
+
+ def test_DDAReadDenied(self):
+ self.connectClient()
+
+ # request a file
+ myKey = fcp2.Key('KSK@foo')
+ myIdentifier = self.client.putFile(
+ myKey,
+ os.path.join(DIR, 'DDATest.txt')
+ )
+ myRequest = self.client.getRequest(myIdentifier)
+ requestsAll = self.client.getRequests()
+
+ # client schould send a ClientGet
+ self.assertHasNextMessage(fcp2.MsgClientPut)
+
+ # respond with a ProtocolError
+ self.sendResponseMessage(
+ 'ProtocolError',
+ Code=25, # DDADenied
+ Identifier=myIdentifier,
+ ExtraDescription='An error occured',
+ Fatal=False,
+ Global=False,
+ )
+
+ # client should respond with a TestDDARequest
+ self.assertHasNextMessage(
+ fcp2.MsgTestDDARequest,
+ ('Directory', DIR),
+ ('WantReadDirectory', True)
+ )
+
+ #
+ readContent = '123456789'
+ readFilename = os.path.join(DIR, 'DDATest.txt')
+ fp = open(readFilename, 'w')
+ self.tmpfiles.append(readFilename)
+ try:
+ fp.write(readContent)
+ finally:
+ fp.close()
+
+ self.sendResponseMessage(
+ 'TestDDAReply',
+ Directory=DIR,
+ ReadFilename=readFilename,
+ )
+
+ # client should respond with a TestDDAResponse
+ self.assertHasNextMessage(
+ fcp2.MsgTestDDAResponse,
+ ('Directory', DIR),
+ ('ReadContent', readContent)
+ )
+
+ # respond with a TestDDAComplete message
+ self.sendResponseMessage(
+ 'TestDDAComplete',
+ Directory=DIR,
+ ReadDirectoryAllowed=True,
+ )
+
+ # client sahould send a new ClientGet
+ msg = self.assertHasNextMessage(fcp2.MsgClientPut)
+
+ # no events should have been triggered upo to now
+ self.assertHasNextEvent(None)
+
+ # respond with a PersistentGet
+ self.sendResponseMessage(
+ 'PersistentPut',
+ **msg.params
+ )
+
+ self.assertEqual(len(requestsAll), 1)
+ self.assertHasNextEvent(None)
+ self.assertHasNextMessage(None)
+
+
+ def test_DDAReadDenied_readDisallowed(self):
+ self.connectClient()
+
+ # request a file
+ myKey = fcp2.Key('KSK@foo')
+ myIdentifier = self.client.putFile(
+ myKey,
+ os.path.join(DIR, 'DDATest.txt')
+ )
+ myRequest = self.client.getRequest(myIdentifier)
+ requestsAll = self.client.getRequests()
+
+ # client schould send a ClientGet
+ self.assertHasNextMessage(fcp2.MsgClientPut)
+
+ # respond with a ProtocolError
+ self.sendResponseMessage(
+ 'ProtocolError',
+ Code=25, # DDADenied
+ Identifier=myIdentifier,
+ ExtraDescription='An error occured',
+ Fatal=False,
+ Global=False,
+ )
+
+ # client should respond with a TestDDARequest
+ self.assertHasNextMessage(
+ fcp2.MsgTestDDARequest,
+ ('Directory', DIR),
+ ('WantReadDirectory', True)
+ )
+
+ #
+ readContent = '123456789'
+ readFilename = os.path.join(DIR, 'DDATest.txt')
+ fp = open(readFilename, 'w')
+ self.tmpfiles.append(readFilename)
+ try:
+ fp.write(readContent)
+ finally:
+ fp.close()
+
+ self.sendResponseMessage(
+ 'TestDDAReply',
+ Directory=DIR,
+ ReadFilename=readFilename,
+ )
+
+ # client should respond with a TestDDAResponse
+ self.assertHasNextMessage(
+ fcp2.MsgTestDDAResponse,
+ ('Directory', DIR),
+ ('ReadContent', readContent)
+ )
+
+ # respond with a TestDDAComplete message
+ self.sendResponseMessage(
+ 'TestDDAComplete',
+ Directory=DIR,
+ ReadDirectoryAllowed=False,
+ )
+
+ # client schould trigger a RequestFailed event
+ self.assertHasNextEvent(
+ self.client.events.RequestFailed,
+ myRequest,
+ )
+
self.failIf(requestsAll)
+ self.assertHasNextEvent(None)
+ self.assertHasNextMessage(None)
-
#***********************************************************************************
#
#***********************************************************************************
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <jU...@us...> - 2008-07-05 12:03:30
|
Revision: 502
http://fclient.svn.sourceforge.net/fclient/?rev=502&view=rev
Author: jUrner
Date: 2008-07-05 05:03:40 -0700 (Sat, 05 Jul 2008)
Log Message:
-----------
remove some todos
Modified Paths:
--------------
trunk/fcp2/src/fcp2/test_fcp/test_client.py
Modified: trunk/fcp2/src/fcp2/test_fcp/test_client.py
===================================================================
--- trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-05 11:51:22 UTC (rev 501)
+++ trunk/fcp2/src/fcp2/test_fcp/test_client.py 2008-07-05 12:03:40 UTC (rev 502)
@@ -2142,8 +2142,6 @@
#***********************************************************************************
#
#***********************************************************************************
-#TODO: testDDAReadDenied_ReadDissallowed
-#TODO: testDDAReadDenied
class Test_DDA(BaseTestClient):
def test_DDAWriteDenied(self):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|