# -*- coding: utf-8 -*-
from functools import partial
from navmazing import NavigateToAttribute
from cfme.containers.provider import ContainersProvider
from cfme.web_ui import match_location, StatusBox
from cfme.utils.appliance.implementations.ui import CFMENavigateStep, navigator
from cfme.utils.appliance import Navigatable
from cfme.utils.wait import wait_for
match_page = partial(match_location, controller='container_dashboard', title='Container Dashboards')
[docs]class ContainersOverview(Navigatable):
pass
@navigator.register(ContainersOverview, 'All')
[docs]class All(CFMENavigateStep):
prerequisite = NavigateToAttribute('appliance.server', 'LoggedIn')
[docs] def am_i_here(self):
return match_page()
[docs] def step(self):
self.prerequisite_view.navigation.select('Compute', 'Containers', 'Overview')
[docs] def resetter(self):
# We should wait ~2 seconds for the StatusBox population
wait_for(lambda: StatusBox(ContainersProvider.PLURAL.split(' ')[-1]).value(),
num_sec=10, delay=1)