<?php namespace Tests\Wallabag\CoreBundle\Helper; use Monolog\Handler\TestHandler; use Monolog\Logger; use PHPUnit\Framework\TestCase; use Psr\Log\NullLogger; use Wallabag\CoreBundle\Helper\CryptoProxy; class CryptoProxyTest extends TestCase { public function testCrypto() { $logHandler = new TestHandler(); $logger = new Logger('test', [$logHandler]); $crypto = new CryptoProxy(sys_get_temp_dir() . '/' . uniqid('', true) . '.txt', $logger); $crypted = $crypto->crypt('test'); $decrypted = $crypto->decrypt($crypted); $this->assertSame('test', $decrypted); $records = $logHandler->getRecords(); $this->assertCount(2, $records); $this->assertStringContainsString('Crypto: crypting value', $records[0]['message']); $this->assertStringContainsString('Crypto: decrypting value', $records[1]['message']); } public function testDecryptBadValue() { $this->expectException(\RuntimeException::class); $this->expectExceptionMessage('Decrypt fail'); $crypto = new CryptoProxy(sys_get_temp_dir() . '/' . uniqid('', true) . '.txt', new NullLogger()); $crypto->decrypt('badvalue'); } }