github.com/containers/podman/v5@v5.1.0-rc1/test/apiv2/python/rest_api/test_v2_0_0_pod.py (about)

     1  import random
     2  import unittest
     3  
     4  import requests
     5  from .fixtures import APITestCase
     6  
     7  
     8  class TestApi(APITestCase):
     9      def test_pod_start_conflict(self):
    10          """Verify issue #8865"""
    11  
    12          pod_name = list()
    13          pod_name.append(f"Pod_{random.getrandbits(160):x}")
    14          pod_name.append(f"Pod_{random.getrandbits(160):x}")
    15  
    16          r = requests.post(
    17              self.uri("/pods/create"),
    18              json={
    19                  "name": pod_name[0],
    20                  "no_infra": False,
    21                  "portmappings": [{"host_ip": "127.0.0.1", "host_port": 8889, "container_port": 89}],
    22              },
    23          )
    24          self.assertEqual(r.status_code, 201, r.text)
    25          r = requests.post(
    26              self.uri("/containers/create"),
    27              json={
    28                  "pod": pod_name[0],
    29                  "image": "quay.io/libpod/alpine:latest",
    30                  "command": ["top"],
    31              },
    32          )
    33          self.assertEqual(r.status_code, 201, r.text)
    34  
    35          r = requests.post(
    36              self.uri("/pods/create"),
    37              json={
    38                  "name": pod_name[1],
    39                  "no_infra": False,
    40                  "portmappings": [{"host_ip": "127.0.0.1", "host_port": 8889, "container_port": 89}],
    41              },
    42          )
    43          self.assertEqual(r.status_code, 201, r.text)
    44          r = requests.post(
    45              self.uri("/containers/create"),
    46              json={
    47                  "pod": pod_name[1],
    48                  "image": "quay.io/libpod/alpine:latest",
    49                  "command": ["top"],
    50              },
    51          )
    52          self.assertEqual(r.status_code, 201, r.text)
    53  
    54          r = requests.post(self.uri(f"/pods/{pod_name[0]}/start"))
    55          self.assertEqual(r.status_code, 200, r.text)
    56  
    57          r = requests.post(self.uri(f"/pods/{pod_name[1]}/start"))
    58          self.assertEqual(r.status_code, 409, r.text)
    59  
    60          start = r.json()
    61          self.assertGreater(len(start["Errs"]), 0, r.text)
    62  
    63  
    64  if __name__ == "__main__":
    65      unittest.main()