[svn r37500] postponing generalizing of host specifications for 0.9
--HG-- branch : trunk
This commit is contained in:
parent
ae11e91791
commit
20222ec57b
|
@ -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
|
|
||||||
|
|
|
@ -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')
|
|
||||||
""")
|
|
Loading…
Reference in New Issue