![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-adobe-stock-image/Test/Api/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\AdobeStockImage\Test\Api; use Magento\Framework\Api\FilterBuilder; use Magento\Framework\Api\Search\FilterGroupBuilder; use Magento\Framework\Api\Search\SearchCriteriaBuilder; use Magento\Framework\Api\SortOrder; use Magento\Framework\Api\SortOrderBuilder; use Magento\Framework\Webapi\Rest\Request; use Magento\TestFramework\Helper\Bootstrap; use Magento\TestFramework\TestCase\WebapiAbstract; /** * Test searching for Adobe Stock Images */ class SearchExecuteTest extends WebapiAbstract { private const RESOURCE_PATH = '/V1/adobestock/search'; private const SERVICE_NAME = 'adobeStockImageApiGetImageListV1'; /** * @inheridoc */ protected function setUp(): void { $this->markTestSkipped("The test requires adobe stock credentials and cannot be currently executed on CICD"); } /** * Test search WEB API method. * * @return void */ public function testSearchExecute(): void { /** @var SearchCriteriaBuilder $searchCriteriaBuilder */ $searchCriteriaBuilder = Bootstrap::getObjectManager()->create(SearchCriteriaBuilder::class); $searchCriteriaBuilder->setPageSize(2); $searchCriteriaBuilder->setCurrentPage(1); /** @var FilterBuilder $filterBuilder */ $filterBuilder = Bootstrap::getObjectManager()->create(FilterBuilder::class); /** @var FilterGroupBuilder $filterGroupBuilder */ $filterGroupBuilder = Bootstrap::getObjectManager()->create(FilterGroupBuilder::class); $filterGroup = $filterGroupBuilder->addFilter( $filterBuilder->setField('orientation_filter') ->setValue('PANORAMIC') ->create() )->create(); /** @var SortOrderBuilder $sortOrderBuilder */ $sortOrderBuilder = Bootstrap::getObjectManager()->create(SortOrderBuilder::class); $sortOrder = $sortOrderBuilder->setField('id') ->setDirection(SortOrder::SORT_DESC) ->create(); $searchCriteria = $searchCriteriaBuilder->create(); $searchCriteria->setSortOrders([$sortOrder]); $searchCriteria->setRequestName('adobe_stock_images_listing_data_source'); $searchCriteria->setFilterGroups([$filterGroup]); $requestData = ['searchCriteria' => $searchCriteria->__toArray()]; $serviceInfo = [ 'rest' => [ 'resourcePath' => self::RESOURCE_PATH . '?' . http_build_query($requestData), 'httpMethod' => Request::HTTP_METHOD_GET, ], 'soap' => [ 'service' => self::SERVICE_NAME, 'operation' => self::SERVICE_NAME . 'Execute', ], ]; $response = $this->_webApiCall($serviceInfo, $requestData); $this->assertArrayHasKey('search_criteria', $response); $this->assertArrayHasKey('total_count', $response); $this->assertArrayHasKey('items', $response); $this->assertGreaterThan(0, $response['total_count']); $this->assertGreaterThan(0, count($response['items'])); $this->assertNotNull($response['items'][0]['id']); } }