diff --git a/e2e-test/pom.xml b/e2e-test/pom.xml
index 32b92c687..c098d3411 100644
--- a/e2e-test/pom.xml
+++ b/e2e-test/pom.xml
@@ -12,7 +12,7 @@
Test Project to test Search Service and Analytics Features on a complete setup of Alfresco, Share
6.0.0.3
- 6.0.0.1
+ 6.0.0.0
2.0.10
2.6.0
src/test/resources/SearchSuite.xml
@@ -22,6 +22,7 @@
${java.version}
${java.version}
3.8.0
+ 2.7.7
@@ -54,24 +55,24 @@
restapi-test
${tas.rest.api.version}
test
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+
+
org.alfresco.tas
cmis-test
${tas.cmis.api.version}
test
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+
+
org.alfresco
@@ -79,18 +80,23 @@
${rm.version}
test
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.databind.version}
+
org.alfresco
alfresco-rm-automation-community-rest-api
${rm.version}
tests
test
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+
+
diff --git a/e2e-test/src/main/java/org/alfresco/search/TestGroup.java b/e2e-test/src/main/java/org/alfresco/search/TestGroup.java
new file mode 100644
index 000000000..31aa31b43
--- /dev/null
+++ b/e2e-test/src/main/java/org/alfresco/search/TestGroup.java
@@ -0,0 +1,46 @@
+package org.alfresco.search;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ ElementType.METHOD })
+public @interface TestGroup
+{
+ public static final String SANITY = "sanity";
+ public static final String REGRESSION = "regression";
+ public static final String ENTERPRISE = "enterprise";
+
+
+ public static final String SEARCH = "search";
+
+ public static final String CMIS = "cmis";
+ public static final String REST_API = "rest-api";
+
+ public static final String PREUPGRADE = "pre-upgrade";
+ public static final String POSTUPGRADE = "post-upgrade";
+
+ // Search: Minimum Version Required
+ public static final String ASS_1 = "ASS_1.0.0"; // Alfresco Search Services 1.0. Does not work with Solr4
+ public static final String ASS_112 = "ASS_1.1.2"; // Alfresco Search Services 1.1.2
+ public static final String ASS_12 = "ASS_1.2.0"; // Alfresco Search Services 1.2
+ public static final String PreASS_121 = "PreASS_1.2.1"; // Alfresco Search Services Prior to ASS 1.2.1
+ public static final String ASS_121 = "ASS_1.2.1"; // Alfresco Search Services 1.2.1
+ public static final String ASS_13 = "ASS_1.3.0"; // Alfresco Search Services 1.3
+ public static final String ASS_1302 = "ASS_1.3.0.2"; // Alfresco Search Services 1.3.0.2 (Fingerprint MNT)
+ public static final String ASS_14 = "ASS_1.4.0"; // Alfresco Search Services 1.4
+ public static final String ASS_MASTER_SLAVE = "ASS_Master_Slave"; // Alfresco Search Services using master slave configurations
+ public static final String ASS_MASTER ="ASS_Master"; // Alfresco search services using master/stand alone mode
+
+ public static final String INSIGHT_10 = "InsightEngine_1.0.0"; // Alfresco Insight Engine 1.0
+ public static final String INSIGHT_11 = "InsightEngine_1.1.0"; // Alfresco Insight Engine 1.1
+ public static final String INSIGHT_12 = "InsightEngine_1.2.0"; // Alfresco Insight Engine 1.2
+ public static final String NOT_INSIGHT_ENGINE = "Not_InsightEngine"; // When Alfresco Insight Engine 1.0 isn't running
+ public static final String SOLR = "SOLR"; //To be used for tests for /solr/alfresco/* end-points
+
+ public static final String ACS_52n = "ACS_52n"; // Alfresco Content Services 5.2.n
+ public static final String ACS_60n = "ACS_60n"; // Alfresco Content Services 6.0 or above
+ public static final String ACS_61n = "ACS_61n"; // Alfresco Content Services 6.1 or above
+}
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/AbstractE2EFunctionalTest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/AbstractE2EFunctionalTest.java
index 9477461c1..5f2f26332 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/AbstractE2EFunctionalTest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/AbstractE2EFunctionalTest.java
@@ -10,14 +10,12 @@ import org.alfresco.cmis.CmisWrapper;
import org.alfresco.dataprep.ContentService;
import org.alfresco.dataprep.SiteService.Visibility;
import org.alfresco.rest.core.RestProperties;
-import org.alfresco.rest.core.RestResponse;
import org.alfresco.rest.core.RestWrapper;
import org.alfresco.rest.search.RestRequestHighlightModel;
import org.alfresco.rest.search.RestRequestQueryModel;
import org.alfresco.rest.search.SearchNodeModel;
import org.alfresco.rest.search.SearchRequest;
import org.alfresco.rest.search.SearchResponse;
-import org.alfresco.rest.search.SearchSqlRequest;
import org.alfresco.utility.LogFactory;
import org.alfresco.utility.TasProperties;
import org.alfresco.utility.Utility;
@@ -32,7 +30,6 @@ import org.alfresco.utility.model.UserModel;
import org.alfresco.utility.network.ServerHealth;
import org.apache.chemistry.opencmis.client.api.CmisObject;
import org.apache.chemistry.opencmis.client.api.Session;
-import org.hamcrest.Matchers;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
@@ -83,10 +80,10 @@ public abstract class AbstractE2EFunctionalTest extends AbstractTestNGSpringCont
@Autowired
@Getter(value = PROTECTED)
private ContentService contentService;
-
+
protected UserModel testUser, adminUserModel;
protected SiteModel testSite;
-
+
protected static String unique_searchString;
public static final String NODE_PREFIX = "workspace/SpacesStore/";
@@ -99,7 +96,7 @@ public abstract class AbstractE2EFunctionalTest extends AbstractTestNGSpringCont
deployCustomModel("model/music-model.xml");
deployCustomModel("model/finance-model.xml");
}
-
+
@BeforeClass(alwaysRun = true)
public void dataPreparation() throws Exception
{
@@ -107,12 +104,12 @@ public abstract class AbstractE2EFunctionalTest extends AbstractTestNGSpringCont
adminUserModel = dataUser.getAdminUser();
testUser = dataUser.createRandomTestUser("UserSearch");
-
+
testSite = new SiteModel(RandomData.getRandomName("SiteSearch"));
testSite.setVisibility(Visibility.PRIVATE);
-
+
testSite = dataSite.usingUser(testUser).createSite(testSite);
-
+
unique_searchString = testSite.getTitle().replace("SiteSearch", "Unique");
dataUser.addUserToSite(testUser, testSite, UserRole.SiteContributor);
@@ -136,7 +133,7 @@ public abstract class AbstractE2EFunctionalTest extends AbstractTestNGSpringCont
}
return modelDeployed;
}
-
+
public boolean deactivateCustomModel(String fileName)
{
Boolean modelDeactivated = false;
@@ -227,7 +224,6 @@ public abstract class AbstractE2EFunctionalTest extends AbstractTestNGSpringCont
}
/**
- *
* Helper method which create an http post request to Search API end point.
* Executes the given search request without throwing checked exceptions (a {@link RuntimeException} will be thrown in case).
*
@@ -250,16 +246,18 @@ public abstract class AbstractE2EFunctionalTest extends AbstractTestNGSpringCont
* Wait for Solr to finish indexing and search to return appropriate results
*
* @param userQuery: Search Query
- * @param contentName that's expected to be included / excluded from the results
+ * @param contentToFind that's expected to be included / excluded from the results
* @param expectedInResults
* @return true if search returns expected results, i.e. is given content is found or excluded from the results
* @throws Exception
*/
- public boolean waitForContent(String userQuery, String contentName, boolean expectedInResults) throws Exception
+ public boolean isContentInSearchResults(String userQuery, String contentToFind, boolean expectedInResults)
+ throws Exception
{
boolean resultAsExpected = false;
boolean found = !expectedInResults;
String expectedStatusCode = HttpStatus.OK.toString();
+ String contentName = (contentToFind == null) ? "" : contentToFind;
// Repeat search until the query results are as expected or Search Retry count is hit
for (int searchCount = 1; searchCount <= 6; searchCount++)
@@ -272,11 +270,23 @@ public abstract class AbstractE2EFunctionalTest extends AbstractTestNGSpringCont
List entries = response.getEntries();
if (!entries.isEmpty())
{
- for (SearchNodeModel entry : entries)
+ if (contentName.isEmpty())
{
- found = (contentName.equalsIgnoreCase(entry.getModel().getName()));
+ found = true;
+ }
+ else
+ {
+ for (SearchNodeModel entry : entries)
+ {
+ found = (contentName.equalsIgnoreCase(entry.getModel().getName()));
+ }
}
}
+ else
+ {
+ found = false;
+ }
+
// Loop again if result is not as expected: To cater for solr lag: eventual consistency
resultAsExpected = (expectedInResults == found);
if (resultAsExpected)
@@ -311,9 +321,10 @@ public abstract class AbstractE2EFunctionalTest extends AbstractTestNGSpringCont
// Use the search query as is: fieldname(s) may or may not be specified within the userQuery
return waitForIndexing(null, userQuery, expectedInResults);
}
-
+
/**
* waitForIndexing method that matches / waits for filename, metadata to be indexed.
+ *
* @param userQuery
* @param expectedInResults
* @return
@@ -323,10 +334,11 @@ public abstract class AbstractE2EFunctionalTest extends AbstractTestNGSpringCont
{
return waitForIndexing("name", userQuery, expectedInResults);
}
-
+
/**
* waitForIndexing method that matches / waits for content to be indexed, this can take longer than metadata indexing.
* Since Metadata is indexed first, use this method where tests, queries need content to be indexed too.
+ *
* @param userQuery
* @param expectedInResults
* @return
@@ -348,39 +360,9 @@ public abstract class AbstractE2EFunctionalTest extends AbstractTestNGSpringCont
*/
private boolean waitForIndexing(String fieldName, String userQuery, boolean expectedInResults) throws Exception
{
- boolean resultAsExpected = false;
- String expectedStatusCode = HttpStatus.OK.toString();
- String query = (fieldName == null)? userQuery: String.format("%s:'%s'", fieldName, userQuery);
+ String query = (fieldName == null) ? userQuery : String.format("%s:'%s'", fieldName, userQuery);
- // Repeat search until the query results are as expected or Search Retry count is hit
- for (int searchCount = 1; searchCount <= 3; searchCount++)
- {
- SearchRequest searchRequest = createQuery(query);
- SearchResponse response = query(searchRequest);
-
- if (restClient.getStatusCode().matches(expectedStatusCode))
- {
- boolean found = !response.getEntries().isEmpty();
-
- // Loop again if result is not as expected: To cater for solr lag: eventual consistency
- resultAsExpected = (expectedInResults == found);
- if (resultAsExpected)
- {
- break;
- }
- else
- {
- // Wait for the solr indexing.
- Utility.waitToLoopTime(properties.getSolrWaitTimeInSeconds(), "Wait For Indexing. Retry Attempt: " + searchCount);
- }
- }
- else
- {
- throw new RuntimeException("API returned status code:" + restClient.getStatusCode() + " Expected: " + expectedStatusCode);
- }
- }
-
- return resultAsExpected;
+ return isContentInSearchResults(query, null, expectedInResults);
}
/**
@@ -435,7 +417,6 @@ public abstract class AbstractE2EFunctionalTest extends AbstractTestNGSpringCont
*
* @return {@link SearchResponse} response.
* @throws Exception if error
- *
*/
protected SearchResponse query(RestRequestQueryModel queryReq, RestRequestHighlightModel highlight) throws Exception
{
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchByAspectTests.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchByAspectTests.java
index 03e52b4d9..a9517c66c 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchByAspectTests.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchByAspectTests.java
@@ -6,7 +6,7 @@ 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.alfresco.search.TestGroup;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.annotations.AfterClass;
@@ -50,7 +50,7 @@ public class SolrSearchByAspectTests extends AbstractCmisE2ETest
Utility.waitToLoopTime(getSolrWaitTimeInSeconds());
}
- @Test(groups = { TestGroup.CMIS, TestGroup.QUERIES },
+ @Test(groups = { TestGroup.CMIS },
dataProviderClass = XMLTestDataProvider.class, dataProvider = "getQueriesData", dependsOnMethods = "prepareDataForAspectSearch")
@XMLDataConfig(file = "src/test/resources/testdata/search-by-aspect.xml")
public void executeSearchByAspect(QueryModel query) throws Exception
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchByIdTests.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchByIdTests.java
index 54c8a6e9c..fa429550a 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchByIdTests.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchByIdTests.java
@@ -6,7 +6,7 @@ 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.alfresco.search.TestGroup;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.annotations.AfterClass;
@@ -50,7 +50,7 @@ public class SolrSearchByIdTests extends AbstractCmisE2ETest
Utility.waitToLoopTime(getSolrWaitTimeInSeconds());
}
- @Test(groups = { TestGroup.CMIS, TestGroup.QUERIES },
+ @Test(groups = { TestGroup.CMIS },
dataProviderClass = XMLTestDataProvider.class, dataProvider = "getQueriesData", dependsOnMethods = "prepareDataForSearchById")
@XMLDataConfig(file = "src/test/resources/testdata/search-by-id.xml")
public void executeSortedSearchByID(QueryModel query) throws Exception
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchByPathTests.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchByPathTests.java
index 0d28375de..de74c6438 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchByPathTests.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchByPathTests.java
@@ -5,7 +5,7 @@ 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.alfresco.search.TestGroup;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.annotations.AfterClass;
@@ -48,7 +48,7 @@ public class SolrSearchByPathTests extends AbstractCmisE2ETest
Utility.waitToLoopTime(getSolrWaitTimeInSeconds());
}
- @Test(groups = { TestGroup.CMIS, TestGroup.QUERIES },
+ @Test(groups = { TestGroup.CMIS },
dependsOnMethods = "prepareDataForSearchByPath", dataProviderClass = XMLTestDataProvider.class, dataProvider = "getQueriesData")
@XMLDataConfig(file = "src/test/resources/testdata/search-by-path.xml")
public void executeSearchByPathQueries(QueryModel query) throws Exception
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchByPropertyTests.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchByPropertyTests.java
index ec90ef848..172664a22 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchByPropertyTests.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchByPropertyTests.java
@@ -6,7 +6,7 @@ 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.alfresco.search.TestGroup;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testng.annotations.AfterClass;
@@ -50,7 +50,7 @@ public class SolrSearchByPropertyTests extends AbstractCmisE2ETest
Utility.waitToLoopTime(getSolrWaitTimeInSeconds());
}
- @Test(groups = { TestGroup.CMIS, TestGroup.QUERIES },
+ @Test(groups = { TestGroup.CMIS },
dataProviderClass = XMLTestDataProvider.class, dataProvider = "getQueriesData", dependsOnMethods = "prepareDataForSearchWithProperty")
@XMLDataConfig(file = "src/test/resources/testdata/search-by-property.xml")
public void executeSortedSearchByID(QueryModel query) throws Exception
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchInFolderTests.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchInFolderTests.java
index 133144ad7..52f7c332a 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchInFolderTests.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchInFolderTests.java
@@ -7,7 +7,7 @@ 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.TestGroup;
+import org.alfresco.search.TestGroup;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -51,7 +51,7 @@ public class SolrSearchInFolderTests extends AbstractCmisE2ETest
dataContent.deleteSite(testSite);
}
- @Test(groups = { TestGroup.CMIS, TestGroup.QUERIES },
+ @Test(groups = { TestGroup.CMIS },
dataProviderClass = XMLTestDataProvider.class, dataProvider = "getQueriesData")
@XMLDataConfig(file = "src/test/resources/testdata/search-in-folder.xml")
public void executeCMISQuery(QueryModel query) throws Exception
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchInTreeTests.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchInTreeTests.java
index 9f69ddea2..5ce7461c0 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchInTreeTests.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/cmis/SolrSearchInTreeTests.java
@@ -7,7 +7,7 @@ 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.TestGroup;
+import org.alfresco.search.TestGroup;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -55,7 +55,7 @@ public class SolrSearchInTreeTests extends AbstractCmisE2ETest
dataContent.deleteSite(testSite);
}
- @Test(groups = { TestGroup.CMIS, TestGroup.QUERIES },
+ @Test(groups = { TestGroup.CMIS },
dataProviderClass = XMLTestDataProvider.class, dataProvider = "getQueriesData")
@XMLDataConfig(file = "src/test/resources/testdata/search-in-tree.xml")
public void executeCMISQuery(QueryModel query) throws Exception
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/sanity/SetupTest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/sanity/SetupTest.java
index 0e9a0910a..70abfe3ae 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/sanity/SetupTest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/sanity/SetupTest.java
@@ -17,7 +17,7 @@ import org.alfresco.utility.data.DataSite;
import org.alfresco.utility.model.FileModel;
import org.alfresco.utility.model.FileType;
import org.alfresco.utility.model.FolderModel;
-import org.alfresco.utility.model.TestGroup;
+import org.alfresco.search.TestGroup;
import org.apache.chemistry.opencmis.commons.PropertyIds;
import org.apache.chemistry.opencmis.commons.enums.VersioningState;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/AbstractSearchServicesE2ETest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/AbstractSearchServicesE2ETest.java
index 2a9cc270d..2e71239a2 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/AbstractSearchServicesE2ETest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/AbstractSearchServicesE2ETest.java
@@ -1,45 +1,34 @@
/*
* Copyright (C) 2018 Alfresco Software Limited.
- *
* This file is part of Alfresco
- *
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
- *
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
- *
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
package org.alfresco.test.search.functional.searchServices.search;
-import org.alfresco.rest.search.SearchRequest;
-import org.alfresco.rest.search.SearchResponse;
import org.alfresco.test.search.functional.AbstractE2EFunctionalTest;
-import org.alfresco.utility.Utility;
import org.alfresco.utility.model.FileModel;
import org.alfresco.utility.model.FileType;
import org.alfresco.utility.model.FolderModel;
-import org.springframework.http.HttpStatus;
import org.testng.annotations.BeforeClass;
-import javax.naming.AuthenticationException;
-
/**
* Abstract Search test class that contains useful methods
* such as:
- *
- * - Preparing the data to index.
- *
- Preparing search requests.
+ *
+ * - Preparing the data to index.
+ *
- Preparing search requests.
*
* @author Michael Suzuki
* @author Meenal Bhave
- *
*/
public abstract class AbstractSearchServicesE2ETest extends AbstractE2EFunctionalTest
{
@@ -51,29 +40,33 @@ public abstract class AbstractSearchServicesE2ETest extends AbstractE2EFunctiona
public void searchServicesDataPreparation() throws Exception
{
/*
- * Create the following file structure for preconditions :
- * |- folder
- * |-- pangram.txt
- * |-- cars.txt
- * |-- alfresco.txt
- * |--
+ * Create the following file structure for preconditions :
+ * |- folder
+ * |-- pangram.txt
+ * |-- cars.txt
+ * |-- alfresco.txt
+ * |--
*/
FolderModel folder = new FolderModel(SEARCH_DATA_SAMPLE_FOLDER);
dataContent.usingUser(testUser).usingSite(testSite).createFolder(folder);
-
- //Create files
+
+ // Create files
String title = "Title: " + unique_searchString;
String description = "Description: File is created for search tests by Author: " + unique_searchString + " . ";
- file = new FileModel("pangram.txt", "pangram" + title, description, FileType.TEXT_PLAIN, description + " The quick brown fox jumps over the lazy dog");
+ file = new FileModel("pangram.txt", "pangram" + title, description, FileType.TEXT_PLAIN,
+ description + " The quick brown fox jumps over the lazy dog");
- file2 = new FileModel("cars.txt", "cars" + title, description, FileType.TEXT_PLAIN, "The landrover discovery is not a sports car ");
+ file2 = new FileModel("cars.txt", "cars" + title, description, FileType.TEXT_PLAIN,
+ "The landrover discovery is not a sports car ");
+
+ FileModel file3 = new FileModel("alfresco.txt", "alfresco", "alfresco", FileType.TEXT_PLAIN,
+ "Alfresco text file for search ");
+
+ file4 = new FileModel(unique_searchString + ".txt", "uniquee" + title, description, FileType.TEXT_PLAIN,
+ "Unique text file for search ");
- FileModel file3 = new FileModel("alfresco.txt", "alfresco", "alfresco", FileType.TEXT_PLAIN, "Alfresco text file for search ");
-
- file4 = new FileModel(unique_searchString + ".txt", "uniquee" + title, description, FileType.TEXT_PLAIN, "Unique text file for search ");
-
dataContent.usingUser(testUser).usingSite(testSite).usingResource(folder).createContent(file);
dataContent.usingUser(testUser).usingSite(testSite).usingResource(folder).createContent(file2);
dataContent.usingUser(testUser).usingSite(testSite).usingResource(folder).createContent(file3);
@@ -81,110 +74,4 @@ public abstract class AbstractSearchServicesE2ETest extends AbstractE2EFunctiona
waitForMetadataIndexing(file4.getName(), true);
}
-
-// /**
-// * Helper method which create an http post request to Search API end point.
-// * @param term String search term
-// * @return {@link SearchResponse} response.
-// * @throws Exception if error
-// *
-// */
-// protected SearchResponse query(String term) throws Exception
-// {
-// RestRequestQueryModel queryReq = new RestRequestQueryModel();
-// queryReq.setLanguage("afts");
-// queryReq.setQuery(term);
-// SearchRequest query = new SearchRequest(queryReq);
-// return restClient.authenticateUser(testUser).withSearchAPI().search(query);
-// }
-
- protected SearchRequest carsQuery()
- {
- return createQuery("cars");
- }
-
- /**
- * Wait for Solr to finish indexing: Indexing has caught up = true if search returns appropriate results
- *
- * @param userQuery: search query, this can include the fieldname, unique search string will guarantee accurate results
- * @param expectedInResults, true if entry is expected in the results set
- * @return true (indexing is finished) if search returns appropriate results
- * @throws Exception
- */
- public boolean waitForIndexing(String userQuery, boolean expectedInResults) throws Exception
- {
- // Use the search query as is: fieldname(s) may or may not be specified within the userQuery
- return waitForIndexing(null, userQuery, expectedInResults);
- }
-
- /**
- * waitForIndexing method that matches / waits for filename, metadata to be indexed.
- * @param userQuery
- * @param expectedInResults
- * @return
- * @throws Exception
- */
- public boolean waitForMetadataIndexing(String userQuery, boolean expectedInResults) throws Exception
- {
- return waitForIndexing("name", userQuery, expectedInResults);
- }
-
- /**
- * waitForIndexing method that matches / waits for content to be indexed, this can take longer than metadata indexing.
- * Since Metadata is indexed first, use this method where tests, queries need content to be indexed too.
- * @param userQuery
- * @param expectedInResults
- * @return
- * @throws Exception
- */
- public boolean waitForContentIndexing(String userQuery, boolean expectedInResults) throws Exception
- {
- return waitForIndexing("cm:content", userQuery, expectedInResults);
- }
-
- /**
- * Wait for Solr to finish indexing: Indexing has caught up = true if search returns appropriate results
- *
- * @param fieldName: specific field to search for, e.g. name. When specified, the query will become: name:'userQuery'
- * @param userQuery: search string, unique search string will guarantee accurate results
- * @param expectedInResults, true if entry is expected in the results set
- * @return true (indexing is finished) if search returns appropriate results
- * @throws Exception
- */
- private boolean waitForIndexing(String fieldName, String userQuery, boolean expectedInResults) throws Exception
- {
- boolean resultAsExpected = false;
- String expectedStatusCode = HttpStatus.OK.toString();
- String query = (fieldName == null)? userQuery: String.format("%s:'%s'", fieldName, userQuery);
-
- // Repeat search until the query results are as expected or Search Retry count is hit
- for (int searchCount = 1; searchCount <= 3; searchCount++)
- {
- SearchRequest searchRequest = createQuery(query);
- SearchResponse response = query(searchRequest);
-
- if (restClient.getStatusCode().matches(expectedStatusCode))
- {
- boolean found = !response.getEntries().isEmpty();
-
- // Loop again if result is not as expected: To cater for solr lag: eventual consistency
- resultAsExpected = (expectedInResults == found);
- if (resultAsExpected)
- {
- break;
- }
- else
- {
- // Wait for the solr indexing.
- Utility.waitToLoopTime(properties.getSolrWaitTimeInSeconds(), "Wait For Indexing");
- }
- }
- else
- {
- throw new AuthenticationException("API returned status code:" + restClient.getStatusCode() + " Expected: " + expectedStatusCode);
- }
- }
-
- return resultAsExpected;
- }
-}
\ No newline at end of file
+}
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FacetFieldsSearchTest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FacetFieldsSearchTest.java
index 91477f7de..cd421d8ef 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FacetFieldsSearchTest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FacetFieldsSearchTest.java
@@ -32,12 +32,12 @@ import org.alfresco.rest.search.RestRequestQueryModel;
import org.alfresco.rest.search.RestResultBucketsModel;
import org.alfresco.rest.search.SearchRequest;
import org.alfresco.rest.search.SearchResponse;
+import org.alfresco.search.TestGroup;
import org.alfresco.utility.data.RandomData;
import org.alfresco.utility.model.FileModel;
import org.alfresco.utility.model.FileType;
import org.alfresco.utility.model.FolderModel;
import org.alfresco.utility.model.SiteModel;
-import org.alfresco.utility.model.TestGroup;
import org.alfresco.utility.model.UserModel;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FacetIntervalSearchTest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FacetIntervalSearchTest.java
index 8ca29c1e8..1298997ac 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FacetIntervalSearchTest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FacetIntervalSearchTest.java
@@ -26,7 +26,7 @@ import org.alfresco.rest.search.RestRequestFacetIntervalsModel;
import org.alfresco.rest.search.RestRequestFacetSetModel;
import org.alfresco.rest.search.SearchRequest;
import org.alfresco.rest.search.SearchResponse;
-import org.alfresco.utility.model.TestGroup;
+import org.alfresco.search.TestGroup;
import org.alfresco.utility.testrail.ExecutionType;
import org.alfresco.utility.testrail.annotation.TestRail;
import org.springframework.http.HttpStatus;
@@ -54,7 +54,7 @@ public class FacetIntervalSearchTest extends AbstractSearchServicesE2ETest
description = "Check facet intervals mandatory fields")
public void checkingFacetsMandatoryErrorMessages()throws Exception
{
- SearchRequest query = carsQuery();
+ SearchRequest query = createQuery("cars");
RestRequestFacetIntervalsModel facetIntervalsModel = new RestRequestFacetIntervalsModel();
FacetInterval facetInterval = new FacetInterval(null, null, null);
@@ -108,7 +108,7 @@ public class FacetIntervalSearchTest extends AbstractSearchServicesE2ETest
description = "Check basic facet intervals search api")
public void searchWithBasicInterval()throws Exception
{
- SearchRequest query = carsQuery();
+ SearchRequest query = createQuery("cars");
RestRequestFacetIntervalsModel facetIntervalsModel = new RestRequestFacetIntervalsModel();
RestRequestFacetSetModel restRequestFacetSetModel = new RestRequestFacetSetModel();
@@ -151,7 +151,7 @@ public class FacetIntervalSearchTest extends AbstractSearchServicesE2ETest
description = "Check date facet intervals search api")
public void searchWithDates() throws Exception
{
- SearchRequest query = carsQuery();
+ SearchRequest query = createQuery("cars");
RestRequestFacetIntervalsModel facetIntervalsModel = new RestRequestFacetIntervalsModel();
RestRequestFacetSetModel restRequestFacetSetModel = new RestRequestFacetSetModel();
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FacetRangeSearchTest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FacetRangeSearchTest.java
index 673f24268..7ba29193d 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FacetRangeSearchTest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FacetRangeSearchTest.java
@@ -21,6 +21,8 @@ package org.alfresco.test.search.functional.searchServices.search;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.Is.is;
import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
import java.util.ArrayList;
import java.util.List;
@@ -32,11 +34,10 @@ import org.alfresco.rest.search.RestGenericBucketModel;
import org.alfresco.rest.search.RestGenericFacetResponseModel;
import org.alfresco.rest.search.SearchRequest;
import org.alfresco.rest.search.SearchResponse;
-import org.alfresco.utility.model.TestGroup;
+import org.alfresco.search.TestGroup;
import org.alfresco.utility.testrail.ExecutionType;
import org.alfresco.utility.testrail.annotation.TestRail;
import org.springframework.http.HttpStatus;
-import org.testng.Assert;
import org.testng.annotations.Test;
/**
@@ -74,7 +75,7 @@ public class FacetRangeSearchTest extends AbstractSearchServicesE2ETest
description = "Check facet intervals mandatory fields")
public void checkingFacetsMandatoryErrorMessages()
{
- SearchRequest query = carsQuery();
+ SearchRequest query = createQuery("cars");
List ranges = new ArrayList<>();
RestRequestRangesModel facetRangeModel = new RestRequestRangesModel();
ranges.add(facetRangeModel);
@@ -114,6 +115,227 @@ public class FacetRangeSearchTest extends AbstractSearchServicesE2ETest
facetRangeModel.setGap("100");
}
+ @SuppressWarnings("unchecked")
+ @Test(groups = { TestGroup.REST_API, TestGroup.SEARCH, TestGroup.PreASS_121 })
+ @TestRail(section = {TestGroup.REST_API, TestGroup.SEARCH, TestGroup.PreASS_121 }, executionType = ExecutionType.REGRESSION,
+ description = "Check basic facet range search api")
+ public void searchWithRangePreASS121()throws Exception
+ {
+ SearchRequest query = createQuery("* AND SITE:'" + testSite.getId() + "'");
+
+ RestRequestRangesModel facetRangeModel = new RestRequestRangesModel();
+ facetRangeModel.setField("content.size");
+ facetRangeModel.setStart("0");
+ facetRangeModel.setEnd("200");
+ facetRangeModel.setGap("20");
+ List ranges = new ArrayList<>();
+ ranges.add(facetRangeModel);
+ query.setRanges(ranges);
+ SearchResponse response = query(query);
+ response.assertThat().entriesListIsNotEmpty();
+ response.getContext().assertThat().field("facets").isNotEmpty();
+ RestGenericFacetResponseModel facetResponseModel = response.getContext().getFacets().get(0);
+
+ RestGenericBucketModel bucket = facetResponseModel.getBuckets().get(0);
+ bucket.assertThat().field("label").is("[0 - 20)");
+ bucket.assertThat().field("filterQuery").is("content.size:[\"0\" TO \"20\">");
+ Map metric = (Map) bucket.getMetrics().get(0).getValue();
+ assertEquals(Integer.valueOf(metric.get("count")).intValue(), 0, "Unexpected count for first bucket.");
+ Map info = (Map) bucket.getBucketInfo();
+ assertEquals(info.get("start"),"0");
+ assertEquals(info.get("end"),"20");
+ assertNull(info.get("count"));
+ assertEquals(info.get("startInclusive"),"true");
+ assertEquals(info.get("endInclusive"),"false");
+
+ bucket = facetResponseModel.getBuckets().get(1);
+ bucket.assertThat().field("label").is("[20 - 40)");
+ bucket.assertThat().field("filterQuery").is("content.size:[\"20\" TO \"40\">");
+ metric = (Map) bucket.getMetrics().get(0).getValue();
+ assertEquals(Integer.valueOf(metric.get("count")).intValue(), 2, "Unexpected count for second bucket.");
+ info = (Map) bucket.getBucketInfo();
+ assertEquals(info.get("start"),"20");
+ assertEquals(info.get("end"),"40");
+ assertEquals(info.get("startInclusive"),"true");
+ assertEquals(info.get("endInclusive"),"false");
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(groups = { TestGroup.REST_API, TestGroup.SEARCH, TestGroup.PreASS_121 })
+ @TestRail(section = {TestGroup.REST_API, TestGroup.SEARCH, TestGroup.PreASS_121 }, executionType = ExecutionType.REGRESSION,
+ description = "Check date facet intervals search api")
+ public void searchWithRangeHardendPreASS121()throws Exception
+ {
+ SearchRequest query = createQuery("A*");
+
+ RestRequestRangesModel facetRangeModel = new RestRequestRangesModel();
+ facetRangeModel.setField("content.size");
+ facetRangeModel.setStart("0");
+ facetRangeModel.setEnd("500");
+ facetRangeModel.setGap("200");
+ facetRangeModel.setHardend(true);
+ List ranges = new ArrayList();
+ ranges.add(facetRangeModel);
+ query.setRanges(ranges);
+ SearchResponse response = query(query);
+ response.assertThat().entriesListIsNotEmpty();
+ response.getContext().assertThat().field("facets").isNotEmpty();
+ RestGenericFacetResponseModel facetResponseModel = response.getContext().getFacets().get(0);
+
+ RestGenericBucketModel bucket = facetResponseModel.getBuckets().get(0);
+ bucket.assertThat().field("label").is("[0 - 200)");
+ bucket.assertThat().field("filterQuery").is("content.size:[\"0\" TO \"200\">");
+ Map metric = (Map) bucket.getMetrics().get(0).getValue();
+ assertTrue(Integer.valueOf(metric.get("count")) >= 4);
+ Map info = (Map) bucket.getBucketInfo();
+ assertEquals(info.get("start"),"0");
+ assertEquals(info.get("end"),"200");
+ assertEquals(info.get("startInclusive"),"true");
+ assertEquals(info.get("endInclusive"),"false");
+ assertNull(info.get("count"));
+
+ bucket = facetResponseModel.getBuckets().get(1);
+ bucket.assertThat().field("label").is("[200 - 400)");
+ bucket.assertThat().field("filterQuery").is("content.size:[\"200\" TO \"400\">");
+ info = (Map) bucket.getBucketInfo();
+ assertEquals(info.get("start"),"200");
+ assertEquals(info.get("end"),"400");
+ metric = (Map) bucket.getMetrics().get(0).getValue();
+ assertTrue(Integer.valueOf(metric.get("count")) == 4);
+ assertNull(info.get("count"));
+ assertEquals(info.get("startInclusive"),"true");
+ assertEquals(info.get("endInclusive"),"false");
+
+ bucket = facetResponseModel.getBuckets().get(2);
+ bucket.assertThat().field("label").is("[400 - 500]");
+ bucket.assertThat().field("filterQuery").is("content.size:[\"400\" TO \"500\"]");
+ metric = (Map) bucket.getMetrics().get(0).getValue();
+ assertTrue(Integer.valueOf(metric.get("count")) >= 2);
+ info = (Map) bucket.getBucketInfo();
+ assertEquals(info.get("start"),"400");
+ assertEquals(info.get("end"),"500");
+ assertNull(info.get("count"));
+ assertEquals(info.get("startInclusive"),"true");
+ assertEquals(info.get("endInclusive"),"true");
+ }
+ @SuppressWarnings("unchecked")
+ @Test(groups = { TestGroup.REST_API, TestGroup.SEARCH, TestGroup.PreASS_121 })
+ @TestRail(section = {TestGroup.REST_API, TestGroup.SEARCH, TestGroup.PreASS_121 }, executionType = ExecutionType.REGRESSION,
+ description = "Check date facet intervals search api")
+ public void searchDateRangePreASS121()throws Exception
+ {
+ SearchRequest query = createQuery("name:A*");
+
+ RestRequestRangesModel facetRangeModel = new RestRequestRangesModel();
+ facetRangeModel.setField("created");
+ facetRangeModel.setStart("2015-09-29T10:45:15.729Z");
+ facetRangeModel.setEnd("2016-09-29T10:45:15.729Z");
+ facetRangeModel.setGap("+280DAY");
+ List ranges = new ArrayList();
+ ranges.add(facetRangeModel);
+ query.setRanges(ranges);
+ SearchResponse response = query(query);
+ response.assertThat().entriesListIsNotEmpty();
+ response.getContext().assertThat().field("facets").isNotEmpty();
+ RestGenericFacetResponseModel facetResponseModel = response.getContext().getFacets().get(0);
+
+ List buckets = facetResponseModel.getBuckets();
+ assertThat(buckets.size(),is(2));
+
+ RestGenericBucketModel bucket = buckets.get(0);
+ bucket.assertThat().field("label").is("[2015-09-29T10:45:15.729Z - 2016-07-05T10:45:15.729Z)");
+ bucket.assertThat().field("filterQuery").is("created:[\"2015-09-29T10:45:15.729Z\" TO \"2016-07-05T10:45:15.729Z\">");
+ bucket.getMetrics().get(0).assertThat().field("value").is("{count=1}");
+ Map info = (Map) bucket.getBucketInfo();
+ assertEquals(info.get("start"),"2015-09-29T10:45:15.729Z");
+ assertEquals(info.get("end"),"2016-07-05T10:45:15.729Z");
+ assertNull(info.get("count"),"Expecting count to be null");
+ assertEquals(info.get("startInclusive"),"true");
+ assertEquals(info.get("endInclusive"),"false");
+ }
+
+ @Test(groups = { TestGroup.REST_API, TestGroup.SEARCH, TestGroup.PreASS_121 })
+ @TestRail(section = {TestGroup.REST_API, TestGroup.SEARCH, TestGroup.PreASS_121 }, executionType = ExecutionType.REGRESSION,
+ description = "Check date facet intervals search api")
+ public void searchDateAndSizeRangesPreASS121()throws Exception
+ {
+ SearchRequest query = createQuery("name:A*");
+ List ranges = new ArrayList();
+ RestRequestRangesModel facetRangeModel = new RestRequestRangesModel();
+ facetRangeModel.setField("created");
+ facetRangeModel.setStart("2015-09-29T10:45:15.729Z");
+ facetRangeModel.setEnd("2016-09-29T10:45:15.729Z");
+ facetRangeModel.setGap("+280DAY");
+ ranges.add(facetRangeModel);
+ RestRequestRangesModel facetCountRangeModel = new RestRequestRangesModel();
+ facetCountRangeModel.setField("content.size");
+ facetCountRangeModel.setStart("0");
+ facetCountRangeModel.setEnd("500");
+ facetCountRangeModel.setGap("200");
+ ranges.add(facetCountRangeModel);
+ query.setRanges(ranges);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test(groups = { TestGroup.REST_API, TestGroup.SEARCH, TestGroup.PreASS_121 })
+ @TestRail(section = {TestGroup.REST_API, TestGroup.SEARCH, TestGroup.PreASS_121 }, executionType = ExecutionType.REGRESSION,
+ description = "Check basic facet range search api")
+ public void searchWithRangeAndIncludeUpperBoundPreASS121()throws Exception
+ {
+ SearchRequest query = createQuery("A*");
+
+ RestRequestRangesModel facetRangeModel = new RestRequestRangesModel();
+ facetRangeModel.setField("content.size");
+ facetRangeModel.setStart("0");
+ facetRangeModel.setEnd("500");
+ facetRangeModel.setGap("200");
+ List include = new ArrayList();
+ include.add("upper");
+ facetRangeModel.setInclude(include);
+ List ranges = new ArrayList();
+ ranges.add(facetRangeModel);
+ query.setRanges(ranges);
+ SearchResponse response = query(query);
+ response.assertThat().entriesListIsNotEmpty();
+ response.getContext().assertThat().field("facets").isNotEmpty();
+ RestGenericFacetResponseModel facetResponseModel = response.getContext().getFacets().get(0);
+
+ RestGenericBucketModel bucket = facetResponseModel.getBuckets().get(0);
+ bucket.assertThat().field("label").is("(0 - 200]");
+ bucket.assertThat().field("filterQuery").is("content.size:<\"0\" TO \"200\"]");
+ Map metric = (Map) bucket.getMetrics().get(0).getValue();
+ assertTrue(Integer.valueOf(metric.get("count")) >= 4);
+ Map info = (Map) bucket.getBucketInfo();
+ assertEquals(info.get("start"),"0");
+ assertEquals(info.get("end"),"200");
+ assertNull(info.get("count"));
+ assertEquals(info.get("startInclusive"),"false");
+ assertEquals(info.get("endInclusive"),"true");
+
+ bucket = facetResponseModel.getBuckets().get(1);
+ bucket.assertThat().field("label").is("(200 - 400]");
+ bucket.assertThat().field("filterQuery").is("content.size:<\"200\" TO \"400\"]");
+ metric = (Map) bucket.getMetrics().get(0).getValue();
+ Integer count = Integer.valueOf(metric.get("count"));
+ assertTrue(count == 4);
+ info = (Map) bucket.getBucketInfo();
+ assertEquals(info.get("start"),"200");
+ assertEquals(info.get("end"),"400");
+ assertEquals(info.get("startInclusive"),"false");
+ assertEquals(info.get("endInclusive"),"true");
+
+ bucket = facetResponseModel.getBuckets().get(2);
+ bucket.assertThat().field("label").is("(400 - 600]");
+ bucket.assertThat().field("filterQuery").is("content.size:<\"400\" TO \"600\"]");
+ metric = (Map) bucket.getMetrics().get(0).getValue();
+ assertTrue(Integer.valueOf(metric.get("count")) >= 5);
+ info = (Map) bucket.getBucketInfo();
+ assertEquals(info.get("start"),"400");
+ assertEquals(info.get("end"),"600");
+ assertEquals(info.get("startInclusive"),"false");
+ assertEquals(info.get("endInclusive"),"true");
+ }
+
@Test(groups = { TestGroup.REST_API, TestGroup.SEARCH, TestGroup.ASS_121 })
@TestRail(section = {TestGroup.REST_API, TestGroup.SEARCH, TestGroup.ASS_121 }, executionType = ExecutionType.REGRESSION,
description = "Check basic facet range search api")
@@ -143,7 +365,7 @@ public class FacetRangeSearchTest extends AbstractSearchServicesE2ETest
Map info = (Map) bucket.getBucketInfo();
assertEquals(info.get("start"),"20");
assertEquals(info.get("end"),"40");
- Assert.assertNull(info.get("count"));
+ assertNull(info.get("count"));
assertEquals(info.get("startInclusive"),"true");
assertEquals(info.get("endInclusive"),"false");
@@ -201,7 +423,7 @@ public class FacetRangeSearchTest extends AbstractSearchServicesE2ETest
assertEquals(info.get("end"),"40");
assertEquals(info.get("startInclusive"),"true");
assertEquals(info.get("endInclusive"),"false");
- Assert.assertNull(info.get("count"));
+ assertNull(info.get("count"));
bucket = facetResponseModel.getBuckets().get(1);
bucket.assertThat().field("label").is("[40 - 120)");
@@ -211,7 +433,7 @@ public class FacetRangeSearchTest extends AbstractSearchServicesE2ETest
assertEquals(info.get("end"),"120");
metric = (Map) bucket.getMetrics().get(0).getValue();
assertEquals(Integer.valueOf(metric.get("count")).intValue(), 1, "Unexpected count for second bucket.");
- Assert.assertNull(info.get("count"));
+ assertNull(info.get("count"));
assertEquals(info.get("startInclusive"),"true");
assertEquals(info.get("endInclusive"),"false");
@@ -223,7 +445,7 @@ public class FacetRangeSearchTest extends AbstractSearchServicesE2ETest
info = (Map) bucket.getBucketInfo();
assertEquals(info.get("start"),"120");
assertEquals(info.get("end"),"200");
- Assert.assertNull(info.get("count"));
+ assertNull(info.get("count"));
assertEquals(info.get("startInclusive"),"true");
assertEquals(info.get("endInclusive"),"true");
}
@@ -260,7 +482,7 @@ public class FacetRangeSearchTest extends AbstractSearchServicesE2ETest
Map info = (Map) bucket.getBucketInfo();
assertEquals(info.get("start"),"2015-09-29T10:45:15.729Z");
assertEquals(info.get("end"),"2017-04-11T10:45:15.729Z");
- Assert.assertNull(info.get("count"),"1");
+ assertNull(info.get("count"),"1");
assertEquals(info.get("startInclusive"),"true");
assertEquals(info.get("endInclusive"),"true");
}
@@ -319,7 +541,7 @@ public class FacetRangeSearchTest extends AbstractSearchServicesE2ETest
Map info = (Map) bucket.getBucketInfo();
assertEquals(info.get("start"),"20");
assertEquals(info.get("end"),"40");
- Assert.assertNull(info.get("count"));
+ assertNull(info.get("count"));
assertEquals(info.get("startInclusive"),"false");
assertEquals(info.get("endInclusive"),"true");
@@ -344,5 +566,5 @@ public class FacetRangeSearchTest extends AbstractSearchServicesE2ETest
assertEquals(info.get("end"),"200");
assertEquals(info.get("startInclusive"),"false");
assertEquals(info.get("endInclusive"),"true");
- }
+ }
}
\ No newline at end of file
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FacetedSearchTest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FacetedSearchTest.java
index f92480639..8692cb836 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FacetedSearchTest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FacetedSearchTest.java
@@ -31,7 +31,7 @@ import org.alfresco.rest.search.RestRequestQueryModel;
import org.alfresco.rest.search.RestResultBucketsModel;
import org.alfresco.rest.search.SearchRequest;
import org.alfresco.rest.search.SearchResponse;
-import org.alfresco.utility.model.TestGroup;
+import org.alfresco.search.TestGroup;
import org.alfresco.utility.testrail.ExecutionType;
import org.alfresco.utility.testrail.annotation.TestRail;
import org.testng.Assert;
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FingerPrintTest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FingerPrintTest.java
index 593c52b02..d70ad2960 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FingerPrintTest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/FingerPrintTest.java
@@ -23,7 +23,7 @@ import org.alfresco.rest.search.SearchResponse;
import org.alfresco.utility.model.FileModel;
import org.alfresco.utility.model.FileType;
import org.alfresco.utility.model.FolderModel;
-import org.alfresco.utility.model.TestGroup;
+import org.alfresco.search.TestGroup;
import org.alfresco.utility.report.Bug;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/PivotFacetedSearchTest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/PivotFacetedSearchTest.java
index 92a9185e1..cac7c90f6 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/PivotFacetedSearchTest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/PivotFacetedSearchTest.java
@@ -35,7 +35,7 @@ import org.alfresco.rest.search.RestRequestFacetFieldsModel;
import org.alfresco.rest.search.RestRequestPivotModel;
import org.alfresco.rest.search.SearchRequest;
import org.alfresco.rest.search.SearchResponse;
-import org.alfresco.utility.model.TestGroup;
+import org.alfresco.search.TestGroup;
import org.alfresco.utility.testrail.ExecutionType;
import org.alfresco.utility.testrail.annotation.TestRail;
import org.springframework.http.HttpStatus;
@@ -62,7 +62,7 @@ public class PivotFacetedSearchTest extends AbstractSearchServicesE2ETest
description = "Checks errors with pivot using Search api")
public void searchWithPivotingErrors()
{
- SearchRequest query = carsQuery();
+ SearchRequest query = createQuery("cars");
RestRequestFacetFieldsModel facetFields = new RestRequestFacetFieldsModel();
List list = new ArrayList<>();
@@ -95,7 +95,7 @@ public class PivotFacetedSearchTest extends AbstractSearchServicesE2ETest
description = "Checks with pivot using Search api")
public void searchWithPivoting()
{
- SearchRequest query = carsQuery();
+ SearchRequest query = createQuery("cars");
RestRequestFacetFieldsModel facetFields = new RestRequestFacetFieldsModel();
List list = new ArrayList<>();
@@ -124,7 +124,7 @@ public class PivotFacetedSearchTest extends AbstractSearchServicesE2ETest
description = "Checks nested pivot using Search api")
public void searchWithNestedPivoting()
{
- SearchRequest query = carsQuery();
+ SearchRequest query = createQuery("cars");
RestRequestFacetFieldsModel facetFields = new RestRequestFacetFieldsModel();
List list = new ArrayList<>();
@@ -181,7 +181,7 @@ public class PivotFacetedSearchTest extends AbstractSearchServicesE2ETest
description = "Checks range pivots using Search api")
public void searchWithRangePivoting()
{
- SearchRequest query = carsQuery();
+ SearchRequest query = createQuery("cars");
String endDate = LocalDateTime.now()
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'")); //the car document is created at runtime, so to include it in range facets end date must be now
@@ -245,7 +245,7 @@ public class PivotFacetedSearchTest extends AbstractSearchServicesE2ETest
description = "Checks with pivot using Search api and a label as a key")
public void searchWithPivotingUsingLabel()
{
- SearchRequest query = carsQuery();
+ SearchRequest query = createQuery("cars");
RestRequestFacetFieldsModel facetFields = new RestRequestFacetFieldsModel();
List list = new ArrayList<>();
RestRequestFacetFieldModel creatorFacetFieldModel = new RestRequestFacetFieldModel("creator");
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchAPATHTest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchAPATHTest.java
index 506c9001c..8076f2cb2 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchAPATHTest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchAPATHTest.java
@@ -29,7 +29,7 @@ import org.alfresco.rest.search.RestRequestQueryModel;
import org.alfresco.rest.search.RestResultBucketsModel;
import org.alfresco.rest.search.SearchRequest;
import org.alfresco.rest.search.SearchResponse;
-import org.alfresco.utility.model.TestGroup;
+import org.alfresco.search.TestGroup;
import org.testng.Assert;
import org.testng.annotations.Test;
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchHighLightTest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchHighLightTest.java
index 8b4e359f9..84a01e095 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchHighLightTest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchHighLightTest.java
@@ -1,18 +1,14 @@
/*
* Copyright (C) 2017 Alfresco Software Limited.
- *
* This file is part of Alfresco
- *
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
- *
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
- *
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
@@ -26,27 +22,27 @@ import org.alfresco.rest.search.RestRequestFieldsModel;
import org.alfresco.rest.search.RestRequestHighlightModel;
import org.alfresco.rest.search.RestRequestQueryModel;
import org.alfresco.rest.search.SearchResponse;
-import org.alfresco.utility.model.TestGroup;
+import org.alfresco.search.TestGroup;
import org.alfresco.utility.report.Bug;
import org.testng.annotations.Test;
/**
* Search high lighting test.
+ *
* @author Michael Suzuki
- *
*/
public class SearchHighLightTest extends AbstractSearchServicesE2ETest
{
- @Test(groups={TestGroup.SEARCH,TestGroup.REST_API})
+ @Test(groups = { TestGroup.SEARCH, TestGroup.REST_API })
@Bug(id = "TAS-3220")
public void searchWithHighLight() throws Exception
- {
+ {
waitForContentIndexing(file2.getContent(), true);
- RestRequestQueryModel queryReq = new RestRequestQueryModel();
+ RestRequestQueryModel queryReq = new RestRequestQueryModel();
queryReq.setQuery("cm:content:cars");
queryReq.setUserQuery("cars");
-
+
RestRequestHighlightModel highlight = new RestRequestHighlightModel();
highlight.setPrefix("¿");
highlight.setPostfix("?");
@@ -54,19 +50,19 @@ public class SearchHighLightTest extends AbstractSearchServicesE2ETest
List fields = new ArrayList<>();
fields.add(new RestRequestFieldsModel("cm:content"));
highlight.setFields(fields);
- SearchResponse nodes = query(queryReq, highlight);
+ SearchResponse nodes = query(queryReq, highlight);
nodes.assertThat().entriesListIsNotEmpty();
ResponseHighLightModel hl = nodes.getEntryByIndex(0).getSearch().getHighlight().get(0);
- hl.assertThat().field("snippets").contains( "The landrover discovery is not a sports ¿car?");
+ hl.assertThat().field("snippets").contains("The landrover discovery is not a sports ¿car?");
}
-
- @Test(groups={TestGroup.SEARCH,TestGroup.REST_API})
+
+ @Test(groups = { TestGroup.SEARCH, TestGroup.REST_API })
public void searchNonIndexedData() throws Exception
- {
- RestRequestQueryModel queryReq = new RestRequestQueryModel();
+ {
+ RestRequestQueryModel queryReq = new RestRequestQueryModel();
queryReq.setQuery("cm:title");
queryReq.setUserQuery("zoro");
-
+
RestRequestHighlightModel highlight = new RestRequestHighlightModel();
highlight.setPrefix("¿");
highlight.setPostfix("?");
@@ -74,7 +70,7 @@ public class SearchHighLightTest extends AbstractSearchServicesE2ETest
List fields = new ArrayList<>();
fields.add(new RestRequestFieldsModel("cm:title"));
highlight.setFields(fields);
- SearchResponse nodes = query(queryReq, highlight);
+ SearchResponse nodes = query(queryReq, highlight);
nodes.assertThat().entriesListDoesNotContain("highlight");
}
}
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchSpellCheckTest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchSpellCheckTest.java
index dc36053b5..827df80cc 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchSpellCheckTest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchSpellCheckTest.java
@@ -24,7 +24,7 @@ import org.alfresco.rest.search.SearchRequest;
import org.alfresco.rest.search.SearchResponse;
import org.alfresco.utility.model.FileModel;
import org.alfresco.utility.model.FileType;
-import org.alfresco.utility.model.TestGroup;
+import org.alfresco.search.TestGroup;
import org.testng.Assert;
import org.testng.annotations.Test;
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchTest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchTest.java
index efd0a4c50..99bb6ca14 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchTest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchTest.java
@@ -40,7 +40,7 @@ import org.alfresco.rest.search.SearchRequest;
import org.alfresco.rest.search.SearchResponse;
import org.alfresco.utility.model.FileModel;
import org.alfresco.utility.model.FileType;
-import org.alfresco.utility.model.TestGroup;
+import org.alfresco.search.TestGroup;
import org.alfresco.utility.testrail.ExecutionType;
import org.alfresco.utility.testrail.annotation.TestRail;
import org.hamcrest.Matchers;
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchWithCustomModelTest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchWithCustomModelTest.java
index 6cc92c8dc..307f08be0 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchWithCustomModelTest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/SearchWithCustomModelTest.java
@@ -18,7 +18,7 @@ import org.alfresco.utility.data.DataSite;
import org.alfresco.utility.model.FileModel;
import org.alfresco.utility.model.FileType;
import org.alfresco.utility.model.FolderModel;
-import org.alfresco.utility.model.TestGroup;
+import org.alfresco.search.TestGroup;
import org.apache.chemistry.opencmis.commons.PropertyIds;
import org.apache.chemistry.opencmis.commons.enums.VersioningState;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/ShardInfoTest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/ShardInfoTest.java
index 7fea95e90..c311f084d 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/ShardInfoTest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/ShardInfoTest.java
@@ -1,23 +1,20 @@
/*
* Copyright (C) 2005-2018 Alfresco Software Limited.
- *
* This file is part of Alfresco
- *
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
- *
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
- *
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
package org.alfresco.test.search.functional.searchServices.search;
+import org.testng.annotations.Test;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
@@ -31,9 +28,8 @@ import org.alfresco.rest.search.RestInstanceModel;
import org.alfresco.rest.search.RestShardInfoModel;
import org.alfresco.rest.search.RestShardInfoModelCollection;
import org.alfresco.rest.search.RestShardModel;
-import org.alfresco.utility.model.TestGroup;
+import org.alfresco.search.TestGroup;
import org.springframework.http.HttpStatus;
-import org.testng.annotations.Test;
/**
* Shard info end point REST API test.
@@ -42,13 +38,15 @@ import org.testng.annotations.Test;
*/
public class ShardInfoTest extends AbstractSearchServicesE2ETest
{
- @Test(groups={TestGroup.SEARCH, TestGroup.REST_API, TestGroup.ACS_60n})
+ /* The test that will be excluded when running master slave setup, excluding the ASS_MASTER test group. */
+ @Test(groups = { TestGroup.SEARCH, TestGroup.REST_API, TestGroup.ACS_60n, TestGroup.ASS_MASTER })
public void getShardInfoWithAdminAuthority() throws JsonProcessingException
{
- RestShardInfoModelCollection info = restClient.authenticateUser(dataUser.getAdminUser()).withShardInfoAPI().getInfo();
+ RestShardInfoModelCollection info = restClient.authenticateUser(dataUser.getAdminUser()).withShardInfoAPI()
+ .getInfo();
restClient.assertStatusCodeIs(HttpStatus.OK);
info.assertThat().entriesListIsNotEmpty();
- assertEquals(info.getPagination().getTotalItems().intValue(), 2);
+ assertEquals(info.getPagination().getTotalItems().intValue(), 2);
List stores = Arrays.asList("workspace://SpacesStore", "archive://SpacesStore");
List baseUrls = Arrays.asList("/solr/alfresco", "/solr/archive");
@@ -83,7 +81,45 @@ public class ShardInfoTest extends AbstractSearchServicesE2ETest
}
}
- @Test(groups={TestGroup.SEARCH, TestGroup.REST_API, TestGroup.ACS_60n})
+ /* The test that will be run when in master slave setup by including the ASS_MASTER_SLAVE test group. */
+ @Test(groups = { TestGroup.SEARCH, TestGroup.REST_API, TestGroup.ACS_60n, TestGroup.ASS_MASTER_SLAVE })
+ public void getShardInfoWithAdminAuthorityMasterSlaveConfig() throws JsonProcessingException
+ {
+ RestShardInfoModelCollection info = restClient.authenticateUser(dataUser.getAdminUser()).withShardInfoAPI()
+ .getInfo();
+ restClient.assertStatusCodeIs(HttpStatus.OK);
+ info.assertThat().entriesListIsNotEmpty();
+ assertEquals(info.getPagination().getTotalItems().intValue(), 2);
+
+ List stores = Arrays.asList("workspace://SpacesStore", "archive://SpacesStore");
+ List baseUrls = Arrays.asList("/solr/alfresco", "/solr/archive");
+
+ List entries = info.getEntries();
+ for (RestShardInfoModel shardInfoModel : entries)
+ {
+ RestShardInfoModel model = shardInfoModel.getModel();
+ assertEquals(model.getTemplate(), "rerank");
+ assertEquals(model.getShardMethod(), "DB_ID");
+ assertTrue(model.getHasContent());
+
+ assertTrue(stores.contains(model.getStores()));
+
+ List shards = model.getShards();
+ assertNotNull(shards);
+ RestShardModel shard = shards.iterator().next();
+ assertNotNull(shard);
+ List instances = shard.getInstances();
+ assertNotNull(instances);
+ RestInstanceModel instance = instances.iterator().next();
+ assertNotNull(instance);
+
+ assertTrue(baseUrls.contains(instance.getBaseUrl()));
+
+ assertEquals(instance.getState(), "ACTIVE");
+ }
+ }
+
+ @Test(groups = { TestGroup.SEARCH, TestGroup.REST_API, TestGroup.ACS_60n })
public void getShardInfoWithoutAdminAuthority() throws Exception
{
restClient.authenticateUser(dataUser.createRandomTestUser()).withShardInfoAPI().getInfo();
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/StatsSearchTest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/StatsSearchTest.java
index 2f0ce2a24..e86e9767d 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/StatsSearchTest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/StatsSearchTest.java
@@ -43,7 +43,7 @@ import org.alfresco.rest.search.RestRequestQueryModel;
import org.alfresco.rest.search.RestRequestStatsModel;
import org.alfresco.rest.search.SearchRequest;
import org.alfresco.rest.search.SearchResponse;
-import org.alfresco.utility.model.TestGroup;
+import org.alfresco.search.TestGroup;
import org.alfresco.utility.testrail.ExecutionType;
import org.alfresco.utility.testrail.annotation.TestRail;
import org.springframework.http.HttpStatus;
@@ -69,7 +69,7 @@ public class StatsSearchTest extends AbstractSearchServicesE2ETest
description = "Checks errors with stats using Search api")
public void searchWithBasicStats()
{
- SearchRequest query = carsQuery();
+ SearchRequest query = createQuery("cars");
Pagination pagination = new Pagination();
pagination.setMaxItems(2);
List statsModels = new ArrayList<>();
@@ -153,7 +153,7 @@ public class StatsSearchTest extends AbstractSearchServicesE2ETest
description = "Checks errors with stats labels using Search api")
public void searchWithStatsLabel()
{
- SearchRequest query = carsQuery();
+ SearchRequest query = createQuery("cars");
Pagination pagination = new Pagination();
pagination.setMaxItems(2);
List statsModels = new ArrayList<>();
@@ -208,7 +208,7 @@ public class StatsSearchTest extends AbstractSearchServicesE2ETest
description = "Checks errors with stats with Pivot using Search api")
public void searchWithStatsAndMutlilevelPivot()
{
- SearchRequest query = carsQuery();
+ SearchRequest query = createQuery("cars");
Pagination pagination = new Pagination();
pagination.setMaxItems(1);
@@ -271,7 +271,7 @@ public class StatsSearchTest extends AbstractSearchServicesE2ETest
description = "Checks errors with stats with Pivot using Search api")
public void searchWithStatsAndPivot()
{
- SearchRequest query = carsQuery();
+ SearchRequest query = createQuery("cars");
Pagination pagination = new Pagination();
pagination.setMaxItems(2);
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/rm/SearchServicesRME2ETest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/rm/SearchServicesRME2ETest.java
index 20043b7d3..ef83d2bfe 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/rm/SearchServicesRME2ETest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/rm/SearchServicesRME2ETest.java
@@ -9,7 +9,7 @@ package org.alfresco.test.search.functional.searchServices.search.rm;
import org.alfresco.rest.search.RestRequestQueryModel;
import org.alfresco.rest.search.SearchResponse;
-import org.alfresco.utility.model.TestGroup;
+import org.alfresco.search.TestGroup;
import org.springframework.http.HttpStatus;
import org.testng.Assert;
import org.testng.annotations.Test;
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/tracker/CascadingTrackerIntegrationTest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/tracker/CascadingTrackerIntegrationTest.java
index c91a8a3d2..728ac5a1c 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/tracker/CascadingTrackerIntegrationTest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/search/tracker/CascadingTrackerIntegrationTest.java
@@ -15,7 +15,7 @@ import org.alfresco.utility.model.ContentModel;
import org.alfresco.utility.model.FileModel;
import org.alfresco.utility.model.FileType;
import org.alfresco.utility.model.FolderModel;
-import org.alfresco.utility.model.TestGroup;
+import org.alfresco.search.TestGroup;
import org.apache.chemistry.opencmis.commons.PropertyIds;
import org.apache.chemistry.opencmis.commons.enums.VersioningState;
import org.springframework.beans.factory.annotation.Autowired;
@@ -63,7 +63,7 @@ public class CascadingTrackerIntegrationTest extends AbstractE2EFunctionalTest
// Find nodes where Path with new folder name matches
String parentQueryAfterRename = "NPATH:\"4/Company Home/Sites/" + testSite.getTitle() + "/documentLibrary/" + parentNewName + "\"";
- boolean indexingInProgress = !waitForContent(parentQueryAfterRename, childFile.getName(), true);
+ boolean indexingInProgress = !isContentInSearchResults(parentQueryAfterRename, childFile.getName(), true);
// Query using new parent name: Expect parent folder and child file
int descendantCountOfNewName = query(parentQueryAfterRename).getPagination().getCount();
@@ -107,7 +107,7 @@ public class CascadingTrackerIntegrationTest extends AbstractE2EFunctionalTest
// Find nodes where Path with new folder name matches
String parentQueryAfterRename = "NPATH:\"4/Company Home/Sites/" + testSite.getTitle() + "/documentLibrary/" + grandParentNewName + "\"";
- boolean indexingInProgress = !waitForContent(parentQueryAfterRename, grandChildFile.getName(), true);
+ boolean indexingInProgress = !isContentInSearchResults(parentQueryAfterRename, grandChildFile.getName(), true);
// Query using new parent name: Expect grand parent, child folder, grand child file
int descendantCountOfNewName = query(parentQueryAfterRename).getPagination().getCount();
diff --git a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/solr/SearchSolrAPITest.java b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/solr/SearchSolrAPITest.java
index 945467bbb..f31441799 100644
--- a/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/solr/SearchSolrAPITest.java
+++ b/e2e-test/src/test/java/org/alfresco/test/search/functional/searchServices/solr/SearchSolrAPITest.java
@@ -21,7 +21,7 @@ import javax.json.JsonArrayBuilder;
import org.alfresco.rest.core.JsonBodyGenerator;
import org.alfresco.rest.model.RestTextResponse;
import org.alfresco.test.search.functional.searchServices.search.AbstractSearchServicesE2ETest;
-import org.alfresco.utility.model.TestGroup;
+import org.alfresco.search.TestGroup;
import org.hamcrest.Matchers;
import org.springframework.http.HttpStatus;
import org.testng.Assert;
diff --git a/e2e-test/src/test/resources/log4j.properties b/e2e-test/src/test/resources/log4j.properties
index 268d957c0..7ca620841 100644
--- a/e2e-test/src/test/resources/log4j.properties
+++ b/e2e-test/src/test/resources/log4j.properties
@@ -13,7 +13,6 @@ log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %m%n
-log4j.appender.stdout.layout.ConversionPattern=[%t] %d{HH:mm:ss} %-5p %c{1}:%L - %m%n
# TestRail particular log file
# Direct log messages to a log file