diff --git a/e2e-test/src/main/resources/shared-resources/testdata/search-in-folder.xml b/e2e-test/src/main/resources/shared-resources/testdata/search-in-folder.xml new file mode 100644 index 000000000..5a5c6ba72 --- /dev/null +++ b/e2e-test/src/main/resources/shared-resources/testdata/search-in-folder.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/e2e-test/src/test/java/org/alfresco/cmis/CmisTest.java b/e2e-test/src/test/java/org/alfresco/cmis/CmisTest.java index fbfd9d153..7396201cd 100644 --- a/e2e-test/src/test/java/org/alfresco/cmis/CmisTest.java +++ b/e2e-test/src/test/java/org/alfresco/cmis/CmisTest.java @@ -18,7 +18,7 @@ import org.testng.annotations.BeforeClass; public abstract class CmisTest extends AbstractTestNGSpringContextTests { @Autowired - CmisWrapper cmisApi; + protected CmisWrapper cmisApi; @Autowired protected DataUser dataUser; diff --git a/e2e-test/src/test/java/org/alfresco/cmis/search/SolrSearchByPath.java b/e2e-test/src/test/java/org/alfresco/cmis/search/SolrSearchByPath.java new file mode 100644 index 000000000..eae1ea852 --- /dev/null +++ b/e2e-test/src/test/java/org/alfresco/cmis/search/SolrSearchByPath.java @@ -0,0 +1,48 @@ +package org.alfresco.cmis.search; + +import org.alfresco.cmis.CmisTest; +import org.alfresco.utility.Utility; +import org.alfresco.utility.data.provider.XMLDataConfig; +import org.alfresco.utility.data.provider.XMLTestData; +import org.alfresco.utility.data.provider.XMLTestDataProvider; +import org.alfresco.utility.model.QueryModel; +import org.alfresco.utility.model.TestGroup; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + +@Test(groups = { TestGroup.CMIS, TestGroup.QUERIES }) +public class SolrSearchByPath extends CmisTest +{ + XMLTestData testData; + + @BeforeClass(alwaysRun = true) + public void readTestDataFile() + { + cmisApi.authenticateUser(dataUser.getAdminUser()); + } + + @AfterClass(alwaysRun = true) + public void cleanupEnvironment() throws Exception + { + //testData.cleanup(dataContent); + } + + @Test(dataProviderClass = XMLTestDataProvider.class, dataProvider = "getAllData") + @XMLDataConfig(file = "src/main/resources/shared-resources/testdata/input-data-search-by-path.xml") + public void prepareEnvironmentData(XMLTestData testData) throws Exception + { + this.testData = testData; + testData.createUsers(dataUser); + testData.createSitesStructure(dataSite, dataContent); + // wait for solr index + Utility.waitToLoopTime(15); + } + + @Test(dependsOnMethods = "prepareEnvironmentData", dataProviderClass = XMLTestDataProvider.class, dataProvider = "getQueriesData") + @XMLDataConfig(file = "src/main/resources/shared-resources/testdata/input-data-search-by-path.xml") + public void executeSearchByPathQueries(QueryModel query) throws Exception + { + cmisApi.withQuery(query.getValue()).assertResultsCountIs(query.getResults()); + } +} diff --git a/e2e-test/src/test/java/org/alfresco/cmis/search/SolrSearchInFolder.java b/e2e-test/src/test/java/org/alfresco/cmis/search/SolrSearchInFolder.java new file mode 100644 index 000000000..10dcded87 --- /dev/null +++ b/e2e-test/src/test/java/org/alfresco/cmis/search/SolrSearchInFolder.java @@ -0,0 +1,58 @@ +package org.alfresco.cmis.search; + +import org.alfresco.cmis.CmisTest; +import org.alfresco.utility.Utility; +import org.alfresco.utility.data.provider.XMLDataConfig; +import org.alfresco.utility.data.provider.XMLTestData; +import org.alfresco.utility.data.provider.XMLTestDataProvider; +import org.alfresco.utility.model.FileModel; +import org.alfresco.utility.model.FileType; +import org.alfresco.utility.model.FolderModel; +import org.alfresco.utility.model.QueryModel; +import org.alfresco.utility.model.SiteModel; +import org.alfresco.utility.model.TestGroup; +import org.alfresco.utility.model.UserModel; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + +@Test(groups = { TestGroup.CMIS, TestGroup.QUERIES }) +public class SolrSearchInFolder extends CmisTest +{ + UserModel testUser; + SiteModel testSite; + FolderModel parentFolder, subFolder1, subFolder2, subFolder3; + FileModel subFile1, subFile2, subFile3, subFile4, subFile5; + XMLTestData testData; + + @BeforeClass(alwaysRun = true) + public void deployCustomContentModel() throws Exception + { + // create input data + parentFolder = FolderModel.getRandomFolderModel(); + subFolder1 = FolderModel.getRandomFolderModel(); + subFolder2 = FolderModel.getRandomFolderModel(); + subFolder3 = new FolderModel("subFolder"); + subFile5 = new FileModel("fifthFile.txt", FileType.TEXT_PLAIN, "fifthFile content"); + subFile1 = new FileModel("firstFile", FileType.MSEXCEL); + subFile2 = FileModel.getRandomFileModel(FileType.MSPOWERPOINT2007); + subFile3 = FileModel.getRandomFileModel(FileType.TEXT_PLAIN); + subFile4 = new FileModel("fourthFile", "fourthFileTitle", "fourthFileDescription", FileType.MSWORD2007); + + testUser = dataUser.createRandomTestUser(); + testSite = dataSite.usingUser(testUser).createPublicRandomSite(); + cmisApi.authenticateUser(testUser).usingSite(testSite).createFolder(parentFolder).then().usingResource(parentFolder).createFile(subFile5).and() + .assertThat().existsInRepo().and().assertThat().contentIs("fifthFile content").createFolder(subFolder1).and().assertThat().existsInRepo() + .createFolder(subFolder2).and().assertThat().existsInRepo().createFolder(subFolder3).and().assertThat().existsInRepo().createFile(subFile1) + .and().assertThat().existsInRepo().createFile(subFile2).and().assertThat().existsInRepo().createFile(subFile3).and().assertThat().existsInRepo() + .createFile(subFile4).and().assertThat().existsInRepo(); + Utility.waitToLoopTime(10); + } + + @Test(dataProviderClass = XMLTestDataProvider.class, dataProvider = "getQueriesData") + @XMLDataConfig(file = "src/main/resources/shared-resources/testdata/search-in-folder.xml") + public void executeCMISQuery(QueryModel query) + { + String currentQuery = String.format(query.getValue(), parentFolder.getNodeRef()); + cmisApi.withQuery(currentQuery).assertResultsCountIs(query.getResults()); + } +}