summaryrefslogtreecommitdiff
path: root/test/apiv2/python/rest_api/test_v2_0_0_pod.py
blob: 9155ad19c02e066c7c4bdec5ec9120be26fd39bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import random
import unittest

import requests
from .fixtures import APITestCase


class TestApi(APITestCase):
    def test_pod_start_conflict(self):
        """Verify issue #8865"""

        pod_name = list()
        pod_name.append(f"Pod_{random.getrandbits(160):x}")
        pod_name.append(f"Pod_{random.getrandbits(160):x}")

        r = requests.post(
            self.uri("/pods/create"),
            json={
                "name": pod_name[0],
                "no_infra": False,
                "portmappings": [{"host_ip": "127.0.0.1", "host_port": 8889, "container_port": 89}],
            },
        )
        self.assertEqual(r.status_code, 201, r.text)
        r = requests.post(
            self.uri("/containers/create"),
            json={
                "pod": pod_name[0],
                "image": "quay.io/libpod/alpine:latest",
                "command": ["top"],
            },
        )
        self.assertEqual(r.status_code, 201, r.text)

        r = requests.post(
            self.uri("/pods/create"),
            json={
                "name": pod_name[1],
                "no_infra": False,
                "portmappings": [{"host_ip": "127.0.0.1", "host_port": 8889, "container_port": 89}],
            },
        )
        self.assertEqual(r.status_code, 201, r.text)
        r = requests.post(
            self.uri("/containers/create"),
            json={
                "pod": pod_name[1],
                "image": "quay.io/libpod/alpine:latest",
                "command": ["top"],
            },
        )
        self.assertEqual(r.status_code, 201, r.text)

        r = requests.post(self.uri(f"/pods/{pod_name[0]}/start"))
        self.assertEqual(r.status_code, 200, r.text)

        r = requests.post(self.uri(f"/pods/{pod_name[1]}/start"))
        self.assertEqual(r.status_code, 409, r.text)

        start = r.json()
        self.assertGreater(len(start["Errs"]), 0, r.text)


if __name__ == "__main__":
    unittest.main()