Add tests for floatingip port_details
Depends-On: I31e940d2986278d2fbee6fdfea4ff15f7c07ebaa
Change-Id: I1523ecec61110a4398a2c32e08116610e485a47f
Related-Bug: #1723026
diff --git a/neutron_tempest_plugin/api/test_floating_ips.py b/neutron_tempest_plugin/api/test_floating_ips.py
index 19d8e2a..9f5778f 100644
--- a/neutron_tempest_plugin/api/test_floating_ips.py
+++ b/neutron_tempest_plugin/api/test_floating_ips.py
@@ -105,3 +105,38 @@
body = self.client.update_floatingip(body['floatingip']['id'],
port_id=None)
self.assertIsNone(body['floatingip']['port_id'])
+
+ @decorators.idempotent_id('cecae820-ebaa-4f96-b386-6a9fbf25c552')
+ @utils.requires_ext(extension="standard-attr-description",
+ service="network")
+ @utils.requires_ext(extension="fip-port-details", service="network")
+ def test_create_update_floatingip_port_details(self):
+
+ body = self.client.create_floatingip(
+ floating_network_id=self.ext_net_id,
+ port_id=self.ports[0]['id'],
+ description='d1'
+ )['floatingip']
+ self.floating_ips.append(body)
+ self._assert_port_details(self.ports[0], body)
+ body = self.client.show_floatingip(body['id'])['floatingip']
+ self._assert_port_details(self.ports[0], body)
+ body = self.client.update_floatingip(body['id'], description='d2')
+ self._assert_port_details(self.ports[0], body['floatingip'])
+ # disassociate
+ body = self.client.update_floatingip(body['floatingip']['id'],
+ port_id=None)
+ self.assertIn('port_details', body['floatingip'])
+ self.assertIsNone(body['floatingip']['port_details'])
+
+ def _assert_port_details(self, port, body):
+ self.assertIn('port_details', body)
+ port_details = body['port_details']
+ self.assertEqual(port['name'], port_details['name'])
+ self.assertEqual(port['network_id'], port_details['network_id'])
+ self.assertEqual(port['mac_address'], port_details['mac_address'])
+ self.assertEqual(port['admin_state_up'],
+ port_details['admin_state_up'])
+ self.assertEqual(port['status'], port_details['status'])
+ self.assertEqual(port['device_id'], port_details['device_id'])
+ self.assertEqual(port['device_owner'], port_details['device_owner'])