ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
VirusScannerPreProcessorTest.php
Go to the documentation of this file.
1 <?php
2 
3 require_once('./libs/composer/vendor/autoload.php');
4 
9 
20 class VirusScannerPreProcessorTest extends TestCase
21 {
23 
24 
25  public function testVirusDetected()
26  {
27  $stream = Streams::ofString('Awesome stuff');
28  $mock = $this->getMockBuilder(\ilVirusScanner::class)
29  ->disableOriginalConstructor()
30  ->getMock();
31  $mock->expects($this->once())->method('scanFile')->with($stream->getMetadata('uri'))->willReturn("Virus found!!!");
32 
33  $subject = new ilVirusScannerPreProcessor($mock);
34  $result = $subject->process($stream, new Metadata("MyVirus.exe", $stream->getSize(), 'application/vnd.microsoft.portable-executable'));
35  $this->assertSame(ProcessingStatus::DENIED, $result->getCode());
36  $this->assertSame('Virus detected.', $result->getMessage());
37  }
38 
39 
40  public function testNoVirusDetected()
41  {
42  $stream = Streams::ofString('Awesome stuff');
43 
44  $mock = $this->getMockBuilder(\ilVirusScanner::class)
45  ->disableOriginalConstructor()
46  ->getMock();
47  $mock->expects($this->once())->method('scanFile')->with($stream->getMetadata('uri'))->willReturn("");
48 
49  $subject = new ilVirusScannerPreProcessor($mock);
50  $result = $subject->process($stream, new Metadata("MyVirus.exe", $stream->getSize(), 'application/vnd.microsoft.portable-executable'));
51  $this->assertSame(ProcessingStatus::OK, $result->getCode());
52  }
53 }
Class VirusScannerPreProcessorTest.