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) api.setup(config)
from cybertools.agent.system import rpcapi from cybertools.agent.system import rpcapi
rpcapi.setup(config) rpcapi.setup(config)
from cybertools.agent.system import sftpapi
sftpapi.setup(config)
from cybertools.agent.crawl import base, filesystem, outlook from cybertools.agent.crawl import base, filesystem, outlook

View file

@ -34,5 +34,4 @@ class FileTransfer(object):
def upload(self, localPath, remotePath): def upload(self, localPath, remotePath):
deferred = succeed('Upload completed') deferred = succeed('Upload completed')
return deferred return deferred
pass

View file

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

View file

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