Fix test group. Added test for non text properties.

This commit is contained in:
Elia Porciani
2018-11-21 09:59:13 +01:00
parent 678b46aaa2
commit 3330c1fb1a
@@ -41,6 +41,9 @@ public class CustoModelGroupByFacetableTest extends AbstractSearchServiceE2E
String fileName = "file1";
String fileContent = "file content 1";
String author = "Mario Rossi";
Boolean exists = true;
int quantity = 10;
FileModel customFile = new FileModel(fileName, FileType.TEXT_PLAIN, fileContent);
Map<String, Object> properties = new HashMap<String, Object>();
@@ -53,11 +56,17 @@ public class CustoModelGroupByFacetableTest extends AbstractSearchServiceE2E
cmisApi.authenticateUser(testUser).usingResource(customFile).addSecondaryTypes("P:csm:author").assertThat()
.secondaryTypeIsAvailable("P:csm:author");
cmisApi.authenticateUser(testUser).usingResource(customFile).addSecondaryTypes("P:csm:nontexttypes").assertThat()
.secondaryTypeIsAvailable("P:csm:nontexttypes");
cmisApi.authenticateUser(testUser).usingResource(customFile).updateProperty("csm:author", author);
cmisApi.authenticateUser(testUser).usingResource(customFile).updateProperty("csm:quantity", quantity);
cmisApi.authenticateUser(testUser).usingResource(customFile).updateProperty("csm:exists", exists);
fileName = "file2";
fileContent = "content file 2";
author = "Giuseppe Verdi";
quantity = 12;
FileModel customFile2 = new FileModel(fileName, FileType.TEXT_PLAIN, fileContent);
properties = new HashMap<String, Object>();
@@ -69,11 +78,16 @@ public class CustoModelGroupByFacetableTest extends AbstractSearchServiceE2E
cmisApi.authenticateUser(testUser).usingResource(customFile2).addSecondaryTypes("P:csm:author").assertThat()
.secondaryTypeIsAvailable("P:csm:author");
cmisApi.authenticateUser(testUser).usingResource(customFile2).addSecondaryTypes("P:csm:nontexttypes").assertThat()
.secondaryTypeIsAvailable("P:csm:nontexttypes");
cmisApi.authenticateUser(testUser).usingResource(customFile2).updateProperty("csm:author", author);
cmisApi.authenticateUser(testUser).usingResource(customFile2).updateProperty("csm:quantity", quantity);
cmisApi.authenticateUser(testUser).usingResource(customFile2).updateProperty("csm:exists", exists);
fileName = "file3";
fileContent = "content file 3";
author = "Giuseppe Verdi";
quantity = 12;
FileModel customFile3 = new FileModel(fileName, FileType.TEXT_PLAIN, fileContent);
properties = new HashMap<String, Object>();
@@ -85,15 +99,37 @@ public class CustoModelGroupByFacetableTest extends AbstractSearchServiceE2E
cmisApi.authenticateUser(testUser).usingResource(customFile3).addSecondaryTypes("P:csm:author").assertThat()
.secondaryTypeIsAvailable("P:csm:author");
cmisApi.authenticateUser(testUser).usingResource(customFile3).addSecondaryTypes("P:csm:nontexttypes").assertThat()
.secondaryTypeIsAvailable("P:csm:nontexttypes");
cmisApi.authenticateUser(testUser).usingResource(customFile3).updateProperty("csm:author", author);
cmisApi.authenticateUser(testUser).usingResource(customFile3).updateProperty("csm:quantity", quantity);
cmisApi.authenticateUser(testUser).usingResource(customFile3).updateProperty("csm:exists", exists);
fileName = "file4";
fileContent = "content file 4";
exists = false;
quantity = 9;
FileModel customFile4 = new FileModel(fileName, FileType.TEXT_PLAIN, fileContent);
properties = new HashMap<String, Object>();
properties.put(PropertyIds.OBJECT_TYPE_ID, "cmis:document");
properties.put(PropertyIds.NAME, customFile4.getName());
cmisApi.authenticateUser(testUser).usingSite(testSite).usingResource(testFolder).createFile(customFile4, properties, VersioningState.MAJOR)
.assertThat().existsInRepo();
cmisApi.authenticateUser(testUser).usingResource(customFile4).addSecondaryTypes("P:csm:nontexttypes").assertThat()
.secondaryTypeIsAvailable("P:csm:nontexttypes");
cmisApi.authenticateUser(testUser).usingResource(customFile4).updateProperty("csm:quantity", quantity);
cmisApi.authenticateUser(testUser).usingResource(customFile4).updateProperty("csm:exists", exists);
// wait for indexing
waitForIndexing("cm:name:'" + customFile3.getName() + "'", true);
waitForIndexing("cm:name:'" + customFile4.getName() + "'", true);
waitForIndexing("cm:name:'" + testFolder.getName() + "'", true);
}
@Test(priority = 1, groups = { TestGroup.INSIGHT_10 }) public void testGroupByFacetableModel() throws Exception
@Test(priority = 1, groups = { TestGroup.INSIGHT_11 }) public void testGroupByTextFacetableModel() throws Exception
{
SearchSqlRequest sqlRequest = new SearchSqlRequest();
sqlRequest.setSql("select cm_name, csm_author from alfresco group by cm_name, csm_author");
@@ -112,16 +148,14 @@ public class CustoModelGroupByFacetableTest extends AbstractSearchServiceE2E
restClient.onResponse().assertThat().body("list.entries.entry[1][1].value", Matchers.equalToIgnoringCase("Giuseppe Verdi"));
restClient.onResponse().assertThat().body("list.entries.entry[2][1].value", Matchers.equalToIgnoringCase("Giuseppe Verdi"));
}
@Test(priority = 1, groups = { TestGroup.INSIGHT_10 }) public void testGroupByFacetableModelInverted() throws Exception
{
SearchSqlRequest sqlRequest = new SearchSqlRequest();
// Test changing the order of fields.
sqlRequest.setSql("select csm_author, cm_name from alfresco group by csm_author, cm_name");
RestResponse response = restClient.authenticateUser(testUser).withSearchSqlAPI().searchSql(sqlRequest);
response = restClient.authenticateUser(testUser).withSearchSqlAPI().searchSql(sqlRequest);
restClient.assertStatusCodeIs(HttpStatus.OK);
restClient.onResponse().assertThat().body("list.pagination.count", Matchers.equalTo(3));
restClient.onResponse().assertThat().body("list.entries.entry[0][0].label", Matchers.equalToIgnoringCase("cm_name"));
restClient.onResponse().assertThat().body("list.entries.entry[0][1].label", Matchers.equalToIgnoringCase("csm_author"));
@@ -132,5 +166,45 @@ public class CustoModelGroupByFacetableTest extends AbstractSearchServiceE2E
restClient.onResponse().assertThat().body("list.entries.entry[0][1].value", Matchers.equalToIgnoringCase("Giuseppe Verdi"));
restClient.onResponse().assertThat().body("list.entries.entry[1][1].value", Matchers.equalToIgnoringCase("Giuseppe Verdi"));
restClient.onResponse().assertThat().body("list.entries.entry[2][1].value", Matchers.equalToIgnoringCase("Mario Rossi"));
}
@Test(priority = 1, groups = { TestGroup.INSIGHT_11 }) public void testGroupByTextInteger() throws Exception
{
SearchSqlRequest sqlRequest = new SearchSqlRequest();
sqlRequest.setSql("select csm_quantity, csm_author from alfresco group by csm_quantity, csm_author");
RestResponse response = restClient.authenticateUser(testUser).withSearchSqlAPI().searchSql(sqlRequest);
restClient.assertStatusCodeIs(HttpStatus.OK);
restClient.onResponse().assertThat().body("list.pagination.count", Matchers.equalTo(2));
restClient.onResponse().assertThat().body("list.entries.entry[0][0].label", Matchers.equalToIgnoringCase("csm_author"));
restClient.onResponse().assertThat().body("list.entries.entry[0][1].label", Matchers.equalToIgnoringCase("csm_quantity"));
restClient.onResponse().assertThat().body("list.entries.entry[0][0].value", Matchers.equalToIgnoringCase("Mario Rossi"));
restClient.onResponse().assertThat().body("list.entries.entry[0][1].value", Matchers.equalToIgnoringCase("10"));
restClient.onResponse().assertThat().body("list.entries.entry[1][0].value", Matchers.equalToIgnoringCase("Giuseppe Verdi"));
restClient.onResponse().assertThat().body("list.entries.entry[1][1].value", Matchers.equalToIgnoringCase("12"));
}
@Test(priority = 1, groups = { TestGroup.INSIGHT_11 }) public void testGroupByBoolAggregation() throws Exception
{
SearchSqlRequest sqlRequest = new SearchSqlRequest();
sqlRequest.setSql("select csm_exists, max(csm_quantity) from alfresco group by csm_exists");
RestResponse response = restClient.authenticateUser(testUser).withSearchSqlAPI().searchSql(sqlRequest);
restClient.assertStatusCodeIs(HttpStatus.OK);
restClient.onResponse().assertThat().body("list.pagination.count", Matchers.equalTo(2));
restClient.onResponse().assertThat().body("list.entries.entry[0][0].value", Matchers.equalToIgnoringCase("false"));
restClient.onResponse().assertThat().body("list.entries.entry[1][0].value", Matchers.equalToIgnoringCase("true"));
restClient.onResponse().assertThat().body("list.entries.entry[0][1].value", Matchers.equalToIgnoringCase("9"));
restClient.onResponse().assertThat().body("list.entries.entry[1][1].value", Matchers.equalToIgnoringCase("12"));
}
}