getMockBuilder(\Magento\Framework\Filesystem\DriverInterface::class) ->disableOriginalConstructor() ->getMock(); $this->model = new \Magento\Framework\Logger\Handler\Base($driverMock); $class = new \ReflectionClass($this->model); $this->sanitizeMethod = $class->getMethod('sanitizeFileName'); $this->sanitizeMethod->setAccessible(true); } public function testSanitizeEmpty() { $this->assertEquals('', $this->sanitizeMethod->invokeArgs($this->model, [''])); } public function testSanitizeSimpleFilename() { $this->assertEquals('custom.log', $this->sanitizeMethod->invokeArgs($this->model, ['custom.log'])); } public function testSanitizeLeadingSlashFilename() { $this->assertEquals( 'customfolder/custom.log', $this->sanitizeMethod->invokeArgs($this->model, ['/customfolder/custom.log']) ); } public function testSanitizeParentLevelFolder() { $this->assertEquals( 'var/hack/custom.log', $this->sanitizeMethod->invokeArgs($this->model, ['../../../var/hack/custom.log']) ); } /** * @expectedException \InvalidArgumentException * @expectedExceptionMessage Filename expected to be a string */ public function testSanitizeFileException() { $this->sanitizeMethod->invokeArgs($this->model, [['filename' => 'notValid']]); } }