make transporter doctest run with fake sftp server module

git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2760 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2008-07-14 07:00:57 +00:00
parent c367f55637
commit 596222d42b
4 changed files with 14 additions and 7 deletions

View file

@ -61,6 +61,8 @@ def setupEnvironment(config):
api.setup(config)
from cybertools.agent.system import rpcapi
rpcapi.setup(config)
from cybertools.agent.system import sftpapi
sftpapi.setup(config)
from cybertools.agent.crawl import base, filesystem, outlook

View file

@ -26,13 +26,12 @@ from twisted.internet.defer import succeed
class FileTransfer(object):
def __init__(self, host, port, username, password):
pass
def upload(self, localPath, remotePath):
deferred = succeed('Upload completed')
return deferred
pass

View file

@ -46,6 +46,7 @@ class Transporter(QueueableAgent):
serverURL = ''
server = ''
host = port = None
method = ''
machineName = ''
userName = ''
@ -57,7 +58,8 @@ class Transporter(QueueableAgent):
config = master.config
self.serverURL = config.transport.remote.url
self.server = rpcapi.xmlrpc.Proxy(self.serverURL)
self.ftpServer = sftpapi.FileTransfer(host, port, username, password)
self.ftpServer = sftpapi.FileTransfer(self.host, self.port,
self.userName, self.password)
#self.method = params[method]
#self.machineName = params[machineName]
#self.userName = params[userName]
@ -74,9 +76,11 @@ class Transporter(QueueableAgent):
self.deferred = defer.Deferred()
remoteFile = os.path.basename(resource.path)
d = self.ftpServer.upload(resource.path, remoteFile)
d = self.server.callRemote('getMetadata', resource.metadata)
d.addCallback(self.transferDone)
#d = self.server.callRemote('getMetadata', resource.metadata)
d.addErrback(self.errorHandler)
d.addCallback(lambda result:
self.server.callRemote('getMetadata', dict(resource.metadata)))
d.addCallback(self.transferDone)
return self.deferred
def errorHandler(self, errorInfo):

View file

@ -9,6 +9,7 @@ Agents for Job Execution and Communication Tasks
... scheduler(name='core')
... logger(name='default', standard=30)
... transport.remote.server = 'testing'
... transport.remote.sftp = 'testing'
... transport.remote.url = 'http://localhost:8123'
... '''
>>> from cybertools.agent.main import setup
@ -40,6 +41,7 @@ In the next step we request the start of a job, again via the controller.
>>> md01 = Metadata(dict(filename='dummy.txt'))
>>> r01 = Resource()
>>> r01.metadata = md01
>>> r01.path = 'resource.txt'
>>> controller.enterJob('sample', 'sample03', params=dict(resource=r01))
The job is not executed immediately - we have to hand over control to