mirror of
				https://github.com/containers/podman.git
				synced 2025-10-31 01:50:50 +08:00 
			
		
		
		
	 7927fe01f1
			
		
	
	7927fe01f1
	
	
	
		
			
			* Introduce sub-package compat to meet packaging and import requirements * Update documenation for running tests * Add requirements.txt to improve IDE support Signed-off-by: Jhon Honce <jhonce@redhat.com>
		
			
				
	
	
		
			69 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import subprocess
 | |
| import sys
 | |
| import time
 | |
| import unittest
 | |
| 
 | |
| from docker import DockerClient
 | |
| 
 | |
| from test.python.docker import Podman, constant
 | |
| from test.python.docker.compat import common
 | |
| 
 | |
| 
 | |
| class TestSystem(unittest.TestCase):
 | |
|     podman = None  # initialized podman configuration for tests
 | |
|     service = None  # podman service instance
 | |
|     topContainerId = ""
 | |
| 
 | |
|     def setUp(self):
 | |
|         super().setUp()
 | |
|         self.client = DockerClient(base_url="tcp://127.0.0.1:8080", timeout=15)
 | |
| 
 | |
|         TestSystem.podman.restore_image_from_cache(self.client)
 | |
|         TestSystem.topContainerId = common.run_top_container(self.client)
 | |
| 
 | |
|     def tearDown(self):
 | |
|         common.remove_all_containers(self.client)
 | |
|         common.remove_all_images(self.client)
 | |
|         self.client.close()
 | |
|         return super().tearDown()
 | |
| 
 | |
|     @classmethod
 | |
|     def setUpClass(cls):
 | |
|         super().setUpClass()
 | |
|         TestSystem.podman = Podman()
 | |
|         TestSystem.service = TestSystem.podman.open(
 | |
|             "system", "service", "tcp:127.0.0.1:8080", "--time=0"
 | |
|         )
 | |
|         # give the service some time to be ready...
 | |
|         time.sleep(2)
 | |
| 
 | |
|         returncode = TestSystem.service.poll()
 | |
|         if returncode is not None:
 | |
|             raise subprocess.CalledProcessError(returncode, "podman system service")
 | |
| 
 | |
|     @classmethod
 | |
|     def tearDownClass(cls):
 | |
|         TestSystem.service.terminate()
 | |
|         stdout, stderr = TestSystem.service.communicate(timeout=0.5)
 | |
|         if stdout:
 | |
|             sys.stdout.write("\nImages Service Stdout:\n" + stdout.decode("utf-8"))
 | |
|         if stderr:
 | |
|             sys.stderr.write("\nImAges Service Stderr:\n" + stderr.decode("utf-8"))
 | |
| 
 | |
|         TestSystem.podman.tear_down()
 | |
|         return super().tearDownClass()
 | |
| 
 | |
|     def test_Info(self):
 | |
|         self.assertIsNotNone(self.client.info())
 | |
| 
 | |
|     def test_info_container_details(self):
 | |
|         info = self.client.info()
 | |
|         self.assertEqual(info["Containers"], 1)
 | |
|         self.client.containers.create(image=constant.ALPINE)
 | |
|         info = self.client.info()
 | |
|         self.assertEqual(info["Containers"], 2)
 | |
| 
 | |
|     def test_version(self):
 | |
|         version = self.client.version()
 | |
|         self.assertIsNotNone(version["Platform"]["Name"])
 |