/** * Method to navigate to site dashboard url, based on siteshorturl, rather * than sitename This is to be used to navigate only as a util, not to test * getting to the site dashboard * * @param drone * @param siteShortURL * @return {@link SiteDashBoardPage * */ public static RepositoryPage openSiteFromSitesFolderOfRepository( WebDrone drone, String siteName) { String url = drone.getCurrentUrl(); // http://127.0.0.1:8081/share /page/repository#filter=path|%2FUser%2520Homes%2F // userEnterprise42-5405%40freetht1.test-1 |&page=1 String target = url.substring(0, url.indexOf("/page/")) + "/page/repository#filter=path|%2FSites%2F" + SiteUtil.getSiteShortname(siteName) + "|&page=1"; drone.navigateTo(target); drone.waitForPageLoad(maxWaitTime); RepositoryPage repoPage = (RepositoryPage) ShareUser.getSharePage(drone); return repoPage.render(); }
/** * Utility to create events in share for adhoc reports * * @param drone * @param testName * @throws Exception */ public static void userShareInteractions(WebDrone drone, String testName) throws Exception { String testUser = getUserNameForDomain(testName, DOMAIN_FREE); String[] testUserInfo = new String[] {testUser}; String siteName = getSiteName(testName); // Create test user CreateUserAPI.createActivateUserAsTenantAdmin(drone, ADMIN_USERNAME, testUserInfo); // Login as created test user ShareUser.login(drone, testUser, DEFAULT_PASSWORD); // test user creates site SiteUtil.createSite(drone, siteName, AbstractUtils.SITE_VISIBILITY_PUBLIC); String folderName = getFolderName(testName) + System.currentTimeMillis(); // and a folder in sites document library ShareUserSitePage.createFolder(drone, folderName, folderName); // add comment to folder ShareUserSitePage.addComment(drone, folderName, "folderComment"); // create text file in the folder - file-previewed String fileName = getFileName(testName) + "-" + System.currentTimeMillis(); ContentDetails contentDetails = new ContentDetails(); contentDetails.setName(fileName); ShareUserSitePage.createContentInFolder( drone, contentDetails, ContentType.PLAINTEXT, siteName, folderName); ShareUser.openDocumentLibrary(drone); // uploads a file in the folder String fileName1 = getFileName(testName) + System.currentTimeMillis() + "_1" + ".txt"; File file1 = newFile(fileName1, fileName1); ShareUserSitePage.uploadFile(drone, file1); // add comment to file - file-previewed ShareUserSitePage.addComment(drone, fileName1, "fileComment"); ShareUser.openDocumentLibrary(drone); // like file ShareUserSitePage.likeContent(drone, fileName1); // share file ShareUserSitePage.getFileDirectoryInfo(drone, fileName1).clickShareLink().render(); ContentDetails newContentDetails = new ContentDetails(); newContentDetails.setContent(testName); DocumentLibraryPage documentLibPage = ShareUser.openDocumentLibrary(drone); // edit document inline ShareUserSitePage.editTextDocumentInLine(drone, fileName1, newContentDetails).render(); // select all documentLibPage.getNavigation().selectAll().render(); // delete all ConfirmDeletePage confirmDeletePage = documentLibPage.getNavigation().selectDelete().render(); confirmDeletePage.selectAction(ConfirmDeletePage.Action.Delete).render(); // add user with write permissions to write to the site ShareUserMembers.inviteUserToSiteWithRole( drone, testUser, testName, siteName, UserRole.COLLABORATOR); // change the user role ShareUserMembers.assignRoleToSiteMember(drone, testName, siteName, UserRole.CONTRIBUTOR); // Inviting user logs out ShareUser.logout(drone); // Invited User logs in ShareUser.login(drone, testName, DEFAULT_PASSWORD); // user leaves site ShareUserMembers.userRequestToLeaveSite(drone, siteName); }