ILIAS  trunk Revision v11.0_alpha-2662-g519ff7d528f
VirusScannerFactoryTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
21 namespace ILIAS\VirusScanner\tests;
22 
23 use ILIAS;
24 use ilLanguage;
26 use ilLoggerFactory;
27 use ilErrorHandling;
31 use ilLogger;
33 
34 require_once __DIR__ . '/bootstrap.php';
35 
36 #[\PHPUnit\Framework\Attributes\PreserveGlobalState(false)]
37 #[\PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses]
39 {
40  public static ilLogger $logger;
41 
42  protected function setUp(): void
43  {
44  parent::setUp();
45 
46  if (!defined('IL_VIRUS_SCAN_COMMAND')) {
47  define('IL_VIRUS_SCAN_COMMAND', 'phpunitscan');
48  }
49 
50  if (!defined('IL_VIRUS_CLEAN_COMMAND')) {
51  define('IL_VIRUS_CLEAN_COMMAND', 'phpunitclean');
52  }
53 
54  $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
55  self::$logger = $logger;
56 
57  $logger_factory = new class () extends ilLoggerFactory {
58  public function __construct()
59  {
60  }
61 
62  public static function getRootLogger(): ilLogger
63  {
65  }
66 
67  public function getComponentLogger(string $a_component_id): ilLogger
68  {
70  }
71  };
72 
73  $this->setGlobalVariable('ilias', $this->getMockBuilder(ILIAS::class)->disableOriginalConstructor()->getMock());
74  $this->setGlobalVariable(
75  'lng',
76  $this->getMockBuilder(ilLanguage::class)->disableOriginalConstructor()->getMock()
77  );
78 
79  $this->setGlobalVariable('ilLoggerFactory', $logger_factory);
80 
81  $this->setGlobalVariable(
82  'ilErr',
83  $this->getMockBuilder(ilErrorHandling::class)->disableOriginalConstructor()->getMock()
84  );
85  }
86 
88  {
89  define('IL_VIRUS_SCANNER', 'Sophos');
90 
91  self::assertInstanceOf(ilVirusScannerSophos::class, ilVirusScannerFactory::_getInstance());
92  }
93 
95  {
96  define('IL_VIRUS_SCANNER', 'AntiVir');
97 
98  self::assertInstanceOf(ilVirusScannerAntiVir::class, ilVirusScannerFactory::_getInstance());
99  }
100 
102  {
103  define('IL_VIRUS_SCANNER', 'ClamAV');
104 
105  self::assertInstanceOf(ilVirusScannerClamAV::class, ilVirusScannerFactory::_getInstance());
106  }
107 
109  {
110  define('IL_VIRUS_SCANNER', 'icap');
111  define('IL_ICAP_CLIENT', 'phpunit');
112 
113  self::assertInstanceOf(ilVirusScannerICapClient::class, ilVirusScannerFactory::_getInstance());
114  }
115 }
Interface Observer Contains several chained tasks and infos about them.
__construct()
Constructor setup ILIAS global object public.
Definition: class.ilias.php:76