Blame test/verify/check-dependence

Packit Service eebd6f
#!/usr/bin/python3
Packit Service eebd6f
Packit Service eebd6f
# checkpoint:
Packit Service eebd6f
# 1. Selected components in edit blueprint page
Packit Service eebd6f
# 2. Package detail and add, remove, apply package from detail page
Packit Service eebd6f
Packit Service eebd6f
import composerlib
Packit Service eebd6f
import testlib
Packit Service eebd6f
Packit Service eebd6f
Packit Service eebd6f
@testlib.nondestructive
Packit Service eebd6f
class TestDependence(composerlib.ComposerCase):
Packit Service eebd6f
Packit Service eebd6f
    def testComponent(self):
Packit Service eebd6f
        b = self.browser
Packit Service eebd6f
Packit Service 0c2606
        self.login_and_go("/composer", superuser=True)
Packit Service eebd6f
        b.wait_present("#main")
Packit Service eebd6f
Packit Service eebd6f
        # go to edit package page
Packit Service eebd6f
        b.click("li[data-blueprint=openssh-server] a:contains('Edit Packages')")
Packit Service eebd6f
        with b.wait_timeout(120):
Packit Service eebd6f
            b.wait_present("ul[aria-label='Available Components'] li:nth-child(1)")
Packit Service eebd6f
Packit Service eebd6f
        # open component detail
Packit Service eebd6f
        b.click("#openssh-server-toggle")
Packit Service eebd6f
        b.wait_attr("#openssh-server-toggle", "aria-expanded", "true")
Packit Service eebd6f
        # Disable this part of test due to issue
Packit Service eebd6f
        # https://github.com/osbuild/cockpit-composer/issues/942
Packit Service eebd6f
        # # depsolving dependencies needs more time
Packit Service eebd6f
        # with b.wait_timeout(480):
Packit Service eebd6f
        #     b.wait_present(".cc-component-summary__deps")
Packit Service eebd6f
        # # show all
Packit Service eebd6f
        # b.click("button:contains('Show All')")
Packit Service eebd6f
        # # show less
Packit Service eebd6f
        # b.click("button:contains('Show Less')")
Packit Service eebd6f
        # close detail
Packit Service eebd6f
        b.click("#openssh-server-toggle")
Packit Service eebd6f
        b.wait_not_visible("#openssh-server-details")
Packit Service eebd6f
Packit Service eebd6f
        # dependencies tab
Packit Service eebd6f
        b.click("#blueprint-tabs-tab-dependencies")
Packit Service eebd6f
        b.wait_visible("#blueprint-tabs-pane-dependencies")
Packit Service eebd6f
Packit Service eebd6f
        # collect code coverage result
Packit Service eebd6f
        self.check_coverage()
Packit Service eebd6f
Packit Service eebd6f
    def testDetails(self):
Packit Service eebd6f
        b = self.browser
Packit Service eebd6f
Packit Service 0c2606
        self.login_and_go("/composer", superuser=True)
Packit Service eebd6f
        b.wait_present("#main")
Packit Service eebd6f
Packit Service eebd6f
        # go to edit package page
Packit Service eebd6f
        b.click("li[data-blueprint=openssh-server] a:contains('Edit Packages')")
Packit Service eebd6f
        with b.wait_timeout(120):
Packit Service eebd6f
            b.wait_present("ul[aria-label='Available Components'] li:nth-child(1)")
Packit Service eebd6f
Packit Service eebd6f
        # view openssh-server package detail
Packit Service eebd6f
        b.click("#openssh-server-kebab")
Packit Service eebd6f
        b.wait_attr("#openssh-server-kebab", "aria-expanded", "true")
Packit Service eebd6f
        b.click("ul[aria-labelledby=openssh-server-kebab] a:contains('View')")
Packit Service eebd6f
        # version selection
Packit Service eebd6f
        # group actions for select from dropdown menu
Packit Service eebd6f
        b.wait_visible("#cmpsr-compon__version-select")
Packit Service eebd6f
        version_selector = "#cmpsr-compon__version-select option[value='1']"
Packit Service eebd6f
        b.wait_present(version_selector)
Packit Service eebd6f
        value_id = b.attr(version_selector, "value")
Packit Service eebd6f
        b.set_val("#cmpsr-compon__version-select", value_id)
Packit Service eebd6f
        b.wait_val("#cmpsr-compon__version-select", value_id)
Packit Service eebd6f
        # group actions end
Packit Service eebd6f
        b.click("button:contains('Apply Change')")
Packit Service eebd6f
        b.wait_present("a:contains('1 Pending Change')")
Packit Service eebd6f
Packit Service eebd6f
        # search for openssh-server pacakge
Packit Service eebd6f
        b.set_input_text("#cmpsr-blueprint-input-filter", "tmux")
Packit Service eebd6f
        b.key_press("\r")
Packit Service eebd6f
        with b.wait_timeout(120):
Packit Service eebd6f
            b.click("#tmux-input")
Packit Service eebd6f
        b.wait_visible("#cmpsr-compon__version-select")
Packit Service eebd6f
        b.click("#blueprint-tabs-tab-dependencies")
Packit Service eebd6f
        # add tmux to blueprint
Packit Service eebd6f
        b.click(".cmpsr-header__actions button:contains('Add')")
Packit Service eebd6f
        b.wait_present("a:contains('2 Pending Change')")
Packit Service eebd6f
        b.wait_present("li[data-component=tmux]")
Packit Service eebd6f
Packit Service eebd6f
        # view tmux detail
Packit Service eebd6f
        b.click("li[data-component=tmux] #tmux")
Packit Service eebd6f
        b.wait_visible("#cmpsr-compon__version-select")
Packit Service eebd6f
        # back to openssh-server
Packit Service eebd6f
        b.click("a:contains('Back to openssh-server')")
Packit Service eebd6f
        b.wait_present("li[data-component=tmux]")
Packit Service eebd6f
Packit Service eebd6f
        # remove from tumx detail
Packit Service eebd6f
        b.click("li[data-component=tmux] #tmux")
Packit Service eebd6f
        b.wait_visible("#cmpsr-compon__version-select")
Packit Service eebd6f
        b.click("button:contains('Remove')")
Packit Service eebd6f
        b.wait_present("a:contains('1 Pending Change')")
Packit Service eebd6f
Packit Service eebd6f
        # collect code coverage result
Packit Service eebd6f
        self.check_coverage()
Packit Service eebd6f
Packit Service eebd6f
Packit Service eebd6f
if __name__ == '__main__':
Packit Service eebd6f
    testlib.test_main()