mirror of
https://github.com/Alfresco/SearchServices.git
synced 2026-09-16 18:12:56 +00:00
Merge branch 'feature/Search-1485' of https://git.alfresco.com/search_discovery/SearchAnalyticsE2ETest into feature/Search-1485
This commit is contained in:
@@ -19,6 +19,8 @@
|
||||
<test.exclude></test.exclude>
|
||||
<test.include></test.include>
|
||||
<java.version>11</java.version>
|
||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||
<maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
|
||||
</properties>
|
||||
<build>
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<model name="tas:cmistasmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
|
||||
|
||||
<description>Alfresco TAS custom model</description>
|
||||
<author>Bogdan</author>
|
||||
<version>1.0</version>
|
||||
|
||||
<imports>
|
||||
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
|
||||
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
|
||||
</imports>
|
||||
|
||||
<namespaces>
|
||||
<namespace uri="tas.cmis.model" prefix="tas"/>
|
||||
</namespaces>
|
||||
|
||||
<types>
|
||||
<type name="tas:document">
|
||||
<title>CMIS TAS Content</title>
|
||||
<parent>cm:content</parent>
|
||||
<properties>
|
||||
<property name="tas:TextPropertyC">
|
||||
<title>Text</title>
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
<property name="tas:DatePropertyC">
|
||||
<title>Datetime</title>
|
||||
<type>d:datetime</type>
|
||||
</property>
|
||||
<property name="tas:IntPropertyC">
|
||||
<title>Integer</title>
|
||||
<type>d:int</type>
|
||||
</property>
|
||||
<property name="tas:LongPropertyC">
|
||||
<title>Long</title>
|
||||
<type>d:long</type>
|
||||
</property>
|
||||
<property name="tas:MultiplyStringC">
|
||||
<title>Multiply String</title>
|
||||
<type>d:text</type>
|
||||
<mandatory>true</mandatory>
|
||||
<multiple>true</multiple>
|
||||
</property>
|
||||
</properties>
|
||||
|
||||
<associations>
|
||||
<association name="tas:tasContent">
|
||||
<source>
|
||||
<mandatory>false</mandatory>
|
||||
<many>false</many>
|
||||
</source>
|
||||
<target>
|
||||
<class>cm:content</class>
|
||||
<mandatory>false</mandatory>
|
||||
<many>false</many>
|
||||
</target>
|
||||
</association>
|
||||
</associations>
|
||||
</type>
|
||||
|
||||
<type name="tas:folder">
|
||||
<title>CMIS TAS Folder</title>
|
||||
<parent>cm:folder</parent>
|
||||
<properties>
|
||||
<property name="tas:TextPropertyF">
|
||||
<title>Text</title>
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
<property name="tas:DatePropertyF">
|
||||
<title>Datetime</title>
|
||||
<type>d:datetime</type>
|
||||
</property>
|
||||
<property name="tas:IntPropertyF">
|
||||
<title>Integer</title>
|
||||
<type>d:int</type>
|
||||
</property>
|
||||
<property name="tas:MultiplyStringF">
|
||||
<title>Multiply String</title>
|
||||
<type>d:text</type>
|
||||
<mandatory>true</mandatory>
|
||||
<multiple>true</multiple>
|
||||
</property>
|
||||
</properties>
|
||||
|
||||
<associations>
|
||||
<association name="tas:tasFolder">
|
||||
<source>
|
||||
<mandatory>false</mandatory>
|
||||
<many>false</many>
|
||||
</source>
|
||||
<target>
|
||||
<class>cm:folder</class>
|
||||
<mandatory>false</mandatory>
|
||||
<many>false</many>
|
||||
</target>
|
||||
</association>
|
||||
</associations>
|
||||
</type>
|
||||
</types>
|
||||
|
||||
<aspects>
|
||||
<aspect name="tas:tasContentAspect">
|
||||
<title>TAS Content Aspect</title>
|
||||
<properties>
|
||||
<property name="tas:TextPropertyAC">
|
||||
<title>Aspect Text</title>
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
<property name="tas:DatePropertyAC">
|
||||
<title>Aspect Datetime</title>
|
||||
<type>d:datetime</type>
|
||||
</property>
|
||||
<property name="tas:IntPropertyAC">
|
||||
<title>Aspect Integer</title>
|
||||
<type>d:int</type>
|
||||
</property>
|
||||
<property name="tas:MultiplyStringAC">
|
||||
<title>Aspect Multiply String</title>
|
||||
<type>d:text</type>
|
||||
<mandatory>true</mandatory>
|
||||
<multiple>true</multiple>
|
||||
</property>
|
||||
</properties>
|
||||
</aspect>
|
||||
|
||||
<aspect name="tas:tasFolderAspect">
|
||||
<title>TAS Folder Aspect</title>
|
||||
<properties>
|
||||
<property name="tas:TextPropertyAF">
|
||||
<title>Aspect Text</title>
|
||||
<type>d:text</type>
|
||||
</property>
|
||||
<property name="tas:DatePropertyAF">
|
||||
<title>Aspect Datetime</title>
|
||||
<type>d:datetime</type>
|
||||
</property>
|
||||
<property name="tas:IntPropertyAF">
|
||||
<title>Aspect Integer</title>
|
||||
<type>d:int</type>
|
||||
</property>
|
||||
<property name="tas:MultiplyStringAF">
|
||||
<title>Aspect Multiply String</title>
|
||||
<type>d:text</type>
|
||||
<mandatory>true</mandatory>
|
||||
<multiple>true</multiple>
|
||||
</property>
|
||||
</properties>
|
||||
</aspect>
|
||||
</aspects>
|
||||
</model>
|
||||
@@ -0,0 +1,73 @@
|
||||
package org.alfresco.service.search.cmis;
|
||||
|
||||
import org.alfresco.cmis.CmisProperties;
|
||||
import org.alfresco.cmis.CmisWrapper;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import org.alfresco.utility.LogFactory;
|
||||
import org.alfresco.utility.data.DataContent;
|
||||
import org.alfresco.utility.data.DataSite;
|
||||
import org.alfresco.utility.data.DataUser;
|
||||
import org.alfresco.utility.network.ServerHealth;
|
||||
import org.slf4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
|
||||
import org.testng.annotations.AfterMethod;
|
||||
import org.testng.annotations.BeforeMethod;
|
||||
import org.testng.annotations.BeforeSuite;
|
||||
|
||||
@ContextConfiguration("classpath:alfresco-search-e2e-context.xml")
|
||||
@Component
|
||||
@Scope(value = "prototype")
|
||||
public abstract class CmisTest extends AbstractTestNGSpringContextTests
|
||||
{
|
||||
private static Logger LOG = LogFactory.getLogger();
|
||||
|
||||
@Autowired
|
||||
protected CmisWrapper cmisApi;
|
||||
|
||||
@Autowired
|
||||
protected CmisProperties cmisProperties;
|
||||
|
||||
@Autowired
|
||||
protected DataUser dataUser;
|
||||
|
||||
@Autowired
|
||||
protected DataSite dataSite;
|
||||
|
||||
@Autowired
|
||||
protected DataContent dataContent;
|
||||
|
||||
@Autowired
|
||||
ServerHealth serverHealth;
|
||||
|
||||
public String documentContent = "CMIS document content";
|
||||
|
||||
@BeforeSuite(alwaysRun = true)
|
||||
public void checkServerHealth() throws Exception
|
||||
{
|
||||
super.springTestContextPrepareTestInstance();
|
||||
serverHealth.assertServerIsOnline();
|
||||
}
|
||||
|
||||
@BeforeMethod(alwaysRun = true)
|
||||
public void showStartTestInfo(Method method)
|
||||
{
|
||||
LOG.info(String.format("*** STARTING Test: [%s] ***", method.getName()));
|
||||
}
|
||||
|
||||
@AfterMethod(alwaysRun = true)
|
||||
public void showEndTestInfo(Method method)
|
||||
{
|
||||
LOG.info(String.format("*** ENDING Test: [%s] ***", method.getName()));
|
||||
}
|
||||
|
||||
public Integer getSolrWaitTimeInSeconds()
|
||||
{
|
||||
return cmisProperties.envProperty().getSolrWaitTimeInSeconds();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package org.alfresco.service.search.cmis;
|
||||
|
||||
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.exception.TestConfigurationException;
|
||||
import org.alfresco.utility.model.QueryModel;
|
||||
import org.alfresco.utility.model.TestGroup;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.testng.annotations.AfterClass;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class SolrSearchByAspectTests extends CmisTest
|
||||
{
|
||||
/** Logger for the class. */
|
||||
private static Logger LOGGER = LoggerFactory.getLogger(SolrSearchByAspectTests.class);
|
||||
private XMLTestData testData;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void deployCustomModel() throws TestConfigurationException
|
||||
{
|
||||
dataContent.deployContentModel("model/tas-model.xml");
|
||||
cmisApi.authenticateUser(dataUser.getAdminUser());
|
||||
}
|
||||
|
||||
@AfterClass(alwaysRun = true)
|
||||
public void cleanupEnvironment()
|
||||
{
|
||||
if (testData != null)
|
||||
{
|
||||
testData.cleanup(dataContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOGGER.warn("testData is inexplicably null - skipping clean up.");
|
||||
}
|
||||
}
|
||||
|
||||
@Test(dataProviderClass = XMLTestDataProvider.class, dataProvider = "getAllData")
|
||||
@XMLDataConfig(file = "src/test/resources/testdata/search-by-aspect.xml")
|
||||
public void prepareDataForAspectSearch(XMLTestData testData) throws Exception
|
||||
{
|
||||
this.testData = testData;
|
||||
this.testData.createUsers(dataUser);
|
||||
this.testData.createSitesStructure(dataSite, dataContent, dataUser);
|
||||
// wait for solr index
|
||||
Utility.waitToLoopTime(getSolrWaitTimeInSeconds());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.CMIS, TestGroup.QUERIES },
|
||||
dataProviderClass = XMLTestDataProvider.class, dataProvider = "getQueriesData", dependsOnMethods = "prepareDataForAspectSearch")
|
||||
@XMLDataConfig(file = "src/test/resources/testdata/search-by-aspect.xml")
|
||||
public void executeSearchByAspect(QueryModel query) throws Exception
|
||||
{
|
||||
cmisApi.withQuery(query.getValue())
|
||||
.applyNodeRefsFrom(testData).assertResultsCount().equals(query.getResults());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package org.alfresco.service.search.cmis;
|
||||
|
||||
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.exception.TestConfigurationException;
|
||||
import org.alfresco.utility.model.QueryModel;
|
||||
import org.alfresco.utility.model.TestGroup;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.testng.annotations.AfterClass;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class SolrSearchByIdTests extends CmisTest
|
||||
{
|
||||
/** Logger for the class. */
|
||||
private static Logger LOGGER = LoggerFactory.getLogger(SolrSearchByIdTests.class);
|
||||
private XMLTestData testData;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void deployCustomModel() throws TestConfigurationException
|
||||
{
|
||||
dataContent.deployContentModel("model/tas-model.xml");
|
||||
cmisApi.authenticateUser(dataUser.getAdminUser());
|
||||
}
|
||||
|
||||
@AfterClass(alwaysRun = true)
|
||||
public void cleanupEnvironment()
|
||||
{
|
||||
if (testData != null)
|
||||
{
|
||||
testData.cleanup(dataContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOGGER.warn("testData is inexplicably null - skipping clean up.");
|
||||
}
|
||||
}
|
||||
|
||||
@Test(dataProviderClass = XMLTestDataProvider.class, dataProvider = "getAllData")
|
||||
@XMLDataConfig(file = "src/test/resources/testdata/search-by-id.xml")
|
||||
public void prepareDataForSearchById(XMLTestData testData) throws Exception
|
||||
{
|
||||
this.testData = testData;
|
||||
this.testData.createUsers(dataUser);
|
||||
this.testData.createSitesStructure(dataSite, dataContent, dataUser);
|
||||
// wait for solr index
|
||||
Utility.waitToLoopTime(getSolrWaitTimeInSeconds());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.CMIS, TestGroup.QUERIES },
|
||||
dataProviderClass = XMLTestDataProvider.class, dataProvider = "getQueriesData", dependsOnMethods = "prepareDataForSearchById")
|
||||
@XMLDataConfig(file = "src/test/resources/testdata/search-by-id.xml")
|
||||
public void executeSortedSearchByID(QueryModel query) throws Exception
|
||||
{
|
||||
cmisApi.withQuery(query.getValue())
|
||||
.applyNodeRefsFrom(testData).assertResultsCount().equals(query.getResults());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package org.alfresco.service.search.cmis;
|
||||
|
||||
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.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.testng.annotations.AfterClass;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class SolrSearchByPathTests extends CmisTest
|
||||
{
|
||||
/** Logger for the class. */
|
||||
private static Logger LOGGER = LoggerFactory.getLogger(SolrSearchByPathTests.class);
|
||||
private XMLTestData testData;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void readTestDataFile()
|
||||
{
|
||||
cmisApi.authenticateUser(dataUser.getAdminUser());
|
||||
}
|
||||
|
||||
@AfterClass(alwaysRun = true)
|
||||
public void cleanupEnvironment()
|
||||
{
|
||||
if (testData != null)
|
||||
{
|
||||
testData.cleanup(dataContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOGGER.warn("testData is inexplicably null - skipping clean up.");
|
||||
}
|
||||
}
|
||||
|
||||
@Test(dataProviderClass = XMLTestDataProvider.class, dataProvider = "getAllData")
|
||||
@XMLDataConfig(file = "src/test/resources/testdata/search-by-path.xml")
|
||||
public void prepareDataForSearchByPath(XMLTestData testData) throws Exception
|
||||
{
|
||||
this.testData = testData;
|
||||
testData.createUsers(dataUser);
|
||||
testData.createSitesStructure(dataSite, dataContent, dataUser);
|
||||
// wait for solr index
|
||||
Utility.waitToLoopTime(getSolrWaitTimeInSeconds());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.CMIS, TestGroup.QUERIES },
|
||||
dependsOnMethods = "prepareDataForSearchByPath", dataProviderClass = XMLTestDataProvider.class, dataProvider = "getQueriesData")
|
||||
@XMLDataConfig(file = "src/test/resources/testdata/search-by-path.xml")
|
||||
public void executeSearchByPathQueries(QueryModel query) throws Exception
|
||||
{
|
||||
cmisApi.withQuery(query.getValue()).assertResultsCount().equals(query.getResults());
|
||||
}
|
||||
}
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
package org.alfresco.service.search.cmis;
|
||||
|
||||
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.exception.TestConfigurationException;
|
||||
import org.alfresco.utility.model.QueryModel;
|
||||
import org.alfresco.utility.model.TestGroup;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.testng.annotations.AfterClass;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class SolrSearchByPropertyTests extends CmisTest
|
||||
{
|
||||
/** Logger for the class. */
|
||||
private static Logger LOGGER = LoggerFactory.getLogger(SolrSearchByPropertyTests.class);
|
||||
private XMLTestData testData;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void deployCustomModel() throws TestConfigurationException
|
||||
{
|
||||
dataContent.deployContentModel("model/tas-model.xml");
|
||||
cmisApi.authenticateUser(dataUser.getAdminUser());
|
||||
}
|
||||
|
||||
@AfterClass(alwaysRun = true)
|
||||
public void cleanupEnvironment()
|
||||
{
|
||||
if (testData != null)
|
||||
{
|
||||
testData.cleanup(dataContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOGGER.warn("testData is inexplicably null - skipping clean up.");
|
||||
}
|
||||
}
|
||||
|
||||
@Test(dataProviderClass = XMLTestDataProvider.class, dataProvider = "getAllData")
|
||||
@XMLDataConfig(file = "src/test/resources/testdata/search-by-property.xml")
|
||||
public void prepareDataForSearchWithProperty(XMLTestData testData) throws Exception
|
||||
{
|
||||
this.testData = testData;
|
||||
this.testData.createUsers(dataUser);
|
||||
this.testData.createSitesStructure(dataSite, dataContent, dataUser);
|
||||
// wait for solr index
|
||||
Utility.waitToLoopTime(getSolrWaitTimeInSeconds());
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.CMIS, TestGroup.QUERIES },
|
||||
dataProviderClass = XMLTestDataProvider.class, dataProvider = "getQueriesData", dependsOnMethods = "prepareDataForSearchWithProperty")
|
||||
@XMLDataConfig(file = "src/test/resources/testdata/search-by-property.xml")
|
||||
public void executeSortedSearchByID(QueryModel query) throws Exception
|
||||
{
|
||||
cmisApi.withQuery(query.getValue())
|
||||
.applyNodeRefsFrom(testData).assertResultsCount().equals(query.getResults());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package org.alfresco.service.search.cmis;
|
||||
|
||||
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.AfterClass;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class SolrSearchInFolderTests extends CmisTest
|
||||
{
|
||||
private UserModel testUser;
|
||||
private SiteModel testSite;
|
||||
private FolderModel parentFolder, subFolder1, subFolder2, subFolder3;
|
||||
private FileModel subFile1, subFile2, subFile3, subFile4, subFile5;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void createTestData() 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).assertThat().contentIs("fifthFile content")
|
||||
.createFolder(subFolder1)
|
||||
.createFolder(subFolder2)
|
||||
.createFolder(subFolder3)
|
||||
.createFile(subFile1)
|
||||
.createFile(subFile2)
|
||||
.createFile(subFile3)
|
||||
.createFile(subFile4);
|
||||
// wait for solr index
|
||||
Utility.waitToLoopTime(getSolrWaitTimeInSeconds());
|
||||
}
|
||||
|
||||
@AfterClass(alwaysRun = true)
|
||||
public void cleanupEnvironment()
|
||||
{
|
||||
dataContent.deleteSite(testSite);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.CMIS, TestGroup.QUERIES },
|
||||
dataProviderClass = XMLTestDataProvider.class, dataProvider = "getQueriesData")
|
||||
@XMLDataConfig(file = "src/test/resources/testdata/search-in-folder.xml")
|
||||
public void executeCMISQuery(QueryModel query) throws Exception
|
||||
{
|
||||
String currentQuery = String.format(query.getValue(), parentFolder.getNodeRef());
|
||||
cmisApi.withQuery(currentQuery).assertResultsCount().equals(query.getResults());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package org.alfresco.service.search.cmis;
|
||||
|
||||
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.AfterClass;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class SolrSearchInTreeTests extends CmisTest
|
||||
{
|
||||
private UserModel testUser;
|
||||
private SiteModel testSite;
|
||||
private FolderModel parentFolder, subFolder1, subFolder2, subFolder3;
|
||||
private FileModel subFile1, subFile2, subFile3, subFile4, subFile5, subFile6;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void createTestData() throws Exception
|
||||
{
|
||||
// create input data
|
||||
parentFolder = FolderModel.getRandomFolderModel();
|
||||
subFolder1 = FolderModel.getRandomFolderModel();
|
||||
subFolder2 = FolderModel.getRandomFolderModel();
|
||||
subFolder3 = new FolderModel("subFolder-3");
|
||||
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);
|
||||
subFile6 = FileModel.getRandomFileModel(FileType.TEXT_PLAIN);
|
||||
|
||||
testUser = dataUser.createRandomTestUser();
|
||||
testSite = dataSite.usingUser(testUser).createPublicRandomSite();
|
||||
cmisApi.authenticateUser(testUser).usingSite(testSite).createFolder(parentFolder)
|
||||
.then().usingResource(parentFolder)
|
||||
.createFile(subFile5).assertThat().contentIs("fifthFile content")
|
||||
.createFolder(subFolder1)
|
||||
.createFolder(subFolder2)
|
||||
.createFolder(subFolder3)
|
||||
.createFile(subFile1)
|
||||
.createFile(subFile2)
|
||||
.createFile(subFile3)
|
||||
.createFile(subFile4)
|
||||
.then().usingResource(subFolder1)
|
||||
.createFile(subFile6)
|
||||
.createFolder(FolderModel.getRandomFolderModel());
|
||||
// wait for solr index
|
||||
Utility.waitToLoopTime(getSolrWaitTimeInSeconds());
|
||||
}
|
||||
|
||||
@AfterClass(alwaysRun = true)
|
||||
public void cleanupEnvironment()
|
||||
{
|
||||
dataContent.deleteSite(testSite);
|
||||
}
|
||||
|
||||
@Test(groups = { TestGroup.CMIS, TestGroup.QUERIES },
|
||||
dataProviderClass = XMLTestDataProvider.class, dataProvider = "getQueriesData")
|
||||
@XMLDataConfig(file = "src/test/resources/testdata/search-in-tree.xml")
|
||||
public void executeCMISQuery(QueryModel query) throws Exception
|
||||
{
|
||||
String currentQuery = String.format(query.getValue(), parentFolder.getNodeRef());
|
||||
cmisApi.withQuery(currentQuery)
|
||||
.assertResultsCount().equals(query.getResults());
|
||||
}
|
||||
}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package org.alfresco.service.search.cmis;
|
||||
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
public class SorlSearchSimpleQueryTests extends CmisTest
|
||||
{
|
||||
@Test
|
||||
public void simpleQueryOnFolderDesc() throws Exception
|
||||
{
|
||||
cmisApi.authenticateUser(dataUser.getAdminUser())
|
||||
.withQuery("SELECT * FROM cmis:folder ORDER BY cmis:createdBy DESC").assertResultsCount().isLowerThan(101);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
|
||||
|
||||
<suite name="CMISSearchSuite" verbose="6" preserve-order="true">
|
||||
|
||||
<listeners>
|
||||
<listener class-name="org.alfresco.utility.report.HtmlReportListener"></listener>
|
||||
</listeners>
|
||||
|
||||
<test name="Search">
|
||||
<classes>
|
||||
<class name="org.alfresco.service.search.cmis.SolrSearchByAspectTests" />
|
||||
<class name="org.alfresco.service.search.cmis.SolrSearchByIdTests" />
|
||||
<class name="org.alfresco.service.search.cmis.SolrSearchByPathTests" />
|
||||
<class name="org.alfresco.service.search.cmis.SolrSearchByPropertyTests" />
|
||||
<class name="org.alfresco.service.search.cmis.SolrSearchInFolderTests" />
|
||||
<class name="org.alfresco.service.search.cmis.SolrSearchInTreeTests" />
|
||||
<class name="org.alfresco.service.search.cmis.SorlSearchSimpleQueryTests" />
|
||||
</classes>
|
||||
</test>
|
||||
|
||||
</suite>
|
||||
@@ -0,0 +1,264 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<testData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="https://gitlab.alfresco.com/tas/tas-namespaces/raw/master/input-test-data.xsd">
|
||||
<users>
|
||||
<user id="userSearchAspect" name="userSearchAspect" password="password" />
|
||||
</users>
|
||||
|
||||
<sites>
|
||||
<site id="s1" name="siteSearchByAspect" createdBy="userSearchAspect" visibility="PUBLIC">
|
||||
<folders>
|
||||
<folder id="f1" name="tas-folder1" createdBy="userSearchAspect">
|
||||
<custom-model name="F:tas:folder" />
|
||||
<aspects>
|
||||
<aspect name="P:tas:tasFolderAspect">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyAF" value="aspect folder text folder1" />
|
||||
<property name="tas:IntPropertyAF" value="10" />
|
||||
</properties>
|
||||
</aspect>
|
||||
</aspects>
|
||||
<files>
|
||||
<file id="d1" name="tas-sub-file1.txt" createdBy="userSearchAspect">
|
||||
<content>content sub-file 1</content>
|
||||
<custom-model name="D:tas:document">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyC" value="text sub-file-1" />
|
||||
<property name="tas:IntPropertyC" value="11" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
<aspects>
|
||||
<aspect name = "P:tas:tasContentAspect">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyAC" value="aspect content text subfile-1" />
|
||||
<property name="tas:IntPropertyAC" value="80" />
|
||||
</properties>
|
||||
</aspect>
|
||||
</aspects>
|
||||
</file>
|
||||
<file id="d2" name="tas-sub-file2.txt" createdBy="userSearchAspect">
|
||||
<content>content sub-file 2</content>
|
||||
<custom-model name="D:tas:document">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyC" value="text sub-file-2" />
|
||||
<property name="tas:IntPropertyC" value="12" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
<aspects>
|
||||
<aspect name = "P:tas:tasContentAspect">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyAC" value="aspect content text subfile-2" />
|
||||
<property name="tas:IntPropertyAC" value="81" />
|
||||
</properties>
|
||||
</aspect>
|
||||
</aspects>
|
||||
</file>
|
||||
<file id="d3" name="tas-sub-file3.txt" createdBy="userSearchAspect">
|
||||
<content>content sub-file 3</content>
|
||||
<custom-model name="D:tas:document"></custom-model>
|
||||
<aspects>
|
||||
<aspect name = "P:tas:tasContentAspect">
|
||||
<properties>
|
||||
<property name="tas:IntPropertyAC" value="82" />
|
||||
</properties>
|
||||
</aspect>
|
||||
</aspects>
|
||||
</file>
|
||||
<file id="d4" name="standard-sub-file4.txt" createdBy="userSearchAspect">
|
||||
<content>content sub-file 4</content>
|
||||
<aspects>
|
||||
<aspect name = "P:tas:tasContentAspect">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyAC" value="aspect content text subfile-4" />
|
||||
<property name="tas:IntPropertyAC" value="83" />
|
||||
</properties>
|
||||
</aspect>
|
||||
</aspects>
|
||||
</file>
|
||||
</files>
|
||||
<folders>
|
||||
<folder id="f1-1" name="tas-sub-folder1" createdBy="userSearchAspect">
|
||||
<custom-model name="F:tas:folder">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyF" value="text sub-folder-1" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
<aspects>
|
||||
<aspect name="P:tas:tasFolderAspect">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyAF" value="aspect folder text subfolder-1" />
|
||||
<property name="tas:IntPropertyAF" value="11" />
|
||||
</properties>
|
||||
</aspect>
|
||||
</aspects>
|
||||
</folder>
|
||||
<folder name="standard-sub-folder2" createdBy="userSearchAspect">
|
||||
<aspects>
|
||||
<aspect name="P:tas:tasFolderAspect">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyAF" value="aspect folder text subfolder-2" />
|
||||
<property name="tas:IntPropertyAF" value="12" />
|
||||
</properties>
|
||||
</aspect>
|
||||
</aspects>
|
||||
</folder>
|
||||
</folders>
|
||||
</folder>
|
||||
<folder name="tas-folder2" createdBy="userSearchAspect">
|
||||
<custom-model name="F:tas:folder">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyF" value="text folder-2" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</folder>
|
||||
<folder name="standard-folder3" createdBy="userSearchAspect">
|
||||
<aspects>
|
||||
<aspect name="P:tas:tasFolderAspect" />
|
||||
</aspects>
|
||||
</folder>
|
||||
</folders>
|
||||
<files>
|
||||
<file id="d5" name="tas-file1.txt" createdBy="userSearchAspect">
|
||||
<custom-model name="D:tas:document">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyC" value="text file-1" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
<aspects>
|
||||
<aspect name = "P:tas:tasContentAspect" >
|
||||
<properties>
|
||||
<property name="tas:TextPropertyAC" value="aspect content text file-1" />
|
||||
<property name="tas:IntPropertyAC" value="84" />
|
||||
|
||||
|
||||
</properties>
|
||||
</aspect>
|
||||
</aspects>
|
||||
<content>file 1 content</content>
|
||||
</file>
|
||||
<file id="d6" name="standard-file2.txt" createdBy="userSearchAspect">
|
||||
<content>file 2 content</content>
|
||||
<aspects>
|
||||
<aspect name = "P:tas:tasContentAspect">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyAC" value="aspect content text file-2" />
|
||||
<property name="tas:IntPropertyAC" value="85" />
|
||||
</properties>
|
||||
</aspect>
|
||||
</aspects>
|
||||
</file>
|
||||
</files>
|
||||
</site>
|
||||
</sites>
|
||||
|
||||
<queries>
|
||||
<query value="SELECT * FROM tas:tasContentAspect where tas:TextPropertyAC IS NOT NULL" expectedResults="5" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where tas:TextPropertyAC IS NULL" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where tas:TextPropertyAC='aspect content text subfile-1'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where tas:TextPropertyAC LIKE 'aspect content text subfile-2'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where tas:TextPropertyAC IN('aspect content text subfile-2', 'aspect content text file-1')" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where tas:TextPropertyAC <> 'aspect content text subfile-2'" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where tas:TextPropertyAC NOT IN('aspect content text subfile-2', 'aspect content text file-1')" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where tas:TextPropertyAC LIKE 'aspect content text%'" expectedResults="5" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where tas:IntPropertyAC = '81'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where tas:IntPropertyAC <> '82'" expectedResults="5" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where tas:IntPropertyAC < '82'" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where tas:IntPropertyAC <= '82'" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where tas:IntPropertyAC >= '82'" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where tas:IntPropertyAC > '82'" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where tas:IntPropertyAC IN('80', '81', '83')" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where tas:IntPropertyAC NOT IN('80', '81', '83')" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:TextPropertyAF IS NOT NULL" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:TextPropertyAF IS NULL" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:TextPropertyAF='aspect folder text subfolder-2'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:TextPropertyAF LIKE 'aspect folder text subfolder-1'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:TextPropertyAF IN('aspect folder text subfolder-1', 'aspect folder text folder1', 'aspect content text file-1')" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:TextPropertyAF <> 'aspect folder text subfolder-1'" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:TextPropertyAF NOT IN('aspect folder text subfolder-1', 'aspect folder text subfolder-2')" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:TextPropertyAF LIKE 'aspect folder text subfolder%'" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:IntPropertyAF = '11'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:IntPropertyAF <> '10'" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:IntPropertyAF < '11'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:IntPropertyAF <= '11'" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:IntPropertyAF >= '11'" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:IntPropertyAF > '11'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:IntPropertyAF > '12'" expectedResults="0" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:IntPropertyAF IN('11', '12', '13')" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where tas:IntPropertyAF NOT IN('11', '12', '83')" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect" expectedResults="6" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where IN_FOLDER('NODE_REF[f1]')" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where IN_FOLDER('NODE_REF[f1]') ORDER BY cmis:name ASC" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where IN_FOLDER('NODE_REF[f1]') ORDER BY cmis:name DESC" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where IN_FOLDER('NODE_REF[f1]') ORDER BY cmis:lastModificationDate ASC" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where IN_FOLDER('NODE_REF[f1]') ORDER BY cmis:lastModificationDate DESC" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where IN_FOLDER('NODE_REF[f1]') ORDER BY cmis:createdBy DESC" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where IN_FOLDER('NODE_REF[f1]') ORDER BY cmis:createdBy ASC" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where IN_FOLDER('NODE_REF[f1]') ORDER BY cmis:name ASC, cmis:lastModifiedBy DESC" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where IN_FOLDER('NODE_REF[f1]') ORDER BY cmis:name DESC, cmis:lastModifiedBy DESC" expectedResults="4" />
|
||||
<query value="SELECT * FROM cm:dublincore where IN_FOLDER('NODE_REF[f1]')" expectedResults="0" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where IN_FOLDER('NODE_REF[s1]')" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_FOLDER('NODE_REF[f1]')" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_FOLDER('NODE_REF[f1]') ORDER BY cmis:name ASC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_FOLDER('NODE_REF[f1]') ORDER BY cmis:name DESC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_FOLDER('NODE_REF[f1]') ORDER BY cmis:lastModificationDate ASC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_FOLDER('NODE_REF[f1]') ORDER BY cmis:lastModificationDate DESC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_FOLDER('NODE_REF[f1]') ORDER BY cmis:createdBy DESC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_FOLDER('NODE_REF[f1]') ORDER BY cmis:createdBy ASC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_FOLDER('NODE_REF[f1]') ORDER BY cmis:name ASC, cmis:lastModifiedBy DESC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_FOLDER('NODE_REF[f1]') ORDER BY cmis:name DESC, cmis:lastModifiedBy DESC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_FOLDER('NODE_REF[s1]')" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where IN_TREE('NODE_REF[f1]')" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where IN_TREE('NODE_REF[s1]')" expectedResults="6" />
|
||||
<query value="SELECT * FROM cm:dublincore where IN_TREE('NODE_REF[f1]')" expectedResults="0" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_TREE('NODE_REF[f1]')" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_TREE('NODE_REF[s1]')" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_TREE('NODE_REF[f1]') ORDER BY cmis:name ASC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_TREE('NODE_REF[f1]') ORDER BY cmis:name DESC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_TREE('NODE_REF[f1]') ORDER BY cmis:lastModificationDate ASC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_TREE('NODE_REF[f1]') ORDER BY cmis:lastModificationDate DESC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_TREE('NODE_REF[f1]') ORDER BY cmis:createdBy DESC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_TREE('NODE_REF[f1]') ORDER BY cmis:createdBy ASC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_TREE('NODE_REF[f1]') ORDER BY cmis:name ASC, cmis:lastModifiedBy DESC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_TREE('NODE_REF[f1]') ORDER BY cmis:name DESC, cmis:lastModifiedBy DESC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_TREE('NODE_REF[s1]') ORDER BY cmis:name ASC" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_TREE('NODE_REF[s1]') ORDER BY cmis:lastModificationDate ASC" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_TREE('NODE_REF[s1]') ORDER BY cmis:createdBy ASC" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasFolderAspect where IN_TREE('NODE_REF[s1]') ORDER BY cmis:name ASC, cmis:lastModifiedBy DESC" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where IN_TREE('NODE_REF[s1]') ORDER BY cmis:name ASC" expectedResults="6" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where IN_TREE('NODE_REF[s1]') ORDER BY cmis:lastModificationDate DESC" expectedResults="6" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where IN_TREE('NODE_REF[s1]') ORDER BY cmis:createdBy DESC" expectedResults="6" />
|
||||
<query value="SELECT * FROM tas:tasContentAspect where IN_TREE('NODE_REF[s1]') ORDER BY cmis:name ASC, cmis:lastModifiedBy DESC" expectedResults="6" />
|
||||
<query value="SELECT D.*, O.* FROM cmis:document as D JOIN tas:tasContentAspect AS O ON D.cmis:objectId = O.cmis:objectId" expectedResults="6" />
|
||||
<query value="SELECT D.*, O.* FROM cmis:document as D JOIN tas:tasContentAspect AS O ON D.cmis:objectId = O.cmis:objectId WHERE O.tas:TextPropertyAC ='aspect content text file-2'"
|
||||
expectedResults="1" />
|
||||
<query value="SELECT D.*, O.* FROM cmis:document as D JOIN tas:tasContentAspect AS O ON D.cmis:objectId = O.cmis:objectId WHERE O.tas:TextPropertyAC LIKE 'aspect content text%'"
|
||||
expectedResults="5" />
|
||||
<query value="SELECT D.*, O.* FROM cmis:document as D JOIN tas:tasContentAspect AS O ON D.cmis:objectId = O.cmis:objectId WHERE O.tas:IntPropertyAC IN('85', '84', '81', '83', '99') ORDER BY cmis:name ASC"
|
||||
expectedResults="4" />
|
||||
<query value="SELECT D.*, O.* FROM tas:document as D JOIN tas:tasContentAspect AS O ON D.cmis:objectId = O.cmis:objectId" expectedResults="4" />
|
||||
<query value="SELECT D.*, O.* FROM tas:document as D JOIN tas:tasContentAspect AS O ON D.cmis:objectId = O.cmis:objectId WHERE O.tas:TextPropertyAC ='aspect content text subfile-2'"
|
||||
expectedResults="1" />
|
||||
<query value="SELECT D.*, O.* FROM tas:document as D JOIN tas:tasContentAspect AS O ON D.cmis:objectId = O.cmis:objectId WHERE O.tas:TextPropertyAC LIKE 'aspect content text%'"
|
||||
expectedResults="3" />
|
||||
<query value="SELECT D.*, O.* FROM tas:document as D JOIN tas:tasContentAspect AS O ON D.cmis:objectId = O.cmis:objectId WHERE O.tas:IntPropertyAC IN('85', '84', '82') ORDER BY cmis:name ASC"
|
||||
expectedResults="2" />
|
||||
<query value="SELECT D.*, O.* FROM tas:document as D JOIN tas:tasContentAspect AS O ON D.cmis:objectId = O.cmis:objectId WHERE O.tas:IntPropertyAC = '85' ORDER BY cmis:name ASC, cmis:lastModifiedBy DESC"
|
||||
expectedResults="0" />
|
||||
<query value="SELECT F.*, O.* FROM cmis:folder as F JOIN tas:tasFolderAspect AS O ON F.cmis:objectId = O.cmis:objectId" expectedResults="4" />
|
||||
<query value="SELECT F.*, O.* FROM cmis:folder as F JOIN tas:tasFolderAspect AS O ON F.cmis:objectId = O.cmis:objectId WHERE O.tas:TextPropertyAF ='aspect folder text subfolder-2'"
|
||||
expectedResults="1" />
|
||||
<query value="SELECT F.*, O.* FROM cmis:folder as F JOIN tas:tasFolderAspect AS O ON F.cmis:objectId = O.cmis:objectId WHERE O.tas:TextPropertyAF LIKE 'aspect folder text%'"
|
||||
expectedResults="3" />
|
||||
<query value="SELECT F.*, O.* FROM cmis:folder as F JOIN tas:tasFolderAspect AS O ON F.cmis:objectId = O.cmis:objectId WHERE O.tas:IntPropertyAF IN('10', '11', '12', '83', '99') ORDER BY cmis:name ASC"
|
||||
expectedResults="3" />
|
||||
<query value="SELECT F.*, O.* FROM tas:folder as F JOIN tas:tasFolderAspect AS O ON F.cmis:objectId = O.cmis:objectId" expectedResults="2" />
|
||||
<query value="SELECT F.*, O.* FROM tas:folder as F JOIN tas:tasFolderAspect AS O ON F.cmis:objectId = O.cmis:objectId WHERE O.tas:TextPropertyAF ='aspect folder text subfolder-1'"
|
||||
expectedResults="1" />
|
||||
<query value="SELECT F.*, O.* FROM tas:folder as F JOIN tas:tasFolderAspect AS O ON F.cmis:objectId = O.cmis:objectId WHERE O.tas:TextPropertyAF LIKE 'aspect folder%'"
|
||||
expectedResults="2" />
|
||||
<query value="SELECT F.*, O.* FROM tas:folder as F JOIN tas:tasFolderAspect AS O ON F.cmis:objectId = O.cmis:objectId WHERE O.tas:IntPropertyAF IN('10', '11', '12') ORDER BY cmis:name ASC, cmis:lastModifiedBy DESC"
|
||||
expectedResults="2" />
|
||||
<query value="SELECT F.*, O.* FROM tas:folder as F JOIN tas:tasFolderAspect AS O ON F.cmis:objectId = O.cmis:objectId WHERE O.tas:IntPropertyAF = '12' ORDER BY cmis:name ASC, cmis:lastModifiedBy DESC"
|
||||
expectedResults="0" />
|
||||
</queries>
|
||||
</testData>
|
||||
@@ -0,0 +1,118 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<testData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="https://gitlab.alfresco.com/tas/tas-namespaces/raw/master/input-test-data.xsd">
|
||||
<users>
|
||||
<user id="userSearchId" name="userSearchId" password="password" />
|
||||
</users>
|
||||
|
||||
<sites>
|
||||
<site id="siteId" name="siteSearchById" createdBy="userSearchId" visibility="PUBLIC">
|
||||
<folders>
|
||||
<folder id="f1" name="tas-folder1" createdBy="userSearchId">
|
||||
<custom-model name="F:tas:folder" />
|
||||
<files>
|
||||
<file id="d1" name="tas-sub-file1.txt" createdBy="userSearchId">
|
||||
<content>content sub-file 1</content>
|
||||
<custom-model name="D:tas:document">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyC" value="text sub-file-1" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</file>
|
||||
<file id="d2" name="tas-sub-file2.txt" createdBy="userSearchId">
|
||||
<content>content sub-file 2</content>
|
||||
<custom-model name="D:tas:document">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyC" value="text sub-file-2" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</file>
|
||||
<file id="d3" name="tas-sub-file3.txt" createdBy="userSearchId">
|
||||
<content>content sub-file 3</content>
|
||||
<custom-model name="D:tas:document">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyC" value="text sub-file-3" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</file>
|
||||
<file id="d4" name="standard-sub-file4.txt" createdBy="userSearchId">
|
||||
<content>content sub-file 4</content>
|
||||
</file>
|
||||
</files>
|
||||
<folders>
|
||||
<folder id="f1-1" name="tas-sub-folder1" createdBy="userSearchId">
|
||||
<custom-model name="F:tas:folder">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyF" value="text sub-folder-1" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</folder>
|
||||
<folder name="standard-sub-folder2" createdBy="userSearchId"></folder>
|
||||
</folders>
|
||||
</folder>
|
||||
<folder name="tas-folder2" createdBy="userSearchId">
|
||||
<custom-model name="F:tas:folder"></custom-model>
|
||||
</folder>
|
||||
<folder name="standard-folder3" createdBy="userSearchId"></folder>
|
||||
</folders>
|
||||
<files>
|
||||
<file id="d5" name="tas-file1.txt" createdBy="userSearchId">
|
||||
<custom-model name="D:tas:document"></custom-model>
|
||||
<content>file 1 content</content>
|
||||
</file>
|
||||
<file id="d6" name="standard-file2.txt" createdBy="userSearchId">
|
||||
<content>file 2 content</content>
|
||||
</file>
|
||||
</files>
|
||||
</site>
|
||||
</sites>
|
||||
|
||||
<queries>
|
||||
<query value="SELECT * FROM tas:folder" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:document" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:folder WHERE IN_FOLDER('NODE_REF[siteId]')" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:document WHERE IN_FOLDER('NODE_REF[siteId]')" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:document WHERE IN_TREE('NODE_REF[siteId]')" expectedResults="4" />
|
||||
<query value="SELECT * FROM cmis:document WHERE cmis:objectTypeId = 'D:tas:document'" expectedResults="4" />
|
||||
<query value="SELECT * FROM cmis:document WHERE cmis:objectTypeId <> 'D:tas:document' AND cmis:name LIKE 'standard%'" expectedResults="2" />
|
||||
<query value="SELECT * FROM cmis:document WHERE cmis:objectTypeId IN ('D:tas:document') AND cmis:name LIKE 'tas%'" expectedResults="4" />
|
||||
<query value="SELECT * FROM cmis:document WHERE cmis:objectTypeId NOT IN ('D:tas:document') AND cmis:name LIKE 'standard%'" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:document WHERE cmis:name LIKE 'tas%'" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:document WHERE cmis:name LIKE 'standard%'" expectedResults="0" />
|
||||
<query value="SELECT * FROM tas:document WHERE cmis:name IN('tas-file1.txt', 'tas-sub-file1.txt', 'standard-file2.doc')" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:document WHERE cmis:name LIKE 'tas%' AND tas:TextPropertyC='text sub-file-3'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:document WHERE cmis:name NOT IN('tas-file1.txt', 'tas-sub-file1.txt', 'standard-file2.doc')" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:document WHERE cmis:baseTypeId = 'cmis:document' AND tas:TextPropertyC LIKE 'text sub%'" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:document WHERE cmis:baseTypeId <> 'cmis:document' AND tas:TextPropertyC LIKE 'text sub%'" expectedResults="0" />
|
||||
<query value="SELECT * FROM tas:document WHERE cmis:baseTypeId IN ('cmis:document') AND tas:TextPropertyC LIKE 'text sub%'" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:document WHERE cmis:baseTypeId NOT IN ('cmis:document') AND tas:TextPropertyC LIKE 'text sub%'" expectedResults="0" />
|
||||
<query value="SELECT * FROM tas:document WHERE cmis:objectId = 'NODE_REF[d1]'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:document WHERE cmis:objectId IN ('NODE_REF[d1]', 'NODE_REF[d2]')" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:document WHERE cmis:objectId NOT IN ('NODE_REF[d1]', 'NODE_REF[d2]')" expectedResults="2" />
|
||||
<query value="SELECT * FROM cmis:folder WHERE cmis:objectTypeId = 'F:tas:folder'" expectedResults="3" />
|
||||
<query value="SELECT * FROM cmis:folder WHERE cmis:objectTypeId <> 'F:tas:folder' AND cmis:name LIKE 'standard%'" expectedResults="2" />
|
||||
<query value="SELECT * FROM cmis:folder WHERE cmis:objectTypeId IN ('F:tas:folder') AND cmis:name LIKE 'tas%'" expectedResults="3" />
|
||||
<query value="SELECT * FROM cmis:folder WHERE cmis:objectTypeId NOT IN ('F:tas:folder') AND cmis:name LIKE 'standard%'" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:folder WHERE cmis:name LIKE 'tas%' AND tas:TextPropertyF = 'text sub-folder-1'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:folder WHERE cmis:name LIKE 'standard%'" expectedResults="0" />
|
||||
<query value="SELECT * FROM tas:folder WHERE cmis:name IN('tas-sub-folder1', 'tas-folder2', 'standard-folder3') ORDER BY cmis:name ASC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:folder WHERE cmis:objectId = 'NODE_REF[f1]'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:folder WHERE cmis:objectId IN ('NODE_REF[f1]', 'NODE_REF[f1-1]')" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:folder WHERE cmis:objectId NOT IN ('NODE_REF[f1]', 'NODE_REF[f1-1]')" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:folder WHERE cmis:parentId = 'NODE_REF[f1]' ORDER BY cmis:name DESC" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:folder WHERE cmis:parentId <> 'NODE_REF[f1]' ORDER BY cmis:name DESC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:folder WHERE cmis:parentId IN('NODE_REF[f1]', 'NODE_REF[f1-1]') ORDER BY cmis:name ASC" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:folder WHERE cmis:parentId NOT IN('NODE_REF[f1]', 'NODE_REF[f1-1]') ORDER BY cmis:name ASC" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:folder WHERE cmis:baseTypeId='cmis:folder' ORDER BY cmis:createdBy DESC" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:folder WHERE cmis:baseTypeId <> 'cmis:folder' ORDER BY cmis:createdBy ASC" expectedResults="0" />
|
||||
<query value="SELECT * FROM tas:folder WHERE cmis:baseTypeId IN('cmis:folder') AND cmis:objectId='NODE_REF[f1]' ORDER BY cmis:creationDate DESC" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:folder WHERE cmis:baseTypeId NOT IN('cmis:folder') ORDER BY cmis:creationDate ASC" expectedResults="0" />
|
||||
<query value="SELECT * FROM tas:folder WHERE IN_FOLDER('NODE_REF[f1]')" expectedResults="1" />
|
||||
<query value="SELECT * FROM cmis:folder WHERE IN_FOLDER('NODE_REF[f1]')" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:folder WHERE cmis:objectId IS NOT NULL" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:folder WHERE cmis:objectId = ''" expectedResults="0" />
|
||||
<query value="SELECT * FROM tas:document WHERE cmis:objectId IS NOT NULL" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:document WHERE cmis:objectId = ''" expectedResults="0" />
|
||||
<query value="SELECT * FROM tas:document WHERE cmis:baseTypeId IN ('cmis:document') AND tas:TextPropertyC IS NOT NULL" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:folder WHERE tas:TextPropertyF IS NOT NULL" expectedResults="1" />
|
||||
</queries>
|
||||
</testData>
|
||||
@@ -0,0 +1,97 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<testData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="https://gitlab.alfresco.com/tas/tas-namespaces/raw/master/input-test-data.xsd">
|
||||
<users>
|
||||
<user id="userSiteSearch" name="userSiteSearch" password="password" />
|
||||
</users>
|
||||
<sites>
|
||||
<site name="testSiteSearch" createdBy="userSiteSearch" visibility="PUBLIC">
|
||||
<folders>
|
||||
<folder name="folder1" createdBy="userSiteSearch">
|
||||
<files>
|
||||
<file name="sub-file1.txt" createdBy="userSiteSearch">
|
||||
<content>content sub-file 1</content>
|
||||
</file>
|
||||
<file name="sub-file2.txt" createdBy="userSiteSearch">
|
||||
<content>content sub-file 2</content>
|
||||
</file>
|
||||
<file name="sub-file3.txt" createdBy="userSiteSearch">
|
||||
<content>content sub-file 3</content>
|
||||
</file>
|
||||
<file name="sub-file4.txt" createdBy="userSiteSearch">
|
||||
<content>content sub-file 4</content>
|
||||
</file>
|
||||
</files>
|
||||
<folders>
|
||||
<folder name="sub-folder1" createdBy="userSiteSearch"></folder>
|
||||
<folder name="sub-folder2" createdBy="userSiteSearch"></folder>
|
||||
</folders>
|
||||
</folder>
|
||||
<folder name="folder2" createdBy="userSiteSearch"></folder>
|
||||
<folder name="parent-folder3" createdBy="userSiteSearch"></folder>
|
||||
</folders>
|
||||
<files>
|
||||
<file name="file1.txt" createdBy="userSiteSearch">
|
||||
<content>file 1 content</content>
|
||||
</file>
|
||||
<file name="parent-file2.txt" createdBy="admin">
|
||||
<content>file 2 content</content>
|
||||
</file>
|
||||
</files>
|
||||
</site>
|
||||
</sites>
|
||||
|
||||
<!--CMIS Queries: passing the search query as first param and results expected -->
|
||||
<queries>
|
||||
<query
|
||||
value="SELECT * FROM cmis:document where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/*"')"
|
||||
expectedResults="2" />
|
||||
<query
|
||||
value="SELECT * FROM cmis:folder where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/*"')"
|
||||
expectedResults="3" />
|
||||
<query
|
||||
value="SELECT * FROM cmis:document where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/cm:folder1/*"')"
|
||||
expectedResults="4" />
|
||||
<query
|
||||
value="SELECT * FROM cmis:folder where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/cm:folder1/*"')"
|
||||
expectedResults="2" />
|
||||
<query
|
||||
value="SELECT * FROM cmis:document where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/*"') AND cmis:name='file1.txt'"
|
||||
expectedResults="1" />
|
||||
<query
|
||||
value="SELECT * FROM cmis:folder where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/*"') AND cmis:name='folder2'"
|
||||
expectedResults="1" />
|
||||
<query
|
||||
value="SELECT * FROM cmis:document where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/*"') ORDER BY cmis:name ASC"
|
||||
expectedResults="2" />
|
||||
<query
|
||||
value="SELECT * FROM cmis:folder where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/*"') ORDER BY cmis:name DESC"
|
||||
expectedResults="3" />
|
||||
<query
|
||||
value="SELECT * FROM cmis:document where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/*"') ORDER BY cmis:lastModificationDate ASC"
|
||||
expectedResults="2" />
|
||||
<query
|
||||
value="SELECT * FROM cmis:folder where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/*"') ORDER BY cmis:createdBy DESC"
|
||||
expectedResults="3" />
|
||||
<query
|
||||
value="SELECT * FROM cmis:document where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/*"') AND cmis:name IS NOT NULL"
|
||||
expectedResults="2" />
|
||||
<!--<query
|
||||
value="SELECT * FROM cmis:document where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/*"') AND CONTAINS('file 1 content')"
|
||||
expectedResults="1" />-->
|
||||
<query
|
||||
value="SELECT * FROM cmis:document where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/*"') AND cmis:name LIKE 'parent%'"
|
||||
expectedResults="1" />
|
||||
<query
|
||||
value="SELECT * FROM cmis:folder where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/*"') AND NOT(cmis:name NOT IN ('parent-folder3'))"
|
||||
expectedResults="1" />
|
||||
<query
|
||||
value="SELECT * FROM cmis:folder where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/*"') AND cmis:name IN ('parent-folder3', 'folder2')"
|
||||
expectedResults="2" />
|
||||
<query
|
||||
value="SELECT * FROM cmis:folder where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/*"') AND cmis:name NOT IN ('parent-folder3', 'folder2')"
|
||||
expectedResults="1" />
|
||||
<query
|
||||
value="SELECT * FROM cmis:folder where CONTAINS('PATH:"/app:company_home/st:sites/cm:testSiteSearch/cm:documentLibrary/*"') AND cmis:name <> 'folder2'"
|
||||
expectedResults="2" />
|
||||
</queries>
|
||||
</testData>
|
||||
@@ -0,0 +1,225 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<testData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="https://gitlab.alfresco.com/tas/tas-namespaces/raw/master/input-test-data.xsd">
|
||||
<users>
|
||||
<user id="userSearchProperties" name="userSearchProperties" password="password" />
|
||||
</users>
|
||||
|
||||
<sites>
|
||||
<site name="siteSearchByProperty" createdBy="userSearchProperties" visibility="PUBLIC">
|
||||
<folders>
|
||||
<folder name="guestf" createdBy="userSearchProperties">
|
||||
<custom-model name="F:tas:folder">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyF" value="guestf text" />
|
||||
<property name="tas:IntPropertyF" value="222" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
<folders>
|
||||
<folder name="restf" createdBy="userSearchProperties">
|
||||
<custom-model name="F:tas:folder">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyF" value="restf text" />
|
||||
<property name="tas:IntPropertyF" value="223" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</folder>
|
||||
<folder name="testtttf" createdBy="userSearchProperties">
|
||||
<custom-model name="F:tas:folder">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyF" value="testtttf text" />
|
||||
<property name="tas:IntPropertyF" value="225" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</folder>
|
||||
<folder name="testf" createdBy="userSearchProperties">
|
||||
<custom-model name="F:tas:folder">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyF" value="testf text" />
|
||||
<property name="tas:IntPropertyF" value="226" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</folder>
|
||||
<folder name="testf1" createdBy="userSearchProperties">
|
||||
<custom-model name="F:tas:folder">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyF" value="testf1 text" />
|
||||
<property name="tas:IntPropertyF" value="2221" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</folder>
|
||||
<folder name="testf2" createdBy="userSearchProperties">
|
||||
<custom-model name="F:tas:folder">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyF" value="testf2 text" />
|
||||
<property name="tas:IntPropertyF" value="2222" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</folder>
|
||||
<folder name="testf3" createdBy="userSearchProperties">
|
||||
<custom-model name="F:tas:folder">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyF" value="testf3 text" />
|
||||
<property name="tas:IntPropertyF" value="2223" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</folder>
|
||||
<folder name="testf4" createdBy="userSearchProperties">
|
||||
<custom-model name="F:tas:folder">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyF" value="testf4 text" />
|
||||
<property name="tas:IntPropertyF" value="2224" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</folder>
|
||||
</folders>
|
||||
</folder>
|
||||
|
||||
<folder name="tesf" createdBy="userSearchProperties">
|
||||
<custom-model name="F:tas:folder">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyF" value="tesf text" />
|
||||
<property name="tas:IntPropertyF" value="224" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
<files>
|
||||
<file name="guestc.txt" createdBy="userSearchProperties">
|
||||
<content>content guestc</content>
|
||||
<custom-model name="D:tas:document">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyC" value="guestc text" />
|
||||
<property name="tas:IntPropertyC" value="222" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</file>
|
||||
<file name="restc.txt" createdBy="userSearchProperties">
|
||||
<content>content restc</content>
|
||||
<custom-model name="D:tas:document">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyC" value="restc text" />
|
||||
<property name="tas:IntPropertyC" value="223" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</file>
|
||||
<file name="tesc.txt" createdBy="userSearchProperties">
|
||||
<content>content tesc</content>
|
||||
<custom-model name="D:tas:document">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyC" value="tesc text" />
|
||||
<property name="tas:IntPropertyC" value="224" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</file>
|
||||
<file name="testtttc.txt" createdBy="userSearchProperties">
|
||||
<content>content testtttc</content>
|
||||
<custom-model name="D:tas:document">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyC" value="testtttc text" />
|
||||
<property name="tas:IntPropertyC" value="225" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</file>
|
||||
<file name="testc.txt" createdBy="userSearchProperties">
|
||||
<content>content testc</content>
|
||||
<custom-model name="D:tas:document">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyC" value="testc text" />
|
||||
<property name="tas:IntPropertyC" value="226" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</file>
|
||||
<file name="testc1.txt" createdBy="userSearchProperties">
|
||||
<content>content testc1</content>
|
||||
<custom-model name="D:tas:document">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyC" value="testc1 text" />
|
||||
<property name="tas:IntPropertyC" value="2221" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</file>
|
||||
<file name="testc2.txt" createdBy="userSearchProperties">
|
||||
<content>content testc2</content>
|
||||
<custom-model name="D:tas:document">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyC" value="testc2 text" />
|
||||
<property name="tas:IntPropertyC" value="2222" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</file>
|
||||
<file name="testc3.txt" createdBy="userSearchProperties">
|
||||
<content>content testc3</content>
|
||||
<custom-model name="D:tas:document">
|
||||
<properties>
|
||||
<property name="tas:TextPropertyC" value="testc3 text" />
|
||||
<property name="tas:IntPropertyC" value="2223" />
|
||||
</properties>
|
||||
</custom-model>
|
||||
</file>
|
||||
</files>
|
||||
</folder>
|
||||
</folders>
|
||||
</site>
|
||||
</sites>
|
||||
|
||||
<queries>
|
||||
<query value="SELECT * FROM tas:document where cmis:name = 'testc.txt'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:document where cmis:name <> 'testc.txt'" expectedResults="7" />
|
||||
<query value="SELECT * FROM tas:document where cmis:name < 'testc.txt'" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:document where cmis:name <= 'testc.txt'" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:document where cmis:name > 'testc.txt'" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:document where cmis:name >= 'testc.txt'" expectedResults="5" />
|
||||
<query value="SELECT * FROM tas:document where cmis:name IN('testc.txt', 'guestc.txt', 'restc.txt')" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:document where cmis:name NOT IN('testc.txt', 'gustc.txt', 'restc.txt')" expectedResults="6" />
|
||||
<query value="SELECT * FROM tas:document where cmis:name LIKE '%testc%'" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:document where cmis:name LIKE 'testc.txt'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:document where cmis:name LIKE 't%tc.txt'" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:document where cmis:name LIKE 't__tc.txt'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:folder where cmis:name = 'testf'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:folder where cmis:name <> 'testf'" expectedResults="8" />
|
||||
<query value="SELECT * FROM tas:folder where cmis:name < 'testf'" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:folder where cmis:name <= 'testf'" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:folder where cmis:name > 'testf'" expectedResults="5" />
|
||||
<query value="SELECT * FROM tas:folder where cmis:name >= 'testf'" expectedResults="6" />
|
||||
<query value="SELECT * FROM tas:folder where cmis:name IN('testf', 'guestf', 'restf')" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:folder where cmis:name NOT IN('testf', 'gustf', 'restf')" expectedResults="7" />
|
||||
<query value="SELECT * FROM tas:folder where cmis:name LIKE '%testf%'" expectedResults="5" />
|
||||
<query value="SELECT * FROM tas:folder where cmis:name LIKE 'testf'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:folder where cmis:name LIKE 't%tf'" expectedResults="2" />
|
||||
<query value="SELECT * FROM tas:folder where cmis:name LIKE 't__tf'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:document where cmis:name LIKE '%testc%' ORDER BY cmis:name ASC" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:document where cmis:name LIKE '%testc%' ORDER BY cmis:name DESC" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:document where cmis:name LIKE '%testc%' ORDER BY cmis:name DESC, cmis:creationDate ASC" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:folder where cmis:name LIKE '%testf%' ORDER BY cmis:name ASC" expectedResults="5" />
|
||||
<query value="SELECT * FROM tas:folder where cmis:name LIKE '%testf%' ORDER BY cmis:name DESC" expectedResults="5" />
|
||||
<query value="SELECT * FROM tas:folder where cmis:name LIKE '%testf%' ORDER BY cmis:name DESC, cmis:creationDate ASC" expectedResults="5" />
|
||||
<query value="SELECT * FROM tas:document where tas:TextPropertyC = 'restc text'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:document where tas:TextPropertyC <> 'testc1 text'" expectedResults="7" />
|
||||
<query value="SELECT * FROM tas:document where tas:TextPropertyC IN('restc text', 'testc2 text', 'testc3 text')" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:document where tas:TextPropertyC NOT IN('restc text', 'testc2 text', 'testc3 text')" expectedResults="5" />
|
||||
<query value="SELECT * FROM tas:document where tas:TextPropertyC LIKE '%restc%'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:document where tas:TextPropertyC >= 'testc'" expectedResults="5" />
|
||||
<query value="SELECT * FROM tas:document where tas:TextPropertyC LIKE 't__tc text'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:folder where tas:TextPropertyF = 'restf text'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:folder where tas:TextPropertyF <> 'testf1 text'" expectedResults="8" />
|
||||
<query value="SELECT * FROM tas:folder where tas:TextPropertyF IN('restf text', 'testf2 text', 'testf3 text')" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:folder where tas:TextPropertyF NOT IN('restf text', 'testf2 text', 'testf3 text')" expectedResults="6" />
|
||||
<query value="SELECT * FROM tas:folder where tas:TextPropertyF LIKE '%restf%'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:folder where tas:TextPropertyF >= 'testf text'" expectedResults="6" />
|
||||
<query value="SELECT * FROM tas:folder where tas:TextPropertyF LIKE 't__tf text'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:document where tas:IntPropertyC = '222'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:document where tas:IntPropertyC <> '223'" expectedResults="7" />
|
||||
<query value="SELECT * FROM tas:document where tas:IntPropertyC < '223'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:document where tas:IntPropertyC <= '224'" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:document where tas:IntPropertyC >= '224'" expectedResults="6" />
|
||||
<query value="SELECT * FROM tas:document where tas:IntPropertyC > '224'" expectedResults="5" />
|
||||
<query value="SELECT * FROM tas:document where tas:IntPropertyC IN('222', '223', '224', '225')" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:document where tas:IntPropertyC NOT IN('222', '223', '224')" expectedResults="5" />
|
||||
<query value="SELECT * FROM tas:folder where tas:IntPropertyF = '222'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:folder where tas:IntPropertyF <> '223'" expectedResults="8" />
|
||||
<query value="SELECT * FROM tas:folder where tas:IntPropertyF < '223'" expectedResults="1" />
|
||||
<query value="SELECT * FROM tas:folder where tas:IntPropertyF <= '224'" expectedResults="3" />
|
||||
<query value="SELECT * FROM tas:folder where tas:IntPropertyF >= '224'" expectedResults="7" />
|
||||
<query value="SELECT * FROM tas:folder where tas:IntPropertyF > '224'" expectedResults="6" />
|
||||
<query value="SELECT * FROM tas:folder where tas:IntPropertyF IN('222', '223', '224', '225')" expectedResults="4" />
|
||||
<query value="SELECT * FROM tas:folder where tas:IntPropertyF NOT IN('222', '223', '224')" expectedResults="6" />
|
||||
</queries>
|
||||
</testData>
|
||||
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--CMIS Queries: passing the search query as first param and results expected -->
|
||||
<testData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="https://gitlab.alfresco.com/tas/tas-namespaces/raw/master/input-test-data.xsd">
|
||||
<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" />
|
||||
<query value="SELECT cmis:secondaryObjectTypeIds FROM cmis:folder where IN_FOLDER('%s') AND cmis:name = 'subFolder'" expectedResults="1" />
|
||||
</queries>
|
||||
</testData>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--CMIS Queries: passing the search query as first param and results expected -->
|
||||
<testData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="https://gitlab.alfresco.com/tas/tas-namespaces/raw/master/input-test-data.xsd">
|
||||
<queries>
|
||||
<query value="SELECT * FROM cmis:document where IN_TREE('%s')" expectedResults="6" />
|
||||
<query value="SELECT * FROM cmis:folder where IN_TREE('%s')" expectedResults="4" />
|
||||
<query value="SELECT * FROM cmis:document where IN_TREE('%s') AND cmis:name = 'fourthFile'" expectedResults="1" />
|
||||
<query value="SELECT * FROM cmis:folder where IN_TREE('%s') AND cmis:name = 'subFolder-3'" expectedResults="1" />
|
||||
<query value="SELECT * FROM cmis:document where IN_TREE('%s') ORDER BY cmis:name ASC" expectedResults="6" />
|
||||
<query value="SELECT * FROM cmis:document where IN_TREE('%s') ORDER BY cmis:name DESC" expectedResults="6" />
|
||||
<query value="SELECT * FROM cmis:folder where IN_TREE('%s') ORDER BY cmis:lastModificationDate ASC" expectedResults="4" />
|
||||
<query value="SELECT * FROM cmis:folder where IN_TREE('%s') ORDER BY cmis:lastModificationDate DESC" expectedResults="4" />
|
||||
<query value="SELECT * FROM cmis:document where IN_TREE('%s') ORDER BY cmis:createdBy DESC" expectedResults="6" />
|
||||
<query value="SELECT * FROM cmis:document where IN_TREE('%s') AND cmis:name IS NOT NULL" expectedResults="6" />
|
||||
<query value="SELECT * FROM cmis:folder where IN_TREE('%s') AND cmis:name IS NOT NULL" expectedResults="4" />
|
||||
<!--<query value="SELECT * FROM cmis:document where IN_TREE('%s') AND CONTAINS('fifthFile content')" expectedResults="1" />-->
|
||||
<query value="SELECT * FROM cmis:document where IN_TREE('%s') AND cmis:name LIKE 'fourthFile'" expectedResults="1" />
|
||||
<query value="SELECT * FROM cmis:folder where IN_TREE('%s') AND NOT(cmis:name NOT IN ('subFolder-3'))" expectedResults="1" />
|
||||
<query value="SELECT * FROM cmis:document where IN_TREE('%s') AND cmis:name IN ('fourthFile', 'fifthFile.txt')" expectedResults="2" />
|
||||
<query value="SELECT * FROM cmis:document where IN_TREE('%s') AND cmis:name NOT IN ('fourthFile', 'fifthFile.txt')" expectedResults="4" />
|
||||
<query value="SELECT * FROM cmis:folder where IN_TREE('%s') AND cmis:name <> 'subFolder-3'" expectedResults="3" />
|
||||
</queries>
|
||||
</testData>
|
||||
Reference in New Issue
Block a user