From df6d2b2e9e3f761604600d674c66c69ae6eea288 Mon Sep 17 00:00:00 2001 From: bogdanbocancea Date: Fri, 28 Oct 2016 15:46:33 +0300 Subject: [PATCH 1/3] TAS-1752: add queries to get content by path --- .../test/java/org/alfresco/cmis/CmisTest.java | 2 +- .../cmis/search/SolrSearchByPath.java | 48 +++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 e2e-test/src/test/java/org/alfresco/cmis/search/SolrSearchByPath.java 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..07ecf725c --- /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.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() + { + XMLTestDataProvider.setXmlImputFile("src/main/resources/shared-resources/testdata/input-data-search-by-path.xml"); + cmisApi.authenticateUser(dataUser.getAdminUser()); + } + + @AfterClass(alwaysRun = true) + public void cleanupEnvironment() throws Exception + { + testData.cleanup(dataContent); + } + + @Test(dataProviderClass = XMLTestDataProvider.class, dataProvider = "prepareEnvironmentData") + 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") + public void executeSearchByPathQueries(QueryModel query) throws Exception + { + String queryStr = query.getValue(); + cmisApi.withQuery(queryStr) + .assertResultsCountIs(query.getResults()); + } +} From b6b41dedb63b4b6cb9974e95d0176e3502900511 Mon Sep 17 00:00:00 2001 From: bogdanbocancea Date: Fri, 28 Oct 2016 17:27:41 +0300 Subject: [PATCH 2/3] TAS-1753: add queries for in_folder statement --- .../testdata/search-in-folder.xml | 23 +++++++ .../cmis/search/SolrSearchInFolder.java | 64 +++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 e2e-test/src/main/resources/shared-resources/testdata/search-in-folder.xml create mode 100644 e2e-test/src/test/java/org/alfresco/cmis/search/SolrSearchInFolder.java 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/search/SolrSearchInFolder.java b/e2e-test/src/test/java/org/alfresco/cmis/search/SolrSearchInFolder.java new file mode 100644 index 000000000..e01e0e3e3 --- /dev/null +++ b/e2e-test/src/test/java/org/alfresco/cmis/search/SolrSearchInFolder.java @@ -0,0 +1,64 @@ +package org.alfresco.cmis.search; + +import org.alfresco.cmis.CmisTest; +import org.alfresco.utility.Utility; +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 + { + XMLTestDataProvider.setXmlImputFile("src/main/resources/shared-resources/testdata/search-in-folder.xml"); + + // 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") + public void executeCMISQuery(QueryModel query) + { + String currentQuery = String.format(query.getValue(), parentFolder.getNodeRef()); + cmisApi.withQuery(currentQuery) + .assertResultsCountIs(query.getResults()); + } +} From a3f53db71dae2943476d3ba8f1e68166d2685013 Mon Sep 17 00:00:00 2001 From: bogdanbocancea Date: Fri, 28 Oct 2016 17:28:14 +0300 Subject: [PATCH 3/3] remove queryStr --- .../test/java/org/alfresco/cmis/search/SolrSearchByPath.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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 index 07ecf725c..cbe258e7f 100644 --- a/e2e-test/src/test/java/org/alfresco/cmis/search/SolrSearchByPath.java +++ b/e2e-test/src/test/java/org/alfresco/cmis/search/SolrSearchByPath.java @@ -41,8 +41,7 @@ public class SolrSearchByPath extends CmisTest @Test(dependsOnMethods = "prepareEnvironmentData", dataProviderClass = XMLTestDataProvider.class, dataProvider = "getQueriesData") public void executeSearchByPathQueries(QueryModel query) throws Exception { - String queryStr = query.getValue(); - cmisApi.withQuery(queryStr) + cmisApi.withQuery(query.getValue()) .assertResultsCountIs(query.getResults()); } }