mirror of
https://github.com/Alfresco/SearchServices.git
synced 2026-09-16 18:12:56 +00:00
Merge branch 'master' into custom-model
# Conflicts: # src/main/resources/shared-resources/testdata/cmis-queries-data.xml # src/test/java/org/alfresco/cmis/CMISQueriesTest.java
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--CMIS Queries: passing the search query as first param and results expected -->
|
||||
<testData>
|
||||
<queries>
|
||||
<query value="SELECT * FROM cmis:document where IN_FOLDER('%s')" expectedResults="5" />
|
||||
<query value="SELECT * FROM cmis:folder where IN_FOLDER('%s')" expectedResults="3" />
|
||||
<query value="SELECT * FROM cmis:document where IN_FOLDER('%s') AND cmis:name = 'fourthFile'" expectedResults="1" />
|
||||
<query value="SELECT * FROM cmis:folder where IN_FOLDER('%s') AND cmis:name = 'subFolder'" expectedResults="1" />
|
||||
<query value="SELECT * FROM cmis:document where IN_FOLDER('%s') ORDER BY cmis:name ASC" expectedResults="5" />
|
||||
<query value="SELECT * FROM cmis:document where IN_FOLDER('%s') ORDER BY cmis:name DESC" expectedResults="5" />
|
||||
<query value="SELECT * FROM cmis:folder where IN_FOLDER('%s') ORDER BY cmis:lastModificationDate ASC" expectedResults="3" />
|
||||
<query value="SELECT * FROM cmis:folder where IN_FOLDER('%s') ORDER BY cmis:lastModificationDate DESC" expectedResults="3" />
|
||||
<query value="SELECT * FROM cmis:document where IN_FOLDER('%s') ORDER BY cmis:createdBy DESC" expectedResults="5" />
|
||||
<query value="SELECT * FROM cmis:document where IN_FOLDER('%s') AND cmis:name IS NOT NULL" expectedResults="5" />
|
||||
<query value="SELECT * FROM cmis:folder where IN_FOLDER('%s') AND cmis:name IS NOT NULL" expectedResults="3" />
|
||||
<query value="SELECT * FROM cmis:document where IN_FOLDER('%s') AND CONTAINS('fifthFile content')" expectedResults="1" />
|
||||
<query value="SELECT * FROM cmis:document where IN_FOLDER('%s') AND cmis:name LIKE 'fourthFile'" expectedResults="1" />
|
||||
<query value="SELECT * FROM cmis:folder where IN_FOLDER('%s') AND NOT(cmis:name NOT IN ('subFolder'))" expectedResults="1" />
|
||||
<query value="SELECT * FROM cmis:document where IN_FOLDER('%s') AND cmis:name IN ('fourthFile', 'fifthFile.txt')" expectedResults="2" />
|
||||
<query value="SELECT * FROM cmis:document where IN_FOLDER('%s') AND cmis:name NOT IN ('fourthFile', 'fifthFile.txt')" expectedResults="3" />
|
||||
<query value="SELECT * FROM cmis:folder where IN_FOLDER('%s') AND cmis:name <> 'subFolder'" expectedResults="2" />
|
||||
</queries>
|
||||
</testData>
|
||||
@@ -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;
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user