SF.net SVN: fclient: [339] trunk/sandbox/fcp2/test_fcp/test_client.py
Status: Pre-Alpha
Brought to you by:
jurner
|
From: <jU...@us...> - 2008-03-08 11:12:22
|
Revision: 339
http://fclient.svn.sourceforge.net/fclient/?rev=339&view=rev
Author: jUrner
Date: 2008-03-08 03:12:22 -0800 (Sat, 08 Mar 2008)
Log Message:
-----------
adapt to new message handling
Modified Paths:
--------------
trunk/sandbox/fcp2/test_fcp/test_client.py
Modified: trunk/sandbox/fcp2/test_fcp/test_client.py
===================================================================
--- trunk/sandbox/fcp2/test_fcp/test_client.py 2008-03-08 11:11:57 UTC (rev 338)
+++ trunk/sandbox/fcp2/test_fcp/test_client.py 2008-03-08 11:12:22 UTC (rev 339)
@@ -1,4 +1,4 @@
-"""Unittests for fcp2_0_client"""
+"""Unittests for fcp2.client.py"""
from __future__ import with_statement
import os, sys
@@ -22,6 +22,7 @@
from fcp2 import consts
from fcp2 import iohandler
+from fcp2 import message
del hack
#<-- rel import hack
@@ -256,7 +257,11 @@
def sendResponseMessage(self, messageName, data=None, callNext=True, **params):
"""Posts a message to the client"""
- msg = Client.message.Message(messageName, data=data, **params)
+ if messageName in message.MessagesAll:
+ msgClass = message.MessagesAll[messageName]
+ else:
+ msgClass = message.newMessageType(messageName)
+ msg = msgClass(data=data, **params)
self.fcpClient.ioHandler.io.readBuffer += msg.toString()
if callNext:
self.fcpClient.next()
@@ -440,7 +445,7 @@
self.getIO().setBroken(True)
# send a test message
- self.assertRaises(iohandler.IOBroken, self.fcpClient.sendMessage, 'test' )
+ self.assertRaises(iohandler.IOBroken, self.fcpClient.sendMessage, message.newMessageType('test')())
# check if ClientDisconnected events has been triggered
msg = self.assertHasNextEvent(
@@ -476,6 +481,7 @@
('DisconnectReason', consts.DisconnectReason.Shutdown)
#('Param', NodeHelloMessage) # can not test here
)
+
self.failUnless('Param' in msg.params)
self.assertEqual(msg['Param'], None)
@@ -1954,8 +1960,7 @@
def test_resend_CHK(self):
myKey = 'CHK@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA/foo'
- msg = client.message.Message(
- consts.Message.ClientPut,
+ msg = message.ClientPut(
URI=myKey,
Persistence=consts.Persistence.Connection,
)
@@ -1975,8 +1980,7 @@
def test_resend_SSK(self):
myKey = 'SSK@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA'
- msg = client.message.Message(
- consts.Message.ClientPut,
+ msg = message.ClientPut(
URI=myKey + '/foo',
Persistence=consts.Persistence.Connection,
)
@@ -1998,8 +2002,7 @@
def test_resend_USK(self):
myKey = 'USK@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,AAAAAAA'
- msg = client.message.Message(
- consts.Message.ClientPut,
+ msg = message.ClientPut(
URI=myKey + '/foo/0',
Persistence=consts.Persistence.Connection,
)
@@ -2020,8 +2023,7 @@
def test_resend_KSK(self):
myKey = 'KSK@abs'
- msg = client.message.Message(
- consts.Message.ClientPut,
+ msg = message.ClientPut(
URI=myKey,
Persistence=consts.Persistence.Connection,
)
@@ -2143,11 +2145,11 @@
def test_8002_SendPluginMessage_Success(self):
- myIdentifier = self.fcpClient.sendPluginMessage('hi there', {'foo': "bar"})
- myRequest = self.fcpClient.getRequest(myIdentifier)
+ myIdentifier = '123456789'
+ myRequest = self.fcpClient.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"})
requestsAll = self.fcpClient.getRequests()
- self.failUnless(myIdentifier in requestsAll)
+ self.failIf(myIdentifier in requestsAll)
self.assertHasNextMessage(
consts.Message.FCPPluginMessage,
('Identifier', myIdentifier),
@@ -2164,19 +2166,11 @@
msg = self.assertHasNextEvent(
self.fcpClient.events.PluginMessage,
- consts.Message.FCPPluginMessage,
+ consts.Message.FCPPluginReply,
('PluginName', 'hi there'),
('Identifier', myIdentifier),
- ('RequestStatus', consts.RequestStatus.Success |
- consts.RequestStatus.RemovedFromQueue |
- consts.RequestStatus.Completed
- ),
+ ('baz', '12345'),
)
- reply = msg['PluginReply']
- self.failUnless(reply.params.get('baz', None) == '12345')
-
- self.failIf(myIdentifier in requestsAll)
- self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed)
self.assertHasNextEvent(None)
self.assertHasNextMessage(None)
@@ -2185,11 +2179,11 @@
def test_8003_GetSendPluginMessage_Failure(self):
- myIdentifier = self.fcpClient.sendPluginMessage('hi there', {'foo': "bar"})
- myRequest = self.fcpClient.getRequest(myIdentifier)
+ myIdentifier = '1234567889'
+ myRequest = self.fcpClient.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"})
requestsAll = self.fcpClient.getRequests()
- self.failUnless(myIdentifier in requestsAll)
+ self.failIf(myIdentifier in requestsAll)
self.assertHasNextMessage(
consts.Message.FCPPluginMessage,
('Identifier', myIdentifier),
@@ -2204,24 +2198,49 @@
)
msg = self.assertHasNextEvent(
- self.fcpClient.events.PluginMessageFailed,
- consts.Message.FCPPluginMessage,
- #('PluginName', 'hi there'),
+ self.fcpClient.events.ProtocolError,
+ consts.Message.ProtocolError,
('Identifier', myIdentifier),
- ('RequestStatus', consts.RequestStatus.Error |
- consts.RequestStatus.RemovedFromQueue |
- consts.RequestStatus.Completed
- ),
)
self.failIf(myIdentifier in requestsAll)
- self.failUnless(myRequest['RequestStatus'] & consts.RequestStatus.Completed)
-
+
self.assertHasNextEvent(None)
self.assertHasNextMessage(None)
self.failIf(requestsAll)
+ def test_8003_GetSendPluginMessage_Identifiercollision(self):
+ myIdentifier = '1234567889'
+ myRequest = self.fcpClient.sendPluginMessage('hi there', myIdentifier, {'foo': "bar"})
+ requestsAll = self.fcpClient.getRequests()
+
+ self.failIf(myIdentifier in requestsAll)
+ self.assertHasNextMessage(
+ consts.Message.FCPPluginMessage,
+ ('Identifier', myIdentifier),
+ ('PluginName', 'hi there'),
+ ('foo', 'bar'),
+ )
+
+ self.sendResponseMessage(
+ consts.Message.IdentifierCollision,
+ Identifier=myIdentifier,
+ )
+
+ msg = self.assertHasNextEvent(
+ self.fcpClient.events.IdentifierCollision,
+ consts.Message.IdentifierCollision,
+ ('Identifier', myIdentifier),
+ )
+
+ self.failIf(myIdentifier in requestsAll)
+
+ self.assertHasNextEvent(None)
+ self.assertHasNextMessage(None)
+ self.failIf(requestsAll)
+
+
#***********************************************************************************
#TODO: class TestConfig(BaseTestConnectedClient):
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|