Package org.xwiki.extension.test.po

Examples of org.xwiki.extension.test.po.ExtensionAdministrationPage


     * The extension search results pagination.
     */
    @Test
    public void testPagination()
    {
        ExtensionAdministrationPage adminPage = ExtensionAdministrationPage.gotoPage().clickCoreExtensionsSection();

        SearchResultsPane searchResults = adminPage.getSearchResults();
        Assert.assertNull(searchResults.getNoResultsMessage());
        Assert.assertEquals(20, searchResults.getDisplayedResultsCount());

        PaginationFilterPane pagination = searchResults.getPagination();
        Assert.assertEquals(1 + pagination.getResultsCount() / 20, pagination.getPageCount());
View Full Code Here


     * Tests the simple search form.
     */
    @Test
    public void testSimpleSearch()
    {
        ExtensionAdministrationPage adminPage = ExtensionAdministrationPage.gotoPage().clickCoreExtensionsSection();
        int coreExtensionCount = adminPage.getSearchResults().getPagination().getResultsCount();
        SimpleSearchPane searchBar = adminPage.getSearchBar();

        // Check if the tip is displayed.
        Assert.assertEquals("search extension...", searchBar.getSearchInput().getAttribute("placeholder"));
        // Check that the input is empty
        Assert.assertEquals("", searchBar.getSearchInput().getAttribute("value"));
View Full Code Here

     * Tests the advanced search form.
     */
    @Test
    public void testAdvancedSearch()
    {
        ExtensionAdministrationPage adminPage = ExtensionAdministrationPage.gotoPage().clickCoreExtensionsSection();

        SearchResultsPane searchResults = adminPage.getSearchBar().search("restlet");
        String version = searchResults.getExtension(0).getVersion();

        searchResults = new SimpleSearchPane().clickAdvancedSearch().search("org.restlet.jse:org.restlet", version);
        Assert.assertEquals(1, searchResults.getDisplayedResultsCount());
        Assert.assertNull(searchResults.getNoResultsMessage());
View Full Code Here

     * Tests how core extensions are displayed.
     */
    @Test
    public void testCoreExtensions()
    {
        ExtensionAdministrationPage adminPage = ExtensionAdministrationPage.gotoPage().clickCoreExtensionsSection();

        // Assert that the core extension repository is selected.
        SimpleSearchPane searchBar = adminPage.getSearchBar();
        Assert.assertEquals("Core extensions", searchBar.getRepositorySelect().getFirstSelectedOption().getText());

        ExtensionPane extension = adminPage.getSearchResults().getExtension(RandomUtils.nextInt(20));
        Assert.assertEquals("core", extension.getStatus());
        Assert.assertEquals("Provided", extension.getStatusMessage());
        Assert.assertNull(extension.getInstallButton());
        Assert.assertNull(extension.getUninstallButton());
        Assert.assertNull(extension.getUpgradeButton());
View Full Code Here

        ExtensionId extensionId = new ExtensionId("alice-xar-extension", "1.3");
        TestExtension extension = getRepositoryTestUtils().getTestExtension(extensionId, "xar");
        getRepositoryTestUtils().addExtension(extension);

        // Check if the section links point to the right repository.
        ExtensionAdministrationPage adminPage = ExtensionAdministrationPage.gotoPage().clickAddExtensionsSection();
        Select repositorySelect = adminPage.getSearchBar().getRepositorySelect();
        Assert.assertEquals("All Extensions", repositorySelect.getFirstSelectedOption().getText());

        adminPage = adminPage.clickCoreExtensionsSection();
        repositorySelect = adminPage.getSearchBar().getRepositorySelect();
        Assert.assertEquals("Core extensions", repositorySelect.getFirstSelectedOption().getText());

        adminPage = adminPage.clickInstalledExtensionsSection();
        repositorySelect = adminPage.getSearchBar().getRepositorySelect();
        Assert.assertEquals("Installed extensions", repositorySelect.getFirstSelectedOption().getText());

        // Check that a remote extension appears only in the list of "All Extensions".
        SearchResultsPane searchResults = adminPage.getSearchBar().search("alice");
        Assert.assertNull(searchResults.getExtension(extensionId));

        new SimpleSearchPane().getRepositorySelect().selectByVisibleText("All Extensions");
        adminPage = new ExtensionAdministrationPage();
        adminPage.waitUntilPageIsLoaded();
        // The value of the search input must be preserved when we switch the repository.
        Assert.assertEquals("alice", adminPage.getSearchBar().getSearchInput().getAttribute("value"));
        Assert.assertNotNull(adminPage.getSearchResults().getExtension(extensionId));
        Assert.assertNull(new SimpleSearchPane().selectRepository("local").getExtension(extensionId));

        // Check that an installed extension appears also in "Installed Extensions" and "Local Extensions".
        getExtensionTestUtils().install(extensionId);
        adminPage = ExtensionAdministrationPage.gotoPage().clickInstalledExtensionsSection();
        searchResults = adminPage.getSearchBar().search("alice");
        Assert.assertNotNull(searchResults.getExtension(extensionId));
        Assert.assertNotNull(new SimpleSearchPane().selectRepository("local").getExtension(extensionId));
        Assert.assertNotNull(new SimpleSearchPane().selectRepository("").getExtension(extensionId));

        // Check local extension.
        getExtensionTestUtils().uninstall(extensionId.getId(), true);
        adminPage = ExtensionAdministrationPage.gotoPage().clickInstalledExtensionsSection();
        searchResults = adminPage.getSearchBar().search("alice");
        Assert.assertNull(searchResults.getExtension(extensionId));
        Assert.assertNotNull(new SimpleSearchPane().selectRepository("local").getExtension(extensionId));
        Assert.assertNotNull(new SimpleSearchPane().selectRepository("").getExtension(extensionId));
    }
View Full Code Here

        extension.addLicense(new ExtensionLicense("My own license", null));
        extension.setWebsite("http://www.alice.com");
        getRepositoryTestUtils().addExtension(extension);

        // Search the extension and assert the displayed information.
        ExtensionAdministrationPage adminPage = ExtensionAdministrationPage.gotoPage().clickAddExtensionsSection();
        ExtensionPane extensionPane =
            adminPage.getSearchBar().clickAdvancedSearch().search(extensionId).getExtension(0);
        Assert.assertEquals("remote", extensionPane.getStatus());
        Assert.assertNull(extensionPane.getStatusMessage());
        Assert.assertEquals(extension.getName(), extensionPane.getName());
        Assert.assertEquals(extensionId.getVersion().getValue(), extensionPane.getVersion());
        List<WebElement> authors = extensionPane.getAuthors();
View Full Code Here

        extension.addDependency(new DefaultExtensionDependency("org.xwiki.platform:xwiki-platform-display-api",
            new DefaultVersionConstraint("100.1")));
        getRepositoryTestUtils().addExtension(extension);

        // Search the extension and assert the list of dependencies.
        ExtensionAdministrationPage adminPage = ExtensionAdministrationPage.gotoPage().clickAddExtensionsSection();
        ExtensionPane extensionPane =
            adminPage.getSearchBar().clickAdvancedSearch().search(extensionId).getExtension(0);
        ExtensionDependenciesPane dependenciesPane = extensionPane.openDependenciesSection();

        List<DependencyPane> directDependencies = dependenciesPane.getDirectDependencies();
        Assert.assertEquals(5, directDependencies.size());

        Assert.assertEquals(dependency.getName(), directDependencies.get(0).getName());
        Assert.assertEquals(dependencyId.getVersion().getValue(), directDependencies.get(0).getVersion());
        Assert.assertEquals("remote", directDependencies.get(0).getStatus());
        Assert.assertNull(directDependencies.get(0).getStatusMessage());

        Assert.assertNull(directDependencies.get(1).getLink());
        Assert.assertEquals("missing-dependency", directDependencies.get(1).getName());
        Assert.assertEquals("135", directDependencies.get(1).getVersion());
        Assert.assertEquals("unknown", directDependencies.get(1).getStatus());
        Assert.assertNull(directDependencies.get(1).getStatusMessage());

        Assert.assertNotNull(directDependencies.get(2).getLink());
        Assert.assertEquals("XWiki Platform - Sheet - API", directDependencies.get(2).getName());
        Assert.assertEquals("[3.2,)", directDependencies.get(2).getVersion());
        Assert.assertEquals("core", directDependencies.get(2).getStatus());
        Assert.assertEquals("Provided", directDependencies.get(2).getStatusMessage());

        Assert.assertNotNull(directDependencies.get(3).getLink());
        Assert.assertEquals("XWiki Commons - Diff API", directDependencies.get(3).getName());
        Assert.assertEquals("2.7", directDependencies.get(3).getVersion());
        Assert.assertEquals("remote-core", directDependencies.get(3).getStatus());
        Assert.assertTrue(directDependencies.get(3).getStatusMessage().matches("Version [^\\s]+ is provided"));

        Assert.assertEquals("XWiki Platform - Display API", directDependencies.get(4).getName());
        Assert.assertEquals("100.1", directDependencies.get(4).getVersion());
        Assert.assertEquals("remote-core-incompatible", directDependencies.get(4).getStatus());
        Assert.assertTrue(directDependencies.get(4).getStatusMessage()
            .matches("Incompatible with provided version [^\\s]+"));

        Assert.assertTrue(dependenciesPane.getBackwardDependencies().isEmpty());

        // Follow the link to a dependency.
        directDependencies.get(0).getLink().click();
        adminPage = new ExtensionAdministrationPage();
        extensionPane = adminPage.getSearchResults().getExtension(0);
        Assert.assertEquals(dependency.getName(), extensionPane.getName());
        Assert.assertEquals(dependencyId.getVersion().getValue(), extensionPane.getVersion());
        Assert.assertEquals(dependency.getSummary(), extensionPane.getSummary());

        // Check that we are still in the administration.
        adminPage.clickInstalledExtensionsSection();
    }
View Full Code Here

        extension.addDependency(new DefaultExtensionDependency("org.xwiki.platform:xwiki-platform-sheet-api",
            new DefaultVersionConstraint("[3.2,)")));
        getRepositoryTestUtils().addExtension(extension);

        // Search the extension and install it.
        ExtensionAdministrationPage adminPage = ExtensionAdministrationPage.gotoPage().clickAddExtensionsSection();
        ExtensionPane extensionPane =
            adminPage.getSearchBar().clickAdvancedSearch().search(extensionId).getExtension(0);
        extensionPane = extensionPane.install();

        // Assert the install plan.
        List<DependencyPane> installPlan = extensionPane.openProgressSection().getJobPlan();
        Assert.assertEquals(2, installPlan.size());
        Assert.assertEquals(dependencyId, installPlan.get(0).getId());
        Assert.assertEquals(extensionId, installPlan.get(1).getId());

        // Finish the install and assert the install log.
        List<LogItemPane> log = extensionPane.confirm().openProgressSection().getJobLog();
        int logSize = log.size();
        Assert.assertTrue(logSize > 1);
        Assert.assertEquals("info", log.get(0).getLevel());
        Assert.assertEquals("Starting job of type [install] with identifier "
            + "[extension/action/alice-xar-extension/wiki:xwiki]", log.get(0).getMessage());
        Assert.assertEquals("info", log.get(logSize - 1).getLevel());
        Assert.assertEquals("Finished job of type [install] with identifier "
            + "[extension/action/alice-xar-extension/wiki:xwiki]", log.get(logSize - 1).getMessage());

        // Test that both extensions are usable.
        ViewPage viewPage = getUtil().createPage(getTestClassName(), getTestMethodName(), "{{alice/}}\n\n{{bob/}}", "");
        String content = viewPage.getContent();
        Assert.assertTrue(content.contains("Alice says hello!"));
        Assert.assertTrue(content.contains("Bob says hi!"));

        // Check the list of installed extensions.
        adminPage = ExtensionAdministrationPage.gotoPage().clickInstalledExtensionsSection();

        SearchResultsPane searchResults = adminPage.getSearchBar().search("bob");
        Assert.assertEquals(1, searchResults.getDisplayedResultsCount());
        extensionPane = searchResults.getExtension(0);
        Assert.assertEquals("installed", extensionPane.getStatus());
        Assert.assertEquals("Installed", extensionPane.getStatusMessage());
        Assert.assertEquals(dependencyId, extensionPane.getId());
        Assert.assertNotNull(extensionPane.getUninstallButton());

        searchResults = new SimpleSearchPane().search("alice");
        Assert.assertEquals(1, searchResults.getDisplayedResultsCount());
        extensionPane = searchResults.getExtension(0);
        Assert.assertEquals("installed", extensionPane.getStatus());
        Assert.assertEquals("Installed", extensionPane.getStatusMessage());
        Assert.assertEquals(extensionId, extensionPane.getId());
        Assert.assertNotNull(extensionPane.getUninstallButton());

        // Check if the progress log is persisted.
        extensionPane = extensionPane.showDetails();
        log = extensionPane.openProgressSection().getJobLog();
        Assert.assertEquals(logSize, log.size());
        Assert.assertEquals("info", log.get(0).getLevel());
        Assert.assertEquals("Starting job of type [install] with identifier "
            + "[extension/action/alice-xar-extension/wiki:xwiki]", log.get(0).getMessage());
        Assert.assertEquals("info", log.get(logSize - 1).getLevel());
        Assert.assertEquals("Finished job of type [install] with identifier "
            + "[extension/action/alice-xar-extension/wiki:xwiki]", log.get(logSize - 1).getMessage());

        // Check if the dependency is properly listed as installed.
        List<DependencyPane> dependencies = extensionPane.openDependenciesSection().getDirectDependencies();
        Assert.assertEquals(2, dependencies.size());
        Assert.assertEquals(dependencyId, dependencies.get(0).getId());
        Assert.assertEquals("installed", dependencies.get(0).getStatus());
        Assert.assertEquals("Installed", dependencies.get(0).getStatusMessage());

        // Check the backward dependency.
        dependencies.get(0).getLink().click();
        extensionPane = new ExtensionAdministrationPage().getSearchResults().getExtension(0);
        dependencies = extensionPane.openDependenciesSection().getBackwardDependencies();
        Assert.assertEquals(1, dependencies.size());
        Assert.assertEquals(extensionId, dependencies.get(0).getId());
        Assert.assertEquals("installed", dependencies.get(0).getStatus());
        Assert.assertEquals("Installed", dependencies.get(0).getStatusMessage());
View Full Code Here

        // Check if the installed pages are present.
        Assert.assertTrue(getUtil().pageExists("ExtensionTest", "Alice"));
        Assert.assertTrue(getUtil().pageExists("ExtensionTest", "Bob"));

        // Uninstall the dependency.
        ExtensionAdministrationPage adminPage =
            ExtensionAdministrationPage.gotoPage().clickInstalledExtensionsSection();
        ExtensionPane extensionPane =
            adminPage.getSearchBar().clickAdvancedSearch().search(dependencyId).getExtension(0);
        extensionPane = extensionPane.uninstall();

        // Check the uninstall plan. Both extensions should be included.
        List<DependencyPane> uninstallPlan = extensionPane.openProgressSection().getJobPlan();
        Assert.assertEquals(2, uninstallPlan.size());

        Assert.assertEquals(extensionId, uninstallPlan.get(0).getId());
        Assert.assertEquals("installed", uninstallPlan.get(0).getStatus());
        Assert.assertEquals("Installed", uninstallPlan.get(0).getStatusMessage());

        Assert.assertEquals(dependencyId, uninstallPlan.get(1).getId());
        Assert.assertEquals("installed", uninstallPlan.get(1).getStatus());
        Assert.assertEquals("Installed", uninstallPlan.get(1).getStatusMessage());

        // Check the confirmation to delete the unused wiki pages.
        extensionPane = extensionPane.confirm();
        UnusedPagesPane unusedPages = extensionPane.openProgressSection().getUnusedPages();
        Assert.assertTrue(unusedPages.contains("ExtensionTest", "Alice"));
        Assert.assertTrue(unusedPages.contains("ExtensionTest", "Bob"));

        // Finish the uninstall and check the log.
        extensionPane = extensionPane.confirm();
        List<LogItemPane> log = extensionPane.openProgressSection().getJobLog();
        Assert.assertTrue(log.size() > 2);
        Assert.assertEquals("info", log.get(2).getLevel());
        Assert.assertEquals("Resolving extension [bob-xar-extension 2.5-milestone-2] from namespace [Home]", log
            .get(2).getMessage());
        Assert.assertEquals("info", log.get(log.size() - 1).getLevel());
        Assert.assertEquals("Finished job of type [uninstall] with identifier "
            + "[extension/action/bob-xar-extension/wiki:xwiki]", log.get(log.size() - 1).getMessage());

        // Check if the uninstalled pages have been deleted.
        Assert.assertFalse(getUtil().pageExists("ExtensionTest", "Alice"));
        Assert.assertFalse(getUtil().pageExists("ExtensionTest", "Bob"));

        // Install both extension again and uninstall only the one with the dependency.
        getExtensionTestUtils().install(extensionId);

        adminPage = ExtensionAdministrationPage.gotoPage().clickInstalledExtensionsSection();
        extensionPane = adminPage.getSearchBar().clickAdvancedSearch().search(extensionId).getExtension(0);
        extensionPane = extensionPane.uninstall();

        // Check the uninstall plan. Only one extension should be included.
        uninstallPlan = extensionPane.openProgressSection().getJobPlan();
        Assert.assertEquals(1, uninstallPlan.size());
        Assert.assertEquals(extensionId, uninstallPlan.get(0).getId());

        // Check the confirmation to delete the unused wiki pages.
        extensionPane = extensionPane.confirm();
        unusedPages = extensionPane.openProgressSection().getUnusedPages();
        Assert.assertTrue(unusedPages.contains("ExtensionTest", "Alice"));
        Assert.assertFalse(unusedPages.contains("ExtensionTest", "Bob"));

        // Finish the uninstall and check the log.
        log = extensionPane.confirm().openProgressSection().getJobLog();
        Assert.assertTrue(log.size() > 2);
        Assert.assertEquals("info", log.get(2).getLevel());
        Assert.assertEquals("Resolving extension [alice-xar-extension 1.3] from namespace [Home]", log.get(2)
            .getMessage());
        Assert.assertEquals("info", log.get(log.size() - 1).getLevel());
        Assert.assertEquals("Finished job of type [uninstall] with identifier "
            + "[extension/action/alice-xar-extension/wiki:xwiki]", log.get(log.size() - 1).getMessage());

        // Check if the uninstalled pages have been deleted.
        Assert.assertFalse(getUtil().pageExists("ExtensionTest", "Alice"));
        Assert.assertTrue(getUtil().pageExists("ExtensionTest", "Bob"));

        // Check the list of installed extensions. It should contain only the second extension.
        adminPage = ExtensionAdministrationPage.gotoPage().clickInstalledExtensionsSection();
        SearchResultsPane searchResults = adminPage.getSearchBar().search("alice");
        Assert.assertEquals(0, searchResults.getDisplayedResultsCount());
        Assert.assertNotNull(searchResults.getNoResultsMessage());

        searchResults = new SimpleSearchPane().search("bob");
        Assert.assertEquals(1, searchResults.getDisplayedResultsCount());
View Full Code Here

        // Setup the extension.
        ExtensionId extensionId = new ExtensionId("alice-xar-extension", "1.3");
        getRepositoryTestUtils().addExtension(getRepositoryTestUtils().getTestExtension(extensionId, "xar"));

        // Search the extension to install.
        ExtensionAdministrationPage adminPage = ExtensionAdministrationPage.gotoPage().clickAddExtensionsSection();
        ExtensionPane extensionPane =
            adminPage.getSearchBar().clickAdvancedSearch().search(extensionId).getExtension(0);

        // Install and uninstall.
        extensionPane = extensionPane.install().confirm().uninstall().confirm().confirm().install();
        Assert.assertEquals("remote", extensionPane.getStatus());
    }
View Full Code Here

TOP

Related Classes of org.xwiki.extension.test.po.ExtensionAdministrationPage

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.