![]() 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/framework/Api/Test/Unit/Api/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Framework\Api\Test\Unit\Api; use Magento\Framework\Api\Data\ImageContentInterface; use Magento\Framework\Api\ImageContentValidator; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; use PHPUnit\Framework\TestCase; /** * Unit test class for \Magento\Framework\Api\ImageContentValidator */ class ImageContentValidatorTest extends TestCase { /** * @var ImageContentValidator */ protected $imageContentValidator; /** * @var ObjectManager */ protected $objectManager; protected function setUp(): void { $this->objectManager = new ObjectManager($this); $this->imageContentValidator = $this->objectManager->getObject( ImageContentValidator::class ); } public function testIsValidEmptyContent() { $this->expectException('Magento\Framework\Exception\InputException'); $this->expectExceptionMessage('The image content must be valid base64 encoded data.'); $imageContent = $this->getMockBuilder(ImageContentInterface::class) ->disableOriginalConstructor() ->getMockForAbstractClass(); $imageContent->expects($this->any()) ->method('getBase64EncodedData') ->willReturn(''); $this->imageContentValidator->isValid($imageContent); } public function testIsValidEmptyProperties() { $this->expectException('Magento\Framework\Exception\InputException'); $this->expectExceptionMessage('The image content must be valid base64 encoded data.'); $imageContent = $this->getMockBuilder(ImageContentInterface::class) ->disableOriginalConstructor() ->getMockForAbstractClass(); $imageContent->expects($this->any()) ->method('getBase64EncodedData') ->willReturn('testImageData'); $this->imageContentValidator->isValid($imageContent); } public function testIsValidInvalidMIMEType() { $this->expectException('Magento\Framework\Exception\InputException'); $this->expectExceptionMessage('The image MIME type is not valid or not supported.'); $pathToImageFile = __DIR__ . '/_files/image.jpg'; $encodedData = @base64_encode(file_get_contents($pathToImageFile)); $imageContent = $this->getMockBuilder(ImageContentInterface::class) ->disableOriginalConstructor() ->getMockForAbstractClass(); $imageContent->expects($this->any()) ->method('getBase64EncodedData') ->willReturn($encodedData); $imageContent->expects($this->any()) ->method('getType') ->willReturn('invalidType'); $this->imageContentValidator->isValid($imageContent); } public function testIsValidInvalidName() { $this->expectException('Magento\Framework\Exception\InputException'); $this->expectExceptionMessage('Provided image name contains forbidden characters.'); $pathToImageFile = __DIR__ . '/_files/image.jpg'; $encodedData = @base64_encode(file_get_contents($pathToImageFile)); $imageContent = $this->getMockBuilder(ImageContentInterface::class) ->disableOriginalConstructor() ->getMockForAbstractClass(); $imageContent->expects($this->any()) ->method('getBase64EncodedData') ->willReturn($encodedData); $imageContent->expects($this->any()) ->method('getName') ->willReturn('invalid:Name'); $imageContent->expects($this->any()) ->method('getType') ->willReturn('image/jpeg'); $this->imageContentValidator->isValid($imageContent); } public function testIsValid() { $pathToImageFile = __DIR__ . '/_files/image.jpg'; $encodedData = @base64_encode(file_get_contents($pathToImageFile)); $imageContent = $this->getMockBuilder(ImageContentInterface::class) ->disableOriginalConstructor() ->getMockForAbstractClass(); $imageContent->expects($this->any()) ->method('getBase64EncodedData') ->willReturn($encodedData); $imageContent->expects($this->any()) ->method('getName') ->willReturn('validName'); $imageContent->expects($this->any()) ->method('getType') ->willReturn('image/jpeg'); $this->assertTrue($this->imageContentValidator->isValid($imageContent)); } }