ILIAS  release_8 Revision v8.24
BlacklistFileHeaderPreProcessorTest.php
Go to the documentation of this file.
1<?php
2
4
5require_once('./libs/composer/vendor/autoload.php');
6
10use PHPUnit\Framework\TestCase;
11
23{
29 {
30 $fileHeaderBlacklist = hex2bin('FFD8FF'); //jpg header start
31 $fileHeaderStart = hex2bin('FFD8FB'); //jpg header start
32 $trailer = hex2bin('FFD9'); //jpg trailer
33 $subject = new BlacklistFileHeaderPreProcessor($fileHeaderBlacklist);
34 $stream = Streams::ofString("$fileHeaderStart bla bla bla $trailer");
35 $stream->rewind();
36
37 $result = $subject->process($stream, new Metadata('hello.jpg', $stream->getSize(), 'image/jpg'));
38
39 $this->assertSame(ProcessingStatus::OK, $result->getCode());
40 $this->assertSame('File header does not match blacklist.', $result->getMessage());
41 }
42
48 {
49 $fileHeaderStart = hex2bin('FFD8FF'); //jpg header start
50 $trailer = hex2bin('FFD9'); //jpg trailer
51 $subject = new BlacklistFileHeaderPreProcessor($fileHeaderStart);
52 $stream = Streams::ofString("$fileHeaderStart bla bla bla $trailer");
53 $stream->rewind();
54
55 $result = $subject->process($stream, new Metadata('hello.jpg', $stream->getSize(), 'image/jpg'));
56
57 $this->assertSame(ProcessingStatus::REJECTED, $result->getCode());
58 $this->assertSame('File header matches blacklist.', $result->getMessage());
59 }
60}
const REJECTED
Upload got rejected by a processor.
static ofString(string $string)
Creates a new stream with an initial value.
Definition: Streams.php:43
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...