ImageControllerTest.php (1680B)
1 <?php 2 3 namespace PartKeepr\ImageBundle\Tests; 4 5 use PartKeepr\CoreBundle\Tests\WebTestCase; 6 use Symfony\Component\HttpFoundation\File\UploadedFile; 7 8 class ImageControllerTest extends WebTestCase 9 { 10 public function testGetImage() 11 { 12 $client = static::makeClient(true); 13 14 $file = __DIR__.'/Fixtures/files/uploadtest.png'; 15 $originalFilename = 'uploadtest.png'; 16 $mimeType = 'image/png'; 17 18 $image = new UploadedFile( 19 $file, 20 $originalFilename, 21 $mimeType, 22 filesize($file) 23 ); 24 25 $client->request( 26 'POST', 27 '/api/temp_images/upload', 28 [], 29 ['userfile' => $image] 30 ); 31 32 $response = json_decode($client->getResponse()->getContent()); 33 34 $property = '@id'; 35 $imageId = $response->image->$property; 36 $uri = $imageId.'/getImage'; 37 38 $client->request( 39 'GET', 40 $uri 41 ); 42 43 $this->assertEquals('image/png', $client->getResponse()->headers->get('Content-Type')); 44 45 $imageSize = getimagesizefromstring($client->getResponse()->getContent()); 46 47 $this->assertEquals(51, $imageSize[0]); 48 $this->assertEquals(23, $imageSize[1]); 49 50 $iriConverter = $this->getContainer()->get('api.iri_converter'); 51 52 $image = $iriConverter->getItemFromIri($imageId); 53 54 /* 55 * @var $image TempImage 56 */ 57 58 $this->getContainer()->get('partkeepr_image_service')->delete($image); 59 60 $client->request( 61 'GET', 62 $uri 63 ); 64 65 $this->assertEquals(404, $client->getResponse()->getStatusCode()); 66 } 67 }