From 64930bb106e4cfd7757dcbd03e065ba49f11ab08 Mon Sep 17 00:00:00 2001 From: Marcos Zuriaga Date: Sun, 9 Oct 2016 17:53:20 +0200 Subject: [PATCH] Create unit tests for Vault database model Fix some typos in phpdoc of vault db model --- lib/Db/Vault.php | 6 +-- tests/unit/lib/Db/VaultTest.php | 84 +++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+), 3 deletions(-) create mode 100644 tests/unit/lib/Db/VaultTest.php diff --git a/lib/Db/Vault.php b/lib/Db/Vault.php index 61b00ae6..5920dc70 100644 --- a/lib/Db/Vault.php +++ b/lib/Db/Vault.php @@ -20,7 +20,7 @@ use \OCP\AppFramework\Db\Entity; * @method void setGuid(string $value) * @method string getGuid() * @method void setUserId(string $value) - * @method string getUserid() + * @method string getUserId() * @method void setCreated(integer $value) * @method integer getCreated() * @method void setLastAccess(integer $value) @@ -31,8 +31,8 @@ use \OCP\AppFramework\Db\Entity; * @method string getPrivateSharingKey() * @method void setSharingKeysGenerated(integer $value) * @method integer getSharingKeysGenerated() - * @method void setVaultSettings(integer $value) - * @method integer getVaultSettings() + * @method void setVaultSettings(string $value) + * @method string getVaultSettings() */ diff --git a/tests/unit/lib/Db/VaultTest.php b/tests/unit/lib/Db/VaultTest.php new file mode 100644 index 00000000..d275fb1a --- /dev/null +++ b/tests/unit/lib/Db/VaultTest.php @@ -0,0 +1,84 @@ + 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); + } +} \ No newline at end of file