diff --git a/openstack_dashboard/test/selenium/integration/test_floatingips.py b/openstack_dashboard/test/selenium/integration/test_floatingips.py index 84a90114ab..d26bc93206 100644 --- a/openstack_dashboard/test/selenium/integration/test_floatingips.py +++ b/openstack_dashboard/test/selenium/integration/test_floatingips.py @@ -134,26 +134,31 @@ def test_associate_floatingip(login, driver, openstack_demo, new_floating_ip, assert(new_instance_demo.id == openstack_demo.network.find_ip( new_floating_ip.floating_ip_address).port_details['device_id']) -# TODO(tmazur): Commenting out the failing test to unblock the fix for the jobs -# @pytest.mark.parametrize('new_instance_demo', [(1, True)], -# indirect=True) -# def test_disassociate_floatingip(login, driver, openstack_demo, config, -# instance_name, new_instance_demo, -# clear_floatingip_using_ip): -# login('user') -# url = '/'.join(( -# config.dashboard.dashboard_url, -# 'project', -# 'floating_ips', -# )) -# driver.get(url) -# rows = driver.find_elements_by_css_selector( -# f"table#floating_ips tr[data-display=" -# f"'{new_instance_demo.public_v4}']") -# assert len(rows) == 1 -# rows[0].find_element_by_css_selector(".data-table-action").click() -# widgets.confirm_modal(driver) -# messages = widgets.get_and_dismiss_messages(driver) -# assert(f"Success: Successfully disassociated Floating IP: " -# f"{new_instance_demo.public_v4}" in messages) -# assert openstack_demo.compute.find_server(instance_name).public_v4 == "" +@pytest.mark.parametrize('new_instance_demo', [(1, True)], + indirect=True) +def test_disassociate_floatingip(login, driver, openstack_demo, config, + new_instance_demo, clear_floatingip_using_ip): + login('user') + url = '/'.join(( + config.dashboard.dashboard_url, + 'project', + 'floating_ips', + )) + driver.get(url) + instance_auto_ip = "" + for address in new_instance_demo.addresses['default_test_network']: + if not address['addr'].startswith("10.10.", 0, 6): + instance_auto_ip = address['addr'] + rows = driver.find_elements_by_css_selector( + f"table#floating_ips tr[data-display=" + f"'{instance_auto_ip}']") + assert len(rows) == 1 + rows[0].find_element_by_css_selector(".data-table-action").click() + widgets.confirm_modal(driver) + messages = widgets.get_and_dismiss_messages(driver) + assert(f"Success: Successfully disassociated Floating IP: " + f"{instance_auto_ip}" in messages) + instance_sdk = openstack_demo.compute.find_server(new_instance_demo.id) + assert (len(instance_sdk.addresses['default_test_network']) == 1) + assert (instance_sdk.addresses['default_test_network'] + [0]['addr'].startswith("10.10.", 0, 6))