[svn r37500] postponing generalizing of host specifications for 0.9

--HG--
branch : trunk
This commit is contained in:
hpk 2007-01-28 21:25:48 +01:00
parent ae11e91791
commit 20222ec57b
2 changed files with 0 additions and 93 deletions

View File

@ -1,37 +0,0 @@
class InvalidHostSpec(ValueError):
pass
def parsehostspec(spec):
parts = spec.split(":", 2)
if len(parts) < 2:
raise InvalidHostSpec(spec)
type = parts.pop(0)
if type == 'ssh':
sshaddress = parts.pop(0)
basedir = parts and ":".join(parts) or ''
return SpecSSH(sshaddress, basedir)
elif type == 'socket':
host = parts.pop(0)
if not parts:
raise InvalidHostSpec(spec)
remainder = parts.pop(0)
parts = remainder.split(":", 1)
port = int(parts.pop(0))
basedir = parts and ":".join(parts) or ''
return SpecSocket(host, port, basedir)
else:
raise InvalidHostSpec(spec)
class SpecSSH(object):
def __init__(self, sshaddress, basedir):
self.sshaddress = sshaddress
self.basedir = basedir
self.host = sshaddress.split('@', 1)[-1]
class SpecSocket(object):
def __init__(self, host, port, basedir):
self.host = host
self.port = port
self.basedir = basedir

View File

@ -1,56 +0,0 @@
"""
Testing Host setup and rsyncing operations.
"""
import py
from py.__.test.host import parsehostspec
def test_parse_hostspec_ssh():
hostspec = parsehostspec("ssh:xyz@domain.net:directory")
assert hostspec.host == "domain.net"
assert hostspec.basedir == "directory"
assert hostspec.sshaddress == "xyz@domain.net"
hostspec = parsehostspec("ssh:xyz@domain.net:direc:tory")
assert hostspec.host == "domain.net"
assert hostspec.basedir == "direc:tory"
assert hostspec.sshaddress == "xyz@domain.net"
hostspec = parsehostspec("ssh:xyz@domain.net")
assert hostspec.host == "domain.net"
assert hostspec.basedir == ""
assert hostspec.sshaddress == "xyz@domain.net"
hostspec = parsehostspec("ssh:domain.net:directory")
assert hostspec.host == "domain.net"
assert hostspec.basedir == "directory"
assert hostspec.sshaddress == "domain.net"
hostspec = parsehostspec("ssh:domain.net:/tmp/hello")
assert hostspec.host == "domain.net"
assert hostspec.basedir == "/tmp/hello"
assert hostspec.sshaddress == "domain.net"
def test_parse_hostspec_socket():
hostspec = parsehostspec("socket:domain.net:1234:directory")
assert hostspec.host == "domain.net"
assert hostspec.port == 1234
assert hostspec.basedir == "directory"
hostspec = parsehostspec("socket:domain.net:1234")
assert hostspec.host == "domain.net"
assert hostspec.port == 1234
assert hostspec.basedir == ""
def test_parse_hostspec_error():
py.test.raises(ValueError, """
parsehostspec('alksd:qweqwe')
""")
py.test.raises(ValueError, """
parsehostspec('ssh')
""")
py.test.raises(ValueError, """
parsehostspec('socket:qweqwe')
""")