From c9a46e1a8a69b21da681bf8453e6688707670681 Mon Sep 17 00:00:00 2001 From: bsayan2 Date: Fri, 4 Jul 2025 16:00:10 +0530 Subject: [PATCH] ACS-9788 test case to verify node content search (#3443) --- .../alfresco/rest/search/NodeContentTest.java | 95 ++++++++++++++++++ .../shared-resources/testdata/nodecontent.pdf | Bin 0 -> 17526 bytes .../resources/test-suites/part2-suite.xml | 1 + .../resources/publicapi/upload/babekyrtso.pdf | Bin 0 -> 17526 bytes 4 files changed, 96 insertions(+) create mode 100644 packaging/tests/tas-restapi/src/test/java/org/alfresco/rest/search/NodeContentTest.java create mode 100644 packaging/tests/tas-restapi/src/test/resources/shared-resources/testdata/nodecontent.pdf create mode 100644 remote-api/src/test/resources/publicapi/upload/babekyrtso.pdf diff --git a/packaging/tests/tas-restapi/src/test/java/org/alfresco/rest/search/NodeContentTest.java b/packaging/tests/tas-restapi/src/test/java/org/alfresco/rest/search/NodeContentTest.java new file mode 100644 index 0000000000..d57dbe36da --- /dev/null +++ b/packaging/tests/tas-restapi/src/test/java/org/alfresco/rest/search/NodeContentTest.java @@ -0,0 +1,95 @@ +/* + * #%L + * Alfresco Repository + * %% + * Copyright (C) 2025 - 2025 Alfresco Software Limited + * %% + * This file is part of the Alfresco software. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * 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 + * 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 . + * #L% + */ + +package org.alfresco.rest.search; + +import static org.testng.Assert.*; + +import java.util.List; + +import org.apache.commons.collections.CollectionUtils; +import org.springframework.http.HttpStatus; +import org.testng.annotations.Test; + +import org.alfresco.rest.RestTest; +import org.alfresco.rest.model.RestNodeModel; +import org.alfresco.utility.RetryOperation; +import org.alfresco.utility.Utility; +import org.alfresco.utility.model.ContentModel; +import org.alfresco.utility.model.FileModel; +import org.alfresco.utility.model.TestGroup; +import org.alfresco.utility.model.UserModel; +import org.alfresco.utility.testrail.ExecutionType; +import org.alfresco.utility.testrail.annotation.TestRail; + +public class NodeContentTest extends RestTest +{ + + @TestRail(section = {TestGroup.REST_API, + TestGroup.SEARCH}, executionType = ExecutionType.SANITY, description = "Check basic functionality of GET queries/sites") + @Test(groups = {TestGroup.REST_API, TestGroup.RATINGS, TestGroup.CORE}) + public void testNodeContent() throws Exception + { + + UserModel adminUser = dataContent.getAdminUser(); + final String fileName = "nodecontent.pdf"; + final String term = "babekyrtso"; + + FileModel fileModel = FileModel.getFileModelBasedOnTestDataFile(fileName); + restClient.authenticateUser(adminUser) + .configureRequestSpec() + .addMultiPart("filedata", fileModel.toFile()); + RestNodeModel node = restClient.authenticateUser(adminUser).withCoreAPI().usingNode(ContentModel.my()).createNode(); + restClient.assertStatusCodeIs(HttpStatus.CREATED); + + SearchRequest query = new SearchRequest(); + RestRequestQueryModel queryModel = new RestRequestQueryModel(); + queryModel.setLanguage("afts"); + queryModel.setQuery(term); + query.setQuery(queryModel); + + RetryOperation op = () -> { + List entries = restClient.authenticateUser(adminUser) + .withSearchAPI() + .search(query).getEntries(); + + assertFalse(CollectionUtils.isEmpty(entries), "Search results should not be empty"); + boolean fileFound = entries.stream() + .map(SearchNodeModel::getModel) + .anyMatch(e -> fileName.equals(e.getName())); + assertTrue(fileFound, "Search results should contain the file: " + fileName); + + restClient.assertStatusCodeIs(HttpStatus.OK); + }; + Utility.sleep(300, 100000, op); + + restClient.authenticateUser(adminUser) + .withCoreAPI() + .usingNode(ContentModel.my()) + .deleteNode(node); + restClient.assertStatusCodeIs(HttpStatus.NO_CONTENT); + } +} diff --git a/packaging/tests/tas-restapi/src/test/resources/shared-resources/testdata/nodecontent.pdf b/packaging/tests/tas-restapi/src/test/resources/shared-resources/testdata/nodecontent.pdf new file mode 100644 index 0000000000000000000000000000000000000000..91ffd49a02c88bdaed9368ed6d6d686510aa81ab GIT binary patch literal 17526 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 + diff --git a/remote-api/src/test/resources/publicapi/upload/babekyrtso.pdf b/remote-api/src/test/resources/publicapi/upload/babekyrtso.pdf new file mode 100644 index 0000000000000000000000000000000000000000..91ffd49a02c88bdaed9368ed6d6d686510aa81ab GIT binary patch literal 17526 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