mirror of https://github.com/containers/podman.git
63 lines
2.0 KiB
Python
63 lines
2.0 KiB
Python
import os
|
|
import unittest
|
|
from urllib.parse import urlparse
|
|
|
|
import podman
|
|
import varlink
|
|
|
|
|
|
class TestSystem(unittest.TestCase):
|
|
def setUp(self):
|
|
self.host = os.environ['PODMAN_HOST']
|
|
self.tmpdir = os.environ['TMPDIR']
|
|
|
|
def tearDown(self):
|
|
pass
|
|
|
|
def test_bad_address(self):
|
|
with self.assertRaisesRegex(varlink.client.ConnectionError,
|
|
"Invalid address 'bad address'"):
|
|
podman.Client('bad address')
|
|
|
|
def test_ping(self):
|
|
with podman.Client(self.host) as pclient:
|
|
self.assertTrue(pclient.system.ping())
|
|
|
|
def test_remote_ping(self):
|
|
host = urlparse(self.host)
|
|
remote_uri = 'ssh://root@localhost/{}'.format(host.path)
|
|
|
|
local_uri = 'unix:{}/tunnel/podman.sock'.format(self.tmpdir)
|
|
with podman.Client(
|
|
uri=local_uri,
|
|
remote_uri=remote_uri,
|
|
identity_file=os.path.expanduser('~/.ssh/id_rsa'),
|
|
) as remote_client:
|
|
remote_client.system.ping()
|
|
|
|
def test_versions(self):
|
|
with podman.Client(self.host) as pclient:
|
|
# Values change with each build so we cannot test too much
|
|
self.assertListEqual(
|
|
sorted([
|
|
'built', 'client_version', 'git_commit', 'go_version',
|
|
'os_arch', 'version'
|
|
]), sorted(list(pclient.system.versions._fields)))
|
|
pclient.system.versions
|
|
self.assertIsNot(podman.__version__, '0.0.0')
|
|
|
|
def test_info(self):
|
|
with podman.Client(self.host) as pclient:
|
|
actual = pclient.system.info()
|
|
# Values change too much to do exhaustive testing
|
|
self.assertIsNotNone(actual.podman['go_version'])
|
|
self.assertListEqual(
|
|
sorted([
|
|
'host', 'insecure_registries', 'podman', 'registries',
|
|
'store'
|
|
]), sorted(list(actual._fields)))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|