passman/tests/unit/lib/Db/VaultTest.php
Marcos Zuriaga 64930bb106
Create unit tests for Vault database model
Fix some typos in phpdoc of vault db model
2016-10-09 17:53:20 +02:00

84 lines
4.6 KiB
PHP

<?php
/**
* Test case for the Vault model class
* Date: 9/10/16
* Time: 17:22
* @copyright Copyright (c) 2016, Marcos Zuriaga Miguel (wolfi@wolfi.es)
* @license AGPLv3
*/
use \OCA\Passman\Db\Vault;
class VaultTest extends PHPUnit_Framework_TestCase {
CONST TEST_DATA = [
'id' => 1,
'guid' => 'FA8D80E0-90AB-4D7A-9937-913F486C24EA',
'name' => 'Test example vault',
'user_id' => 'WolFi',
'created' => 1475793617,
'last_access' => 1475853174,
'public_sharing_key' =>
'-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCcfpaaZRS9Tlc3ucSixhqgO7lA
x0jO3kvk4JayFRMASf/4TMLhBNlSJgdwiSJQ+yPksnE2kGwqK5TMzn7hsAujnrfS
b/bxP0kcGb77JRhx0mjgHqfI/EZDHHtKBMpnejrmCdHfMcSi/LjYJFFMozZ3dqIv
pbbPwdc88kGcdqBzWQIDAQAB
-----END PUBLIC KEY-----',
'private_sharing_key' => 'eyJpdiI6ImhEN1F3bFBOU3gyRHpOZHpJTjJBanciLCJ2IjoxLCJpdGVyIjoxMDAwLCJrcyI6MjU2LCJ0cyI6NjQsIm1vZGUiOiJjY20iLCJhZGF0YSI6IiIsImNpcGhlciI6ImFlcyIsInNhbHQiOiI3ZzdHMDhzN3FIWSIsImN0IjoidUh2ejhWQUtqRmpqSDJWRFVCcnNwVDcyemhDVVNEVWdkandSR1ExdDlMSzVjRHIwRXZHek9JempQQW10RWE5R0hEMlRYVTBwUE9wVTg4ZkVaeXhJdERNK2dMaERZSzljZDZXZnB2QmJOcGlIN2NqZ1NKVERGd1FaOTh5UVlIRERBQnJsVHRrdjJtWjljYW9aLzQ2ZlFoaHM3RldGRVkweS9zelJzT1VWV2twRVhwZVVpQnIwVFBWVDNyQzNSMjVkRmdHNWoyT2krd3JPazBNUFQ3T1lMUkhjd2NWMTcvTWQrRXF3bXZMZDdBUHAzU2dIRVVUbTdNRW1ST1VDU3h6RHhqWldaSFlsZGllalczVkN6bElqdElHOW1qcUJqTFRmS0UxVlZIQkRoaDFFMGFycVVtRHpiRmJ5K0tzOXB1UE5ueEZjVjYrMGNSM1Nkc2pKY3U2ZFExRVU3Vk9PeFV6SGdKVzV5RmtKZjZvdmJYSEwraTFNeUhvSUFteWloSVdKdDB3NHRlM2N3WEd5NURybHU2MUFvbHhmeTFjYmJPRW9FaDBad0xLVnBIV0JHTmREL01QOS9XZ3A1U0t6MjBabjdZNWpxeXJjOW1YQUNFWnBQVXFibWNNbVE5RGZLTEtoQ1ROTUM5cWE1a3RpblgvVWxqODN6aTQyZ1JYVEJxUXhtSVBYcVpzem0zTXBaVGxLMmpFMVZudGpGcThmbTBFRmFsSkFoRUk2RlNOYnlhY0JPTFUwYU1UU1BPRTEzL3NWTzFCZFFjSXBTbmY0cmJ6blBveEZHY1BYYzBtM2VXbUJqSWpJd3pzZjlyMHRaRllTNWpta0YwTWs1ZXRZdmZDT0JLWVd2U2NTSzlRMTdqSHBLd2plSjFwSkZGRk13VGdlTGZiRDVyR2xSaitaVENvb3FnSlcrZFhMTk9iaVhuWGVqZkFWNS9JeGdYTnltdXd4MmR3NUdjeHo0QTViSlBOWHNURGgxZDZVcHRZK2RDcUk2Zy9pRmlieUwwTk14Y1VhZGhDaHhkTTc3TFlCR1Yrdkt5M2hFQm9XeEhzYWdlQ1ZMV2tHRTBLNEV2aFA2MjFlRWNucjlRN3QyaGtiTlVjLzJIbEZIMUV4RjZvOWsvM2RQa0FFeUxVMmVWTHAvUWtYMDMySFJzN0J5bko0Y2hsMjBwemNRZzNPdlpvVXRudE8yaWlFTlQwUW5DeVBNeVc3TlVyaUNXT0dldmtlUEt3YVIvQVNLRXQ1aWg2Z3hGYU5sL0hJSXpyS3RWMk9kYWpBVjVtSlROM1VpTFhjTWRXUUxoVHhFaG9EeWwrZWQ1QitUZnlvWVUxYzFmbmpidU1wSGdRaW1YdXlhSlJLY0MxWVBTWmNtdUErZFNJSTlnU0ZxZlNEQ01BZnAzNTY4ZHFLMGFqMkRybTIxNGlvVDRqakFnWUc5cGRPY0xqZFpyS3MxME0xdkVNc21VbEh0aHViQkZmd3IvUnkzdWpmNXBHTWZtbk9uVHlaUUtuMVJTT08zUS9veWxiK2t1bjBoVVZYNm1rTVJ6OHRpNjZocDEzVVVndjJzSk9QUDN0L1V2ZFFBUzF3QTVrSy9OOG5YRUtMVWgrNC8xVVlqQVhER0EifQ==',
'sharing_keys_generated' => 1475793617,
'vault_settings' => null,
];
/**
* @var Vault
*/
protected $vault;
public function setUp() {
$this->vault = Vault::fromRow(self::TEST_DATA);
}
public function testGetters(){
$this->assertEquals(self::TEST_DATA['id'], $this->vault->getId());
$this->assertEquals(self::TEST_DATA['guid'], $this->vault->getGuid());
$this->assertEquals(self::TEST_DATA['name'], $this->vault->getName());
$this->assertEquals(self::TEST_DATA['user_id'], $this->vault->getUserId());
$this->assertEquals(self::TEST_DATA['created'], $this->vault->getCreated());
$this->assertEquals(self::TEST_DATA['last_access'], $this->vault->getLastAccess());
$this->assertEquals(self::TEST_DATA['public_sharing_key'], $this->vault->getPublicSharingKey());
$this->assertEquals(self::TEST_DATA['private_sharing_key'], $this->vault->getPrivateSharingKey());
$this->assertEquals(self::TEST_DATA['sharing_keys_generated'], $this->vault->getSharingKeysGenerated());
$this->assertEquals(self::TEST_DATA['vault_settings'], $this->vault->getVaultSettings());
}
public function testSetters(){
/**
* Only testing one setter since if it works all setters should work because php magic.
* please, if you override a setter implement it here.
*/
$this->vault->setVaultSettings('{json:"object"}');
$this->assertEquals('{json:"object"}', $this->vault->getVaultSettings());
// Reset values to test data
$this->setUp();
}
public function testInheritedExpectedClasses() {
$this->assertInstanceOf(\JsonSerializable::class, $this->vault);
$this->assertInstanceOf(\OCP\AppFramework\Db\Entity::class, $this->vault);
}
public function testJsonSerialize() {
$expected_data = [
'vault_id' => self::TEST_DATA['id'],
'guid' => self::TEST_DATA['guid'],
'name' => self::TEST_DATA['name'],
'created' => self::TEST_DATA['created'],
'public_sharing_key' => self::TEST_DATA['public_sharing_key'],
'last_access' => self::TEST_DATA['last_access'],
];
$actual_data = $this->vault->jsonSerialize();
$this->assertEquals($expected_data, $actual_data);
}
}