"ports"][0]["id"], listPortsId1)
print(" ")
+ print('->>>>>>> test Neutron List Ports By Device ->>>>>>>>>>>>>>>')
+ print('->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
+ server_url = "http://0.0.0.0:18774/v2.1/id_bla/servers/firewall1:9df6a98f-9e11-4cb7-b3c0-InAdUnitTest"
+ server_response = requests.get(server_url, headers=headers)
+ firewall1_server = json.loads(server_response.content)["server"]
+ device_id = firewall1_server["id"]
+ url = "http://0.0.0.0:19696/v2.0/ports?device_id=%s" % device_id
+ list_ports_by_device_id_response = requests.get(url, headers=headers)
+ self.assertEqual(list_ports_by_device_id_response.status_code, 200)
+ list_ports_by_device_id_ports = json.loads(list_ports_by_device_id_response.content)["ports"]
+
+ self.assertTrue(any(list_ports_by_device_id_ports), "Expected at least one port for device")
+ for port in list_ports_by_device_id_ports:
+ self.assertTrue(port["name"].startswith("firewall1:"), "Expected all ports to belong to firewall1")
+ print(" ")
+
print('->>>>>>> test Neutron List Non-Existing Ports ->>>>>>>>>>>>>>>')
print('->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
url = "http://0.0.0.0:19696/v2.0/ports?id=non-existing-port-id"
url, data=createportdata, headers=headers)
self.assertEqual(createportresponse.status_code, 201)
print(createportresponse.content)
- self.assertEqual(json.loads(createportresponse.content)[
- "port"]["name"], "new_port")
+ createport = json.loads(createportresponse.content)["port"]
+ self.assertEqual(createport["name"], "new_port")
print(" ")
print('->>>>>>> test Neutron Create Port With Existing Name ->>>>>>>>>>>>>>>')
print('->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
url = "http://0.0.0.0:19696/v2.0/ports"
- createportwithexistingnamedata = '{"port": {"name": "new_port", "network_id": "%s"} }' % (
- json.loads(createnetworkresponse.content)["network"]["id"])
- createportwithexistingnameresponse = requests.post(
+ network_id = json.loads(createnetworkresponse.content)["network"]["id"]
+ createportwithexistingnamedata = '{"port": {"name": "duplicate_port_name", "network_id": "%s"} }' % network_id
+ createportwithexistingnameresponse1 = requests.post(
url, data=createportwithexistingnamedata, headers=headers)
- self.assertEqual(createportwithexistingnameresponse.status_code, 500)
+ createportwithexistingnameresponse2 = requests.post(
+ url, data=createportwithexistingnamedata, headers=headers)
+ createportwithexistingname1 = json.loads(createportwithexistingnameresponse1.content)["port"]
+ createportwithexistingname2 = json.loads(createportwithexistingnameresponse2.content)["port"]
+ self.assertEqual(createportwithexistingnameresponse1.status_code, 201)
+ self.assertEqual(createportwithexistingnameresponse2.status_code, 201)
+ self.assertEqual(createportwithexistingname1["name"], "duplicate_port_name")
+ self.assertEqual(createportwithexistingname2["name"], "duplicate_port_name")
+ self.assertNotEqual(createportwithexistingname1["id"], createportwithexistingname2["id"], "Duplicate port should have different id")
print(" ")
print('->>>>>>> test Neutron Create Port Without Name ->>>>>>>>>>>>>>>')
p3_id = json.loads(p3_resp.content)["port"]["id"]
p4_id = json.loads(p4_resp.content)["port"]["id"]
+ listflavorsresponse = requests.get("http://0.0.0.0:18774/v2.1/id_bla/flavors", headers=headers)
+ self.assertEqual(listflavorsresponse.status_code, 200)
+ flavors = json.loads(listflavorsresponse.content)["flavors"]
+ m1_tiny_flavor = filter(lambda flavor: flavor["name"] == "m1.tiny", flavors)[0]
+
+ listimagesdetailsresponse = requests.get("http://0.0.0.0:18774/v2.1/id_bla/images/detail", headers=headers)
+ self.assertEqual(listimagesdetailsresponse.status_code, 200)
+ images = json.loads(listimagesdetailsresponse.content)["images"]
+ ubuntu_image = filter(lambda image: image["name"] == "ubuntu:trusty", images)[0]
+
+ server_url = "http://0.0.0.0:18774/v2.1/id_bla/servers"
+ s1 = '{"server": {' \
+ '"name": "s1",' \
+ '"networks": [{"port": "p1"}, {"port": "p2"}],' \
+ '"flavorRef": "%s",' \
+ '"imageRef": "%s"' \
+ '}}' % (m1_tiny_flavor["id"], ubuntu_image["id"])
+ s2 = '{"server": {' \
+ '"name": "s2",' \
+ '"networks": [{"port": "p3"}, {"port": "p4"}],' \
+ '"flavorRef": "%s",' \
+ '"imageRef": "%s"' \
+ '}}' % (m1_tiny_flavor["id"], ubuntu_image["id"])
+ s1_response = requests.post(server_url, data=s1, headers=headers)
+ s2_response = requests.post(server_url, data=s2, headers=headers)
+ self.assertEqual(s1_response.status_code, 200)
+ self.assertEqual(s2_response.status_code, 200)
+
print('->>>>>>> test Neutron SFC Port Pair Create ->>>>>>>>>>>>>>>')
print('->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>')
url = "http://0.0.0.0:19696/v2.0/sfc/port_pairs"