diff options
Diffstat (limited to 'contrib/python/podman/test/test_system.py')
-rw-r--r-- | contrib/python/podman/test/test_system.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/contrib/python/podman/test/test_system.py b/contrib/python/podman/test/test_system.py new file mode 100644 index 000000000..3f6ca57a2 --- /dev/null +++ b/contrib/python/podman/test/test_system.py @@ -0,0 +1,62 @@ +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() |