Skip to content
This repository has been archived by the owner on Apr 7, 2022. It is now read-only.

Commit

Permalink
[1LP][RFR] Fixed timing issues for Openstack test_networks tests (#7691)
Browse files Browse the repository at this point in the history
* Changed to "not ..." instead of "... is False"

* test_instances was corrupted by mistake. returned to correct data

* Was updated test_add_interface_to_router
  • Loading branch information
dkholodo authored and mshriver committed Oct 23, 2018
1 parent dd1a545 commit 49cb580
Showing 1 changed file with 30 additions and 15 deletions.
45 changes: 30 additions & 15 deletions cfme/tests/openstack/cloud/test_networks.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from cfme.cloud.provider.openstack import OpenStackProvider
from cfme.utils.appliance.implementations.ui import navigate_to
from cfme.utils.log import logger
from cfme.utils.wait import wait_for
from cfme.utils.wait import wait_for, TimedOutError


pytestmark = [
Expand Down Expand Up @@ -122,7 +122,8 @@ def test_edit_network(network):
network.edit(name=fauxfactory.gen_alpha())
wait_for(network.provider_obj.is_refreshed, func_kwargs=dict(refresh_delta=10), timeout=600,
delay=10)
network.browser.refresh()
wait_for(lambda: network.exists,
delay=15, timeout=600, fail_func=network.browser.refresh)
assert network.exists


Expand All @@ -131,6 +132,8 @@ def test_delete_network(network):
network.delete()
wait_for(network.provider_obj.is_refreshed, func_kwargs=dict(refresh_delta=10), timeout=600,
delay=10)
wait_for(lambda: not network.exists,
delay=15, timeout=600, fail_func=network.browser.refresh)
assert not network.exists


Expand All @@ -149,15 +152,17 @@ def test_edit_subnet(subnet):
subnet.edit(new_name=fauxfactory.gen_alpha())
wait_for(subnet.provider_obj.is_refreshed, func_kwargs=dict(refresh_delta=10), timeout=600,
delay=10)
wait_for(lambda: subnet.exists, delay=15, timeout=600, fail_func=subnet.browser.refresh)
assert subnet.exists


def test_delete_subnet(subnet):
"""Deletes private subnet"""
subnet.delete()
wait_for(subnet.provider_obj.is_refreshed, func_kwargs=dict(refresh_delta=10), timeout=600,
delay=10)
subnet.browser.refresh()
wait_for(subnet.provider_obj.is_refreshed, func_kwargs=dict(refresh_delta=20), timeout=800,
delay=30)
wait_for(lambda: not subnet.exists,
delay=30, timeout=800, fail_func=subnet.browser.refresh)
assert not subnet.exists


Expand All @@ -179,16 +184,19 @@ def test_edit_router(router):
router.edit(name=fauxfactory.gen_alpha())
wait_for(router.provider_obj.is_refreshed, func_kwargs=dict(refresh_delta=10), timeout=600,
delay=10)
router.browser.refresh()
wait_for(lambda: router.exists,
delay=15, timeout=600, fail_func=router.browser.refresh)
assert router.exists


def test_delete_router(router, appliance):
"""Deletes router"""
router.delete()
wait_for(router.provider_obj.is_refreshed, func_kwargs=dict(refresh_delta=10), timeout=600,
delay=10)
wait_for(router.provider_obj.is_refreshed, func_kwargs=dict(refresh_delta=20), timeout=800,
delay=30)
navigate_to(appliance.collections.network_routers, 'All')
wait_for(lambda: not router.exists,
delay=30, timeout=800, fail_func=router.browser.refresh)
assert not router.exists


Expand All @@ -199,6 +207,8 @@ def test_clear_router_gateway(router_with_gw):
timeout=600, delay=10)
router_with_gw.browser.refresh()
view = navigate_to(router_with_gw, 'Details')
wait_for(lambda: 'Cloud Network' not in view.entities.relationships.fields,
delay=15, timeout=600, fail_func=router_with_gw.browser.refresh)
assert 'Cloud Network' not in view.entities.relationships.fields


Expand All @@ -208,20 +218,25 @@ def test_add_gateway_to_router(router, ext_subnet):
ext_network_subnet=ext_subnet.name)
wait_for(router.provider_obj.is_refreshed, func_kwargs=dict(refresh_delta=10), timeout=600,
delay=10)
router.browser.refresh()
wait_for(lambda: router.cloud_network == ext_subnet.network,
delay=15, timeout=600, fail_func=router.browser.refresh)
assert router.cloud_network == ext_subnet.network


def test_add_interface_to_router(router, subnet):
"""Adds interface (subnet) to router"""
view = navigate_to(router, 'Details')
subnets_count_before_adding = int(view.entities.relationships.get_text_of('Cloud Subnets'))
router.add_interface(subnet.name)
wait_for(router.provider_obj.is_refreshed, func_kwargs=dict(refresh_delta=10), timeout=600,
delay=10)
router.browser.refresh()
wait_for(router.provider_obj.is_refreshed, func_kwargs=dict(refresh_delta=20), timeout=800,
delay=30)
# TODO: verify the exact entities' names and relationships, not only count
view = navigate_to(router, 'Details')
subnets_count = int(view.entities.relationships.get_text_of('Cloud Subnets'))
assert subnets_count == 1 # Compare to '1' because clean router was used initially
try:
wait_for(lambda: int(view.entities.relationships.get_text_of('Cloud Subnets')) ==
(subnets_count_before_adding + 1),
delay=30, timeout=800, fail_func=router.browser.refresh)
except TimedOutError:
assert False, "After waiting an interface to the router is still not added"


def test_list_networks(provider, appliance):
Expand Down

0 comments on commit 49cb580

Please sign in to comment.