passman/tests/unit/lib/Db/FileTest.php

70 lines
13 KiB
PHP
Raw Normal View History

<?php
/**
* Test case for the Database File model class
* Date: 9/10/16
* Time: 2:13
* @copyright Copyright (c) 2016, Marcos Zuriaga Miguel (wolfi@wolfi.es)
* @license AGPLv3
*/
use \OCA\Passman\Db\File;
class FileTest extends PHPUnit_Framework_TestCase {
CONST TEST_DATA = [
'id' => 21,
'guid' => 'FC148F1A-AA67-489E-ABF5-4D7AA525F067',
'user_id' => 'WolFi',
'mimetype' => 'text/x-arduino',
'filename' => 'eyJpdiI6ImVPcEY5WWRlT0FHcjdiekZ3V0RXSnciLCJ2IjoxLCJpdGVyIjoxMDAwLCJrcyI6MjU2LCJ0cyI6NjQsIm1vZGUiOiJjY20iLCJhZGF0YSI6IiIsImNpcGhlciI6ImFlcyIsInNhbHQiOiJtdG5CT2ZOL3hlRSIsImN0IjoialJFSHJ3S3JpK2FhaDJ5bUxUWnJRaWtKVVZIL2x4SSJ9',
'size' => 4509,
'created' => 1475853609,
'file_data' => 'eyJpdiI6IjBlcnVNMTBMY3VpNWlUeitXc0JJdmciLCJ2IjoxLCJpdGVyIjoxMDAwLCJrcyI6MjU2LCJ0cyI6NjQsIm1vZGUiOiJjY20iLCJhZGF0YSI6IiIsImNpcGhlciI6ImFlcyIsInNhbHQiOiJtdG5CT2ZOL3hlRSIsImN0IjoiU21DRXBPSXRuNjhDeng0SEVYRjE0QnFuVTBmMkNLaGVDcVhoamw3UTcvTW9UL0MyUVdFZHRYS3dFSGNoTWRKbUVOdHJiaTltNWM3aWJXVzRvU0ZCdGVSemlpcXZtekJXdzNhSEtHNmRWK3duZHhqeVBibDZ6MWEyWEFZNDc4TXVoSzFmMG03bEp0ZXRHYUltL0ZyV1ZDVC9idG1GaUhucC9iVHNEeXVvdEdqVm5Qa1FMVTlKVTFuUGM1U0RvNGdrNlRodHV2Z2NMSkFEQWJ4SER0L3BIblBHSXRDV25LdjRqUnV3UWRNc2x2cTllenhjeDM5eXBwUWlhUG15dVVlcnEwZ3B2MENzdEhYQjcrWWVVRlJvOGpWM3l2dlVLT29wZjQwc3pFY0hVWXJ4QW1TRTJJNWdpZlJkczUzOGQxa0pDRjJyRkh3aFp4amFGR2plWXBrTUNPSzMrTytmdUFjSHE2QjlXWjU2SE5teExoZS9OczN2aytJZy8yWEt5bHFIcC9TU3k2YVNSckY1cFRSTi90dlJFN2RkOHRaeEVkVlZQZG5tdGJwRkxqKzlvRDlvazl3MTVPK2NoS25QVkhUUWtMb2JTVXRaNEh0SHdZVExQZFFoSUhYVHFTN3ExSHFPRWowamZTZVJJaEpoVFdVbWRPMGNxUC9nam50UWRHVzlCcGVhbS9MbG0yRWliRHFWMlZBNUhnS3JpYURrL1NaYmsrTnlkQVZsU1pNMXgzSlh1Qk5lZ2dvcWY5YkQ3NjY4VklyNFBQUWpqU2ZyYkpLQ3JyUUhZaEtyYXkwUUdJaURJOHVMU0tNZGVsVG1NWldKcVdGLzlNR3lXQk04b1RhWGdsMXpabGlCTHIvcjk4Y1J6UGplWGU4M2xOZWtOS1QwWEEySVJiYnQzdHAxK2NHdkxqblZJWTVrK28yRmY5ZEMyK2VXZ3NWTlJxbTZGZ1NGYW1CKzA5N2pZNjdIcmNQU3IrQlcrdG85aXZOYms4bXlBZ0VDN05kaHh0Y1VtTmE2T0VBSC9iMVBObHc2OThWK3U3QVgwWlhVQW1PQklOTVpzQ3JSTEtWTHo5MmEzK0NUMmVSeDd0Q2Fsb3lmakNyRFBDQlZtZTdOZVoyZHdHbWg5bUJZaVg0UFVCT3gycnFxMWpHUHkxRU5pTGdEL1dPUG5vRHgrQ21xenkzQ1Jlc28zVGlQNC82SklINmh2M3NMSUJjNXpUc29GSFJZZklRSUhtWkdvYk5lcXkwN1pKbGNUV01OenRtQ01acjFJWitpQ0RJb3VjWWZoNnVZcnV4WEd5YVRMYW1tSWJCOVNkL05PbFpOU2wweHlrTzVLMnV6U1JoRzIrWkoxSVk1L0ZLRUZpTU5xcjZNS2daWWdqTjlOalNsV1pOTnloWTRGUmlSYXNjaEtVeHdVR3dxMi9ZYjZhckZ2YlIwTUVVcUc2b0UrVWZBWVc1SnlPTzNXRUdlUTM4QjlhbklYT2pIOU5PYjcrdGgyanBaSThxR0pRVDZFMkc2Y2xhUUxFcXZrV3BhR2s1S2kyZTJzWlhhVFYxQmZCV3EzeHRrNWVFU1VpbXdLUS9WSHkwRXUrUDZLdU9lWHovSXlUQjQwczV4Q2JjWFIxODA0YkxqYWRvR0tTaGxxR2srdGEwT3V6TFVJbnBiTEs5SlEyREZPWjFseG9RK0lScXBzcVl1SHBYTUE2dGZHamVmb1JYODZEV2F4czk0UmxsWmVYRGlaQzFaQm9xVHEyQlVxcHdKZlhUb2E3WC83SEhIeDI4ZVdxRWswOXhuKzUwbzZqVG1HWjl4QkN0WHB1NjJ6SUlOMURrU0c2dzNhc3NVU0ROSVh5NkYwN29pQVRVZ2o0ZVpHZDVtN2RKMFRHTHhVUkpUU3I5YVhYeCtDMW9ZM3NZc2VaQ2RQTFhJTUcxT01EcmJid1NPZnFzMHo1Y3hsQWV1MUhiODQxRklkeU1pVnNzTndMYUJ4NTBlVHdUZHUvazF6b3A1aEFyL1g3Q1JndXBIbWl6V0RwdEdkNzlHWXNkSDE4VzZzczRlL2l2eGtKdFBlUi9hVmowUnNVM3AreWUxUFFLbzNhblZ3eGtqendmQndjQ3V5ZVY4dHJ5cXlkdlVmZnQvQVFrSCtlYVBHTVNnYWFLb1RhYlcydmFvVTh3WHBWejJtZVRvdi9CeCtBQkVFQVhxRzdRMkM3SUxEMGdRbnlQVDVSdm9MbUdHRXF1bDE2YWFEVXBNRU9PaGlSZ0xvNnVrbDV6Y0hlR2ZLVDd3NVMzYUFFaXZWeElTR3N2REh3eGVzRm4zb0ZwUWhMeFg2R2gveTRYQ201cmtNRHRpMWJQc1gvUWc3dUxEQk9yOWdBaGNzMmE0MHpvbjBHUkVSVVR3aDB2a1d3ajhKUDFmREdyRDNMdXVaMzI5MTlLT1NGRWRZckJwcFM2YmRrdU5OVDBPclJmcmJjNTFhdGltcUUwZUtUSWNFTTJYcTZYQ2NiUW41eklDS2NqdEE5aDRUWHdiOFRmdnY1OUJqYmZvN2hRN3RYYUlHTzlpNjdacC9NSjdzZm93bVZOMHEvY2lJSVBKejdiMld2Qy9Dc2s0OWZ1TVl1bGpOZFlqWHVrTHlyS0FqZWVUZXRRUm9lSVdyV2YzVUIvdlBtczVMdkV1ZEJidXhwdDNIRHhLbmxsbjhBc25mZkR4Vi9QSUsxN1MyNDJhcTZDR1dtTW9mcVRzbmJlbSt2WXlVNEN4TnFuNFNEcWNpeW1CZ3dTZWsvY1BxSlFZdVhwcFpEUndIT0NxMTg4WlQ1bWU4M3dmZDcvSjMxMlZFNjJTSTBaaS9oNjJpU213TDIwcjc3R0xBSktncFV1TENaay9XUDZ0TFQwM1F2cnlpT3dzcks1OFFjOXcwdlFBdTI1cUxZZXZNZkVqajBjMllWK0VDLzZJd0hmYmt3MDdxb1BOcThMVEhtbVMySmUya2IwbjlMbTdic3psV2RUOW9TTUQxNGlKQzFERG8wK3gvd1VGSjdTRCt0aWVQcElhVmVvdFZHWUJneDR0MHJ1dXV6d3BUdnk3eGFnaXNuem5EV1NvaE1hVUp0SzBjOTM3Q2RlQUp5UUM4NDJCMDIrdjJzSjhnRjNVNXpZUDdMak5JRlZVQ2xRYjBiVXdhc2ZqaTdzeUxmM3Fwc0RsMlRhWHhUL2pkcjhDSXRFcDF4OVg2OTFKaVJaSE5UN0E4M2hzSk5SSlc1MVFQYkx6NXZzd1pSU05OSGhaeDkwR3lhSW51S0ZvS1A2TmVnU1hFdHBvQytQRXlJUG9iM1k3cmJVVnpsSldPLy9SS29KTkJSTWUzQXluTVo5VFc0KzZFWUh5VHFjc0JwRHN2V2NhZE5SVlhKK1cxaHp5clZBSVl4RGJOMHBndXY4a0lvWmNYakN2dzBsRWpLby9iUk1ONlZpeG9URzQvZ08vY2RQcjVQT2VDYWNlTXlYVFZhYm1GVGc2UVBmSXNsY2xSckhlWTh5MGZhdmoydFo5ZmkrWmtxNHBub2FlenI0RjFzOWcwUmwxWTNBU3AweExkUVVEZWFwdnc3YXYwQlJyWjZEN083Wm9lajFtbkdFeEJLMUIvMmMxUHErYVhpRnZ6azUzejBibDUydGh0ckZXV3NNN1YxY1NjV1RkNU1RZlRaMFRBODJqRjJkR1B0eDdTTDJpbFVSN243bE5ucXdFZWpNSzdlUno1QVNwRXZ0QlozN0NCQkxSS0tHZ01JZUMvcFNFM0tvZnhKTUtuckFsV2JUNHJQZUsxL0VvSkNFeStRMHNvdXM0K0hmL3dPd2hOc3NwNFY1QkdFTHgvYXRoUTZNcGJRbE5vZkRwcFl6WGM1WHdwRlE3QkNGU1ZUTngwcTF3bkRFMDd1UFlBQTZnTlJzODFqZXZXa
];
/**
* @var File
*/
protected $file;
public function setUp() {
$this->file = File::fromRow(self::TEST_DATA);
}
public function testGetters() {
$this->assertEquals(self::TEST_DATA['id'], $this->file->getId());
$this->assertEquals(self::TEST_DATA['guid'], $this->file->getGuid());
$this->assertEquals(self::TEST_DATA['user_id'], $this->file->getUserId());
$this->assertEquals(self::TEST_DATA['mimetype'], $this->file->getMimetype());
$this->assertEquals(self::TEST_DATA['filename'], $this->file->getFilename());
$this->assertEquals(self::TEST_DATA['size'], $this->file->getSize());
$this->assertEquals(self::TEST_DATA['created'], $this->file->getCreated());
$this->assertEquals(self::TEST_DATA['file_data'], $this->file->getFileData());
}
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->file->setMimetype('text/json');
$this->assertEquals('text/json', $this->file->getMimetype());
}
public function testJsonSerialize(){
// Make sure we use test data
$this->setUp();
$expected_result = [
'file_id' => self::TEST_DATA['id'],
'filename' => self::TEST_DATA['filename'],
'guid' => self::TEST_DATA['guid'],
'size' => self::TEST_DATA['size'],
'file_data' => self::TEST_DATA['file_data'],
'created' => self::TEST_DATA['created'],
'mimetype' => self::TEST_DATA['mimetype'],
];
$actual_data = $this->file->jsonSerialize();
$this->assertEquals($expected_result, $actual_data);
}
}