mirror of
https://github.com/nextcloud/passman.git
synced 2025-02-27 00:43:02 +08:00
Added VaultMapper unit tests Edited some VaultMapper docs and changed a function to use the Utils implementation Added coverage phpunit annotations
104 lines
No EOL
4.9 KiB
PHP
104 lines
No EOL
4.9 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;
|
|
|
|
/**
|
|
* @coversDefaultClass \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;
|
|
|
|
/**
|
|
* @after
|
|
*/
|
|
public function setUp() {
|
|
$this->vault = Vault::fromRow(self::TEST_DATA);
|
|
}
|
|
|
|
/**
|
|
* @covers ::getter
|
|
* @covers ::__construct
|
|
* @covers ::fromRow
|
|
*/
|
|
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());
|
|
}
|
|
|
|
/**
|
|
* @covers ::setter
|
|
*/
|
|
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();
|
|
}
|
|
|
|
/**
|
|
* @coversNothing
|
|
*/
|
|
public function testInheritedExpectedClasses() {
|
|
$this->assertInstanceOf(\JsonSerializable::class, $this->vault);
|
|
$this->assertInstanceOf(\OCP\AppFramework\Db\Entity::class, $this->vault);
|
|
}
|
|
|
|
/**
|
|
* @covers ::jsonSerialize
|
|
*/
|
|
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);
|
|
}
|
|
} |