mirror of
https://github.com/containers/podman.git
synced 2025-06-22 18:08:11 +08:00
Merge pull request #8601 from jwhonce/jira/RUN-1106-networks
Jira RUN-1106 Network handlers updates
This commit is contained in:
@ -271,11 +271,16 @@ func CreateNetwork(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
net, err := getNetworkResourceByNameOrID(name, runtime, nil)
|
||||||
|
if err != nil {
|
||||||
|
utils.InternalServerError(w, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
body := struct {
|
body := struct {
|
||||||
Id string
|
Id string
|
||||||
Warning []string
|
Warning []string
|
||||||
}{
|
}{
|
||||||
Id: name,
|
Id: net.ID,
|
||||||
}
|
}
|
||||||
utils.WriteResponse(w, http.StatusCreated, body)
|
utils.WriteResponse(w, http.StatusCreated, body)
|
||||||
}
|
}
|
||||||
@ -320,7 +325,7 @@ func RemoveNetwork(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
utils.WriteResponse(w, http.StatusNoContent, "")
|
utils.WriteResponse(w, http.StatusNoContent, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Connect adds a container to a network
|
// Connect adds a container to a network
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
import json
|
import json
|
||||||
|
import random
|
||||||
|
import string
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
|
||||||
import time
|
|
||||||
import unittest
|
import unittest
|
||||||
from multiprocessing import Process
|
from multiprocessing import Process
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
from dateutil.parser import parse
|
from dateutil.parser import parse
|
||||||
|
|
||||||
from test.apiv2.rest_api import Podman
|
from test.apiv2.rest_api import Podman
|
||||||
@ -384,6 +386,43 @@ class TestApi(unittest.TestCase):
|
|||||||
for k in required_keys:
|
for k in required_keys:
|
||||||
self.assertIn(k, o)
|
self.assertIn(k, o)
|
||||||
|
|
||||||
|
def test_network_compat(self):
|
||||||
|
name = "Network_" + "".join(random.choice(string.ascii_letters) for i in range(10))
|
||||||
|
|
||||||
|
# Cannot test for 0 existing networks because default "podman" network always exists
|
||||||
|
|
||||||
|
create = requests.post(PODMAN_URL + "/v1.40/networks/create", json={"Name": name})
|
||||||
|
self.assertEqual(create.status_code, 201, create.content)
|
||||||
|
obj = json.loads(create.content)
|
||||||
|
self.assertIn(type(obj), (dict,))
|
||||||
|
self.assertIn("Id", obj)
|
||||||
|
ident = obj["Id"]
|
||||||
|
self.assertNotEqual(name, ident)
|
||||||
|
|
||||||
|
ls = requests.get(PODMAN_URL + "/v1.40/networks")
|
||||||
|
self.assertEqual(ls.status_code, 200, ls.content)
|
||||||
|
objs = json.loads(ls.content)
|
||||||
|
self.assertIn(type(objs), (list,))
|
||||||
|
|
||||||
|
found = False
|
||||||
|
for network in objs:
|
||||||
|
if network["Name"] == name:
|
||||||
|
found = True
|
||||||
|
self.assertTrue(found, f"Network {name} not found")
|
||||||
|
|
||||||
|
inspect = requests.get(PODMAN_URL + f"/v1.40/networks/{ident}")
|
||||||
|
self.assertEqual(inspect.status_code, 200, inspect.content)
|
||||||
|
obj = json.loads(create.content)
|
||||||
|
self.assertIn(type(obj), (dict,))
|
||||||
|
|
||||||
|
inspect = requests.delete(PODMAN_URL + f"/v1.40/networks/{ident}")
|
||||||
|
self.assertEqual(inspect.status_code, 204, inspect.content)
|
||||||
|
inspect = requests.get(PODMAN_URL + f"/v1.40/networks/{ident}")
|
||||||
|
self.assertEqual(inspect.status_code, 404, inspect.content)
|
||||||
|
|
||||||
|
prune = requests.post(PODMAN_URL + "/v1.40/networks/prune")
|
||||||
|
self.assertEqual(prune.status_code, 405, prune.content)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
Reference in New Issue
Block a user