. */ namespace SP\Tests\Core\Crypt; use PHPUnit\Framework\TestCase; use SP\Core\Crypt\Vault; use SP\Util\Util; /** * Class VaultTest * * @package SP\Tests */ class VaultTest extends TestCase { /** * @var string */ private $key; /** * Sets up the fixture, for example, open a network connection. * This method is called before a test is executed. * * @throws \Defuse\Crypto\Exception\EnvironmentIsBrokenException */ protected function setUp() { $this->key = Util::generateRandomBytes(); } /** * @throws \Defuse\Crypto\Exception\CryptoException */ public function testGetData() { $vault = new Vault(); $vault->saveData('prueba', $this->key); $this->assertEquals('prueba', $vault->getData($this->key)); $randomData = Util::generateRandomBytes(); $vault = new Vault(); $vault->saveData($randomData, $this->key); $this->assertEquals($randomData, $vault->getData($this->key)); } /** * @throws \Defuse\Crypto\Exception\CryptoException */ public function testGetTimeSet() { $vault = new Vault(); $vault->saveData('test', $this->key); $this->assertTrue($vault->getTimeSet() !== 0); } /** * @throws \Defuse\Crypto\Exception\CryptoException */ public function testReKey() { $vault = new Vault(); $vault->saveData('prueba', $this->key); $this->assertEquals('prueba', $vault->getData($this->key)); $vault->reKey(1234, $this->key); $this->assertEquals('prueba', $vault->getData(1234)); } /** * @throws \Defuse\Crypto\Exception\CryptoException */ public function testGetTimeUpdated() { $vault = new Vault(); $vault->saveData('test', $this->key); $this->assertTrue($vault->getTimeUpdated() === 0); $vault->reKey(1234, $this->key); $this->assertTrue(is_int($vault->getTimeUpdated())); $this->assertTrue($vault->getTimeUpdated() > 0); } }