Files
dvc/tests/unit/remote/ssh.py
T
2019-01-08 10:12:43 +02:00

70 lines
2.0 KiB
Python

import getpass
from unittest import TestCase
from dvc.remote.ssh import RemoteSSH
class TestRemoteSSH(TestCase):
def test_user(self):
url = 'ssh://127.0.0.1:/path/to/dir'
config = {'url': url}
remote = RemoteSSH(None, config)
self.assertEqual(remote.user, getpass.getuser())
user = 'test1'
url = 'ssh://{}@127.0.0.1:/path/to/dir'.format(user)
config = {'url': url}
remote = RemoteSSH(None, config)
self.assertEqual(remote.user, user)
user = 'test2'
config['user'] = user
remote = RemoteSSH(None, config)
self.assertEqual(remote.user, user)
def test_url(self):
user = 'test'
host = '123.45.67.89'
port = 1234
path = '/path/to/dir'
# URL ssh://[user@]host.xz[:port]/path
url = 'ssh://{}@{}:{}{}'.format(user, host, port, path)
config = {'url': url}
remote = RemoteSSH(None, config)
self.assertEqual(remote.user, user)
self.assertEqual(remote.host, host)
self.assertEqual(remote.port, port)
self.assertEqual(remote.prefix, path)
# SCP-like URL ssh://[user@]host.xz:path
url = 'ssh://{}@{}:{}'.format(user, host, path)
config = {'url': url}
remote = RemoteSSH(None, config)
self.assertEqual(remote.user, user)
self.assertEqual(remote.host, host)
self.assertEqual(remote.port, remote.DEFAULT_PORT)
self.assertEqual(remote.prefix, path)
def test_port(self):
url = 'ssh://127.0.0.1/path/to/dir'
config = {'url': url}
remote = RemoteSSH(None, config)
self.assertEqual(remote.port, remote.DEFAULT_PORT)
port = 1234
url = 'ssh://127.0.0.1:{}/path/to/dir'.format(port)
config = {'url': url}
remote = RemoteSSH(None, config)
self.assertEqual(remote.port, port)
port = 4321
config['port'] = port
remote = RemoteSSH(None, config)
self.assertEqual(remote.port, port)