spiegel_podman/contrib/python/podman/test/test_pods_no_ctnrs.py
Jhon Honce 9074565f4e Implement pod varlink bindings
* Update varlink document
* Add NoContainersInPod error in go and python
* Add support for varlink pod interface
* New code passes pylint
* Fix bug in test_runner.sh
* Update integration tests for race condition on status check
* Add missing port config file support

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2018-10-01 07:24:50 -07:00

94 lines
2.4 KiB
Python

import os
import unittest
import podman
import varlink
ident = None
pod = None
class TestPodsNoCtnrs(unittest.TestCase):
def setUp(self):
self.tmpdir = os.environ['TMPDIR']
self.host = os.environ['PODMAN_HOST']
self.pclient = podman.Client(self.host)
def test_010_create(self):
global ident
actual = self.pclient.pods.create('pod0')
self.assertIsNotNone(actual)
ident = actual.id
def test_015_list(self):
global ident, pod
actual = next(self.pclient.pods.list())
self.assertEqual('pod0', actual.name)
self.assertEqual(ident, actual.id)
self.assertEqual('Created', actual.status)
self.assertEqual('0', actual.numberofcontainers)
self.assertFalse(actual.containersinfo)
pod = actual
def test_020_get(self):
global ident, pod
actual = self.pclient.pods.get(pod.id)
self.assertEqual('pod0', actual.name)
self.assertEqual(ident, actual.id)
self.assertEqual('Created', actual.status)
self.assertEqual('0', actual.numberofcontainers)
self.assertFalse(actual.containersinfo)
def test_025_inspect(self):
global ident, pod
details = pod.inspect()
self.assertEqual(ident, details.id)
self.assertEqual('pod0', details.config['name'])
self.assertIsNone(details.containers)
def test_030_ident_no_ctnrs(self):
global ident, pod
actual = pod.kill()
self.assertEqual(pod, actual)
actual = pod.pause()
self.assertEqual(pod, actual)
actual = pod.unpause()
self.assertEqual(pod, actual)
actual = pod.stop()
self.assertEqual(pod, actual)
def test_045_raises_no_ctnrs(self):
global ident, pod
with self.assertRaises(podman.NoContainersInPod):
pod.start()
with self.assertRaises(podman.NoContainersInPod):
pod.restart()
with self.assertRaises(podman.NoContainerRunning):
next(pod.stats())
with self.assertRaises(varlink.error.MethodNotImplemented):
pod.top()
with self.assertRaises(varlink.error.MethodNotImplemented):
pod.wait()
def test_999_remove(self):
global ident, pod
actual = pod.remove()
self.assertEqual(ident, actual)
with self.assertRaises(StopIteration):
next(self.pclient.pods.list())