!C99Shell v. 2.1 [PHP 8 Update] [02.02.2022]!

Software: Apache/2.4.53 (Unix) OpenSSL/1.1.1o PHP/7.4.29 mod_perl/2.0.12 Perl/v5.34.1. PHP/7.4.29 

uname -a: Linux vps-2738122-x 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 

uid=1(daemon) gid=1(daemon) grupos=1(daemon) 

Safe-mode: OFF (not secure)

/opt/apex_led/php/vendor/monolog/monolog/tests/Monolog/Handler/   drwxrwxr-x
Free 15.56 GB of 61.93 GB (25.13%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     DeduplicationHandlerTest.php (5.99 KB)      -rwxrwxr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/*
 * This file is part of the Monolog package.
 *
 * (c) Jordi Boggiano <j.boggiano@seld.be>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Monolog\Handler;

use 
Monolog\TestCase;
use 
Monolog\Logger;

class 
DeduplicationHandlerTest extends TestCase
{
    
/**
     * @covers Monolog\Handler\DeduplicationHandler::flush
     */
    
public function testFlushPassthruIfAllRecordsUnderTrigger()
    {
        
$test = new TestHandler();
        @
unlink(sys_get_temp_dir().'/monolog_dedup.log');
        
$handler = new DeduplicationHandler($testsys_get_temp_dir().'/monolog_dedup.log'0);

        
$handler->handle($this->getRecord(Logger::DEBUG));
        
$handler->handle($this->getRecord(Logger::INFO));

        
$handler->flush();

        
$this->assertTrue($test->hasInfoRecords());
        
$this->assertTrue($test->hasDebugRecords());
        
$this->assertFalse($test->hasWarningRecords());
    }

    
/**
     * @covers Monolog\Handler\DeduplicationHandler::flush
     * @covers Monolog\Handler\DeduplicationHandler::appendRecord
     */
    
public function testFlushPassthruIfEmptyLog()
    {
        
$test = new TestHandler();
        @
unlink(sys_get_temp_dir().'/monolog_dedup.log');
        
$handler = new DeduplicationHandler($testsys_get_temp_dir().'/monolog_dedup.log'0);

        
$handler->handle($this->getRecord(Logger::ERROR'Foo:bar'));
        
$handler->handle($this->getRecord(Logger::CRITICAL"Foo\nbar"));

        
$handler->flush();

        
$this->assertTrue($test->hasErrorRecords());
        
$this->assertTrue($test->hasCriticalRecords());
        
$this->assertFalse($test->hasWarningRecords());
    }

    
/**
     * @covers Monolog\Handler\DeduplicationHandler::flush
     * @covers Monolog\Handler\DeduplicationHandler::appendRecord
     * @covers Monolog\Handler\DeduplicationHandler::isDuplicate
     * @depends testFlushPassthruIfEmptyLog
     */
    
public function testFlushSkipsIfLogExists()
    {
        
$test = new TestHandler();
        
$handler = new DeduplicationHandler($testsys_get_temp_dir().'/monolog_dedup.log'0);

        
$handler->handle($this->getRecord(Logger::ERROR'Foo:bar'));
        
$handler->handle($this->getRecord(Logger::CRITICAL"Foo\nbar"));

        
$handler->flush();

        
$this->assertFalse($test->hasErrorRecords());
        
$this->assertFalse($test->hasCriticalRecords());
        
$this->assertFalse($test->hasWarningRecords());
    }

    
/**
     * @covers Monolog\Handler\DeduplicationHandler::flush
     * @covers Monolog\Handler\DeduplicationHandler::appendRecord
     * @covers Monolog\Handler\DeduplicationHandler::isDuplicate
     * @depends testFlushPassthruIfEmptyLog
     */
    
public function testFlushPassthruIfLogTooOld()
    {
        
$test = new TestHandler();
        
$handler = new DeduplicationHandler($testsys_get_temp_dir().'/monolog_dedup.log'0);

        
$record $this->getRecord(Logger::ERROR);
        
$record['datetime']->modify('+62seconds');
        
$handler->handle($record);
        
$record $this->getRecord(Logger::CRITICAL);
        
$record['datetime']->modify('+62seconds');
        
$handler->handle($record);

        
$handler->flush();

        
$this->assertTrue($test->hasErrorRecords());
        
$this->assertTrue($test->hasCriticalRecords());
        
$this->assertFalse($test->hasWarningRecords());
    }

    
/**
     * @covers Monolog\Handler\DeduplicationHandler::flush
     * @covers Monolog\Handler\DeduplicationHandler::appendRecord
     * @covers Monolog\Handler\DeduplicationHandler::isDuplicate
     * @covers Monolog\Handler\DeduplicationHandler::collectLogs
     */
    
public function testGcOldLogs()
    {
        
$test = new TestHandler();
        @
unlink(sys_get_temp_dir().'/monolog_dedup.log');
        
$handler = new DeduplicationHandler($testsys_get_temp_dir().'/monolog_dedup.log'0);

        
// handle two records from yesterday, and one recent
        
$record $this->getRecord(Logger::ERROR);
        
$record['datetime']->modify('-1day -10seconds');
        
$handler->handle($record);
        
$record2 $this->getRecord(Logger::CRITICAL);
        
$record2['datetime']->modify('-1day -10seconds');
        
$handler->handle($record2);
        
$record3 $this->getRecord(Logger::CRITICAL);
        
$record3['datetime']->modify('-30seconds');
        
$handler->handle($record3);

        
// log is written as none of them are duplicate
        
$handler->flush();
        
$this->assertSame(
            
$record['datetime']->getTimestamp() . ":ERROR:test\n" .
            
$record2['datetime']->getTimestamp() . ":CRITICAL:test\n" .
            
$record3['datetime']->getTimestamp() . ":CRITICAL:test\n",
            
file_get_contents(sys_get_temp_dir() . '/monolog_dedup.log')
        );
        
$this->assertTrue($test->hasErrorRecords());
        
$this->assertTrue($test->hasCriticalRecords());
        
$this->assertFalse($test->hasWarningRecords());

        
// clear test handler
        
$test->clear();
        
$this->assertFalse($test->hasErrorRecords());
        
$this->assertFalse($test->hasCriticalRecords());

        
// log new records, duplicate log gets GC'd at the end of this flush call
        
$handler->handle($record $this->getRecord(Logger::ERROR));
        
$handler->handle($record2 $this->getRecord(Logger::CRITICAL));
        
$handler->flush();

        
// log should now contain the new errors and the previous one that was recent enough
        
$this->assertSame(
            
$record3['datetime']->getTimestamp() . ":CRITICAL:test\n" .
            
$record['datetime']->getTimestamp() . ":ERROR:test\n" .
            
$record2['datetime']->getTimestamp() . ":CRITICAL:test\n",
            
file_get_contents(sys_get_temp_dir() . '/monolog_dedup.log')
        );
        
$this->assertTrue($test->hasErrorRecords());
        
$this->assertTrue($test->hasCriticalRecords());
        
$this->assertFalse($test->hasWarningRecords());
    }

    public static function 
tearDownAfterClass()
    {
        @
unlink(sys_get_temp_dir().'/monolog_dedup.log');
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.1 [PHP 8 Update] [02.02.2022] maintained byC99Shell Github | Generation time: 0.3098 ]--