public void createCloudAccount(String testName) throws Exception { String user1 = getUserNameForDomain(testName + "opUser", testDomain); String[] userInfo1 = new String[] {user1}; String cloudUser = getUserNameForDomain(testName + "cloudUser", testDomain); String[] cloudUserInfo1 = new String[] {cloudUser}; String opSite = getSiteName(testName) + "-OP"; String fileName1 = getFileName(testName) + ".txt"; // Create User1 (On-premise) CreateUserAPI.CreateActivateUser(drone, ADMIN_USERNAME, userInfo1); // Create User1 (Cloud) CreateUserAPI.CreateActivateUser(hybridDrone, ADMIN_USERNAME, cloudUserInfo1); CreateUserAPI.upgradeCloudAccount(hybridDrone, ADMIN_USERNAME, testDomain, "1000"); // Login to User1, set up the cloud sync ShareUser.login(drone, user1, DEFAULT_PASSWORD); signInToAlfrescoInTheCloud(drone, cloudUser, DEFAULT_PASSWORD); // create Site ShareUser.createSite(drone, opSite, SITE_VISIBILITY_PUBLIC); // upload a file String[] fileInfo1 = {fileName1, DOCLIB}; ShareUser.uploadFileInFolder(drone, fileInfo1).render(); ShareUser.logout(drone); }
/** AONE-15605:Form - Items */ @Test(groups = "Hybrid", enabled = true) public void AONE_15605() throws Exception { String testName = getTestName() + System.currentTimeMillis(); String user1 = getUserNameForDomain(testName + "opUser", testDomain); String cloudUser = getUserNameForDomain(testName + "cloudUser", testDomain); String cloudSite = getSiteName(testName) + "CL" + "-2"; String dueDate = getDueDateString(); String folderName = getFolderName(testName); createCloudAccount(testName); ShareUser.login(hybridDrone, cloudUser, DEFAULT_PASSWORD); ShareUser.createSite(hybridDrone, cloudSite, SITE_VISIBILITY_PUBLIC); ShareUserSitePage.createFolder(hybridDrone, folderName, folderName); ShareUser.logout(hybridDrone); // Login as OP user ShareUser.login(drone, user1, DEFAULT_PASSWORD); // Start Simple Cloud Task Workflow CloudTaskOrReviewPage cloudTaskOrReviewPage = ShareUserWorkFlow.startCloudReviewTaskWorkFlow(drone).render(); // ---- Step 1 ---- // --- Step action --- // Fill in all the fields except Items. // --- Expected results --- // Performed correctly. cloudTaskOrReviewPage.selectAfterCompleteDropDown(KeepContentStrategy.KEEPCONTENT); Assert.assertTrue( cloudTaskOrReviewPage.isAfterCompletionSelected(KeepContentStrategy.KEEPCONTENT)); Assert.assertFalse(cloudTaskOrReviewPage.isLockOnPremiseSelected()); cloudTaskOrReviewPage.selectLockOnPremiseCheckbox(true); Assert.assertTrue(cloudTaskOrReviewPage.isLockOnPremiseSelected()); cloudTaskOrReviewPage.enterDueDateText(dueDate); cloudTaskOrReviewPage.selectPriorityDropDown(Priority.HIGH); DestinationAndAssigneePage destinationAndAssigneePage = cloudTaskOrReviewPage.selectDestinationAndAssigneePage().render(); destinationAndAssigneePage.selectSite(cloudSite); destinationAndAssigneePage.selectSubmitButtonToSync(); AssignmentPage assignmentPage = cloudTaskOrReviewPage.selectAssignmentPage().render(); assignmentPage.selectAssignee(cloudUser); // ---- Step 2 ---- // --- Step action --- // Click on Start Workflow button // --- Expected results --- // Workflow could not be started' dialog with the message '08150481 At least one content item is // required to start a Cloud workflow' is displayed. cloudTaskOrReviewPage.clickStartWorkflow(); String error = cloudTaskOrReviewPage.getWorkFlowCouldNotBeStartedPromptMessage(); Assert.assertTrue( error.contains("At least one content item is required to start a Cloud workflow"), "Error is not displayed when no one file is added"); }
/** AONE-15604:Form - Items */ @Test(groups = "Hybrid", enabled = true) public void AONE_15604() throws Exception { String testName = getTestName() + System.currentTimeMillis(); String user1 = getUserNameForDomain(testName + "opUser", testDomain); String cloudUser = getUserNameForDomain(testName + "cloudUser", testDomain); String cloudSite = getSiteName(testName) + "CL" + "-3"; String opSite = getSiteName(testName) + "-OP"; String fileName1 = getFileName(testName) + ".txt"; String dueDate = getDueDateString(); createCloudAccount(testName); ShareUser.login(hybridDrone, cloudUser, DEFAULT_PASSWORD); ShareUser.createSite(hybridDrone, cloudSite, SITE_VISIBILITY_PUBLIC); ShareUser.logout(hybridDrone); // Login as OP user ShareUser.login(drone, user1, DEFAULT_PASSWORD); ShareUser.openSiteDocumentLibraryFromSearch(drone, opSite); // Start Simple Cloud Task Workflow CloudTaskOrReviewPage cloudTaskOrReviewPage = ShareUserWorkFlow.startWorkFlowFromDocumentLibraryPage(drone, fileName1).render(); // ---- Step 1 ---- // --- Step action --- // Fill in all the fields except Assignee/Reviewers. // --- Expected results --- /** Performed correctly. */ cloudTaskOrReviewPage.selectAfterCompleteDropDown(KeepContentStrategy.KEEPCONTENT); cloudTaskOrReviewPage.enterDueDateText(dueDate); cloudTaskOrReviewPage.selectLockOnPremiseCheckbox(true); cloudTaskOrReviewPage.selectPriorityDropDown(Priority.HIGH); DestinationAndAssigneePage destinationAndAssigneePage = cloudTaskOrReviewPage.selectDestinationAndAssigneePage().render(); destinationAndAssigneePage.selectSite(cloudSite); destinationAndAssigneePage.selectSubmitButtonToSync(); // ---- Step 2 ---- // --- Step action --- // Click on Start Workflow button // --- Expected results --- // 'The value cannot be empty.' balloon pop-up is displayed above the the Assignee/Reviewers // section. cloudTaskOrReviewPage.clickStartWorkflow(); Assert.assertTrue( cloudTaskOrReviewPage.isErrorBalloonPresent(), "Baloon error is not displayed when Assignee is not specified"); Assert.assertEquals( cloudTaskOrReviewPage.getErrorBalloonMessage(), "The value cannot be empty."); }
@Test(groups = {"DataPrepDocumentLibrary"}) public void dataPrep_Enterprise40x_13863() throws Exception { String testName = getTestName(); String testUser = getUserNameFreeDomain(testName); String siteName = getSiteName(testName); // User String[] testUserInfo = new String[] {testUser}; CreateUserAPI.CreateActivateUser(drone, ADMIN_USERNAME, testUserInfo); // Login ShareUser.login(drone, testUser, DEFAULT_PASSWORD); // Create Site ShareUser.createSite(drone, siteName, AbstractUtils.SITE_VISIBILITY_PUBLIC); ShareUser.openSiteDashboard(drone, siteName); }
@BeforeMethod(groups = "setup", timeOut = 150000) public void precondition() throws Exception { // Create user String[] testUserInfo = new String[] {testUser}; CreateUserAPI.CreateActivateUser(drone, ADMIN_USERNAME, testUserInfo); ShareUser.logout(drone); String networkPathNew = networkPath.concat("webdav"); mapConnect = "cmd /c start /WAIT net use" + " " + networkDrive + " " + networkPathNew + " " + "/user:"******" " + DEFAULT_PASSWORD; // Runtime.getRuntime().exec(mapConnect); Process process = Runtime.getRuntime().exec(mapConnect); // waitProcessEnd(process); process.waitFor(); if (CifsUtil.checkDirOrFileExists(10, 200, networkDrive + sitesPath)) { logger.info("----------Mapping succesfull " + testUser); } else { logger.error("----------Mapping was not done " + testUser); Assert.fail("Mapping was not done " + testUser); } // Any site is created ShareUser.login(drone, testUser); ShareUser.createSite(drone, siteName, SITE_VISIBILITY_PUBLIC); ShareUser.logout(drone); }
@Test(groups = {"DataPrepDocumentLibrary"}) public void dataPrep_Enterprise40x_3960() throws Exception { String testName = getTestName(); String testUser = getUserNameFreeDomain(testName); String siteName = getSiteName(testName); String fileName = getFileName(testName) + ".txt"; // User String[] testUserInfo = new String[] {testUser}; CreateUserAPI.CreateActivateUser(drone, ADMIN_USERNAME, testUserInfo); // Login ShareUser.login(drone, testUser, DEFAULT_PASSWORD); // Create Site ShareUser.createSite(drone, siteName, AbstractUtils.SITE_VISIBILITY_PUBLIC); ShareUser.openSiteDashboard(drone, siteName); ShareUser.openSitesDocumentLibrary(drone, siteName); // Upload File String[] fileInfo = {fileName, DOCLIB}; DocumentLibraryPage documentLibraryPage = ShareUser.uploadFileInFolder(drone, fileInfo).render(); // Upload New version of the document. for (int i = 0; i < 2; i++) { UpdateFilePage updatePage = documentLibraryPage.getFileDirectoryInfo(fileName).selectUploadNewVersion().render(); updatePage.selectMajorVersionChange(); String fileContents = String.format("New version of document %s: %s", i + 2, fileName); File newFileName = newFile(DATA_FOLDER + (fileName + getRandomString(3)), fileContents); updatePage.uploadFile(newFileName.getCanonicalPath()); updatePage.setComment(fileName); SitePage sitePage = updatePage.submit().render(); documentLibraryPage = (DocumentLibraryPage) sitePage.render(); FileUtils.forceDelete(newFileName); } }
/** * Enterprise40x-6553:Search for items * * <ul> * <li>Search for Content using Keywords search criteria * <li>Search for Content using Name search criteria * <li>Search for Content using Title search criteria * <li>Search for Content using Description search criteria * <li>Search for Content using Mimetype search criteria * <li>Search for Content using Modified Date search criteria * <li>Search for Content using Modifier search criteria * <li>Click View in Browser icon * <li>Click Download icon * <li>Search for Folder using Keywords search criteria * <li>Search for Folder using Name search criteria * <li>Search for Folder using Title search criteria * <li>Search for Folder using Description search criteria * <li>Click on folder's path * <li>Sort the found items by any criteria * </ul> * * @throws Exception */ @Test(groups = {"Sanity", "Search"}) public void enterprise40x_6553() throws Exception { testName = getTestName(); String searchTerm = testName + "-" + System.currentTimeMillis(); Boolean searchOk; String testUser = getUserNameFreeDomain(searchTerm); String siteName = getSiteName(searchTerm); String folderName = getFolderName(searchTerm + "-1"); String folderName2 = getFolderName(searchTerm + "-2"); String fileName = getFileName(searchTerm); CreateUserAPI.CreateActivateUser(drone, ADMIN_USERNAME, testUser); ShareUser.login(drone, testUser, DEFAULT_PASSWORD); // Create a Site ShareUser.createSite(drone, siteName, SITE_VISIBILITY_PUBLIC).render(); // Open Document library ShareUser.openDocumentLibrary(drone); // Create 2 Folder ShareUserSitePage.createFolder(drone, folderName, folderName + "Title1", folderName + "Desc1"); ShareUserSitePage.createFolder(drone, folderName2, folderName + "Title2", folderName + "Desc2"); // Create 2 Documents for (int i = 0; i < 2; i++) { ContentDetails contentDetails = new ContentDetails(); contentDetails.setName(fileName + "-Name-0" + i); contentDetails.setTitle(fileName + "-Title-0" + i); contentDetails.setDescription(fileName + "-Desc-0" + i); ShareUser.createContent(drone, contentDetails, ContentType.PLAINTEXT); } htmlFileName = fileName + "-Name-0" + TEST_HTML_FILE; ShareUser.uploadFileInFolder(drone, new String[] {htmlFileName}); /** Start Test */ // Searching and sorting the content items List<String> searchInfo = Arrays.asList(ADV_CONTENT_SEARCH); Map<String, String> keyWordSearchText = new HashMap<String, String>(); DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); Calendar cal = Calendar.getInstance(); String todaysDate = dateFormat.format(cal.getTime()); cal.add(Calendar.DATE, -1); try { keyWordSearchText.put(SearchKeys.KEYWORD.getSearchKeys(), searchTerm); List<SearchResultItem> searchResults = null; // Content Search with keyword: common part of filename searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); // Check the Search Results: Search with Retry for Solr assertTrue( ShareUserSearchPage.checkSearchResultsWithRetry( drone, ADV_CONTENT_SEARCH, searchTerm, fileName + "-Name-01", true), "Incorrect Search Results for: Keyword search- " + searchTerm + " file1 not displayed"); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, fileName + "-Name-00"); Assert.assertTrue( searchOk, "Incorrect Search Results for Name search- " + searchTerm + ". Result item - " + fileName + "-Name-00" + " not found"); keyWordSearchText.clear(); // Searching for valid Name. searchTerm = "-Name-00"; keyWordSearchText.put(SearchKeys.NAME.getSearchKeys(), searchTerm); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, fileName + searchTerm); Assert.assertTrue(searchOk, "Incorrect Search Results for Name search- " + searchTerm); keyWordSearchText.clear(); // Searching for valid Title string searchTerm = "-Title-01"; keyWordSearchText.put(SearchKeys.TITLE.getSearchKeys(), searchTerm); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, fileName + "-Name-01"); Assert.assertTrue(searchOk, "Incorrect Search Results for Name search- " + searchTerm); keyWordSearchText.clear(); // Searching for valid Description string searchTerm = "-Desc-01"; keyWordSearchText.put(SearchKeys.DESCRIPTION.getSearchKeys(), searchTerm); ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, fileName + "-Name-01"); Assert.assertTrue(searchOk, "Incorrect Search Results for Name search- " + searchTerm); keyWordSearchText.clear(); // Searching for valid MODIFIERTODATE string keyWordSearchText.put(SearchKeys.MODIFIERTODATE.getSearchKeys(), todaysDate); keyWordSearchText.put(SearchKeys.MODIFIERFROMDATE.getSearchKeys(), todaysDate); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); assertTrue( searchResults.size() > 0, "There should be search results for to date - " + todaysDate); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, fileName + "-Name-01"); Assert.assertTrue( searchOk, "Incorrect Search Results for Name search- " + keyWordSearchText + ". Result item - " + fileName + "-Name-00"); keyWordSearchText.clear(); // Searching for valid Name and Mime type. keyWordSearchText.put(SearchKeys.MIME.getSearchKeys(), "HTML"); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); assertTrue(searchResults.size() > 0, "There should be search results for html MIME TYPE."); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, htmlFileName); Assert.assertTrue( searchOk, "Incorrect Search Results for Name search- " + keyWordSearchText + ". Result item - " + fileName + "-Name-00" + " not found"); searchResults.clear(); keyWordSearchText.clear(); // Searching for valid Name and Mime type. keyWordSearchText.put(SearchKeys.MODIFIER.getSearchKeys(), testUser); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); assertTrue( searchResults.size() > 0, "There should be search results for " + testUser + " as modifier."); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, fileName + "-Name-00"); Assert.assertTrue( searchOk, "Incorrect Search Results for Name search- " + keyWordSearchText + ". Result item - " + fileName + "-Name-00" + " not found"); searchResults.clear(); keyWordSearchText.clear(); // Folder Search: Searching with keyword searchInfo = Arrays.asList(ADV_FOLDER_SEARCH); searchTerm = folderName; keyWordSearchText.put(SearchKeys.KEYWORD.getSearchKeys(), searchTerm); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, folderName); Assert.assertTrue( searchOk, "Incorrect Search Results for Name search- " + searchTerm + ". Result item - " + fileName + "-Name-00" + " not found"); keyWordSearchText.clear(); // Searching for valid Name. keyWordSearchText.put(SearchKeys.NAME.getSearchKeys(), searchTerm); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); assertTrue(searchResults.size() > 0, "There should be search results for name on folder."); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, folderName); Assert.assertTrue( searchOk, "Incorrect Search Results for Name search- " + searchTerm + ". Result item - " + fileName + "-Name-00" + " not found"); keyWordSearchText.clear(); // Searching for valid Title string keyWordSearchText.put(SearchKeys.TITLE.getSearchKeys(), searchTerm); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); assertTrue(searchResults.size() > 0, "There should be search results for title on folder."); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, folderName); Assert.assertTrue( searchOk, "Incorrect Search Results for Name search- " + searchTerm + ". Result item - " + folderName + " not found"); keyWordSearchText.clear(); // Searching for valid Description string keyWordSearchText.put(SearchKeys.DESCRIPTION.getSearchKeys(), searchTerm); searchResults = ShareUserSearchPage.advanceSearch(drone, searchInfo, keyWordSearchText); assertTrue( searchResults.size() > 0, "There should be search results for description on folder."); searchOk = ShareUserSearchPage.isSearchItemAvailable(drone, folderName); Assert.assertTrue( searchOk, "Incorrect Search Results for Name search- " + searchTerm + ". Result item - " + folderName + " not found"); // Sorting results by Name List<SearchResultItem> sortedByName = ShareUserSearchPage.sortSearchResults(drone, SortType.NAME); List<SearchResultItem> expectedResultsSortedByName = new ArrayList<SearchResultItem>(sortedByName); Collections.sort(expectedResultsSortedByName, new SortedSearchResultItemByName()); // Check Sort order for (int i = 0; (i < 5 && i < expectedResultsSortedByName.size()); i++) { assertTrue( expectedResultsSortedByName .get(i) .getTitle() .equalsIgnoreCase(sortedByName.get(i).getTitle()), "The results are not sorted as expected - " + expectedResultsSortedByName.get(i).getTitle() + " - " + sortedByName.get(i).getTitle()); } } catch (Throwable e) { reportError(drone, testName, e); } finally { testCleanup(drone, testName); } }