def _all_catalogitems_add_new(context): accordion.tree('Catalog Items', 'All Catalog Items') tb_select('Add a New Catalog Item') provider_type = context['provider_type'] sel.select("//select[@id='st_prov_type']", provider_type) def _all_catalogbundle_add_new(context): sel.click("//div[@id='sandt_tree_div']//td[normalize-space(.)='All Catalog Items']") tb_select('Add a New Catalog Bundle') nav.add_branch( 'services_catalogs', {'catalog_items': [nav.partial(accordion.click, 'Catalog Items'), {'catalog_item_new': _all_catalogitems_add_new, 'catalog_item': [lambda ctx: accordion.tree('Catalog Items', 'All Catalog Items', ctx['catalog'], ctx['catalog_item'].name), {'catalog_item_edit': nav.partial(tb_select, "Edit this Item")}]}]}) class Template(Pretty): pretty_attrs = ['name'] def __init__(self, name): self.name = name class Instance(Updateable, Pretty):
}) if template: sel.click(template) sel.click(template_select_form.continue_button) else: # Better exception? raise ValueError( 'Navigation failed: Unable to find template "%s" for provider "%s"' % (template_name, provider.name)) nav.add_branch( 'clouds_instances', { 'clouds_instances_by_provider': [ nav.partial(accordion.click, 'Instances by Provider'), { 'clouds_all_instances': [ lambda _: instances_by_provider_tree.click_path( 'Instances by Provider'), # select root { 'clouds_provision_instances': lambda c: _nav_to_provision_form(c), 'clouds_instance': lambda ctx: paginator.click_element( ui.Quadicon(ctx['instance'].name, 'instance')) } ] } ] })
accordion.tree("Catalog Items", "All Catalog Items") tb_select("Add a New Catalog Item") provider_type = context["provider_type"] sel.select("//select[@id='st_prov_type']", provider_type) def _all_catalogbundle_add_new(context): sel.click("//div[@id='sandt_tree_div']//td[normalize-space(.)='All Catalog Items']") tb_select("Add a New Catalog Bundle") nav.add_branch( "services_catalogs", { "catalog_items": [ nav.partial(accordion.click, "Catalog Items"), { "catalog_item_new": _all_catalogitems_add_new, "catalog_item": [ lambda ctx: accordion.tree( "Catalog Items", "All Catalog Items", ctx["catalog"], ctx["catalog_item"].name ), {"catalog_item_edit": nav.partial(tb_select, "Edit this Item")}, ], }, ] }, ) class Template(Pretty):
'Name': template_name, 'Provider': provider.name }) if template: sel.click(template) sel.click(template_select_form.continue_button) else: # Better exception? raise ValueError('Navigation failed: Unable to find template "%s" for provider "%s"' % (template_name, provider.name)) nav.add_branch( 'clouds_instances', { 'clouds_instances_by_provider': [nav.partial(accordion.click, 'Instances by Provider'), {'clouds_all_instances': [lambda _: instances_by_provider_tree.click_path('Instances by Provider'), # select root {'clouds_provision_instances': lambda c: _nav_to_provision_form(c), 'clouds_instance': lambda ctx: paginator.click_element(ui.Quadicon(ctx['instance'].name, 'instance'))}]}]}) class Template(object): def __init__(self, name): self.name = name class Instance(Updateable): '''Represents an instance (or vm) in CFME.
tb_select('Add a New Catalog Item') provider_type = context['provider_type'] sel.select("//select[@id='st_prov_type']", provider_type) def _all_catalogbundle_add_new(context): sel.click( "//div[@id='sandt_tree_div']//td[normalize-space(.)='All Catalog Items']" ) tb_select('Add a New Catalog Bundle') nav.add_branch( 'services_catalogs', { 'catalog_items': [ nav.partial(accordion.click, 'Catalog Items'), { 'catalog_item_new': _all_catalogitems_add_new, 'catalog_item': [ lambda ctx: accordion. tree('Catalog Items', 'All Catalog Items', ctx['catalog'], ctx['catalog_item'].name), { 'catalog_item_edit': nav.partial(tb_select, "Edit this Item") } ] } ] })