/**
  * Test create \Magento\Cms\Api\Data\PageInterface
  */
 public function testCreate()
 {
     $pageTitle = 'Page title';
     $pageIdentifier = 'page-title' . uniqid();
     /** @var  \Magento\Cms\Api\Data\PageInterface $pageDataObject */
     $pageDataObject = $this->pageFactory->create();
     $pageDataObject->setTitle($pageTitle)->setIdentifier($pageIdentifier);
     $serviceInfo = ['rest' => ['resourcePath' => self::RESOURCE_PATH, 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_POST], 'soap' => ['service' => self::SERVICE_NAME, 'serviceVersion' => self::SERVICE_VERSION, 'operation' => self::SERVICE_NAME . 'Save']];
     $requestData = ['page' => [PageInterface::IDENTIFIER => $pageDataObject->getIdentifier(), PageInterface::TITLE => $pageDataObject->getTitle()]];
     $page = $this->_webApiCall($serviceInfo, $requestData);
     $this->assertNotNull($page['id']);
     $this->currentPage = $this->pageRepository->getById($page['id']);
     $this->assertEquals($this->currentPage->getTitle(), $pageTitle);
     $this->assertEquals($this->currentPage->getIdentifier(), $pageIdentifier);
 }
 /**
  * Generate CMS page url key based on url_key entered by merchant or page title
  *
  * @param PageInterface $cmsPage
  * @return string
  * @api
  */
 public function generateUrlKey(PageInterface $cmsPage)
 {
     $urlKey = $cmsPage->getIdentifier();
     return $this->filterManager->translitUrl($urlKey === '' || $urlKey === null ? $cmsPage->getTitle() : $urlKey);
 }