mirror of
https://github.com/PrivateBin/PrivateBin.git
synced 2026-04-18 21:48:24 -04:00
Merge pull request #1526 from PrivateBin/pass-by-reference
Pass by reference & drop ctype
This commit is contained in:
+18
-9
@@ -288,7 +288,8 @@ class ControllerTest extends TestCase
|
||||
$options = parse_ini_file(CONF, true);
|
||||
$options['traffic']['limit'] = 0;
|
||||
Helper::createIniFile(CONF, $options);
|
||||
$this->_data->create(Helper::getPasteId(), Helper::getPaste());
|
||||
$paste = Helper::getPaste();
|
||||
$this->_data->create(Helper::getPasteId(), $paste);
|
||||
$paste = Helper::getPasteJson();
|
||||
$file = tempnam(sys_get_temp_dir(), 'FOO');
|
||||
file_put_contents($file, $paste);
|
||||
@@ -538,7 +539,8 @@ class ControllerTest extends TestCase
|
||||
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
|
||||
$_SERVER['REQUEST_METHOD'] = 'POST';
|
||||
$_SERVER['REMOTE_ADDR'] = '::1';
|
||||
$this->_data->create(Helper::getPasteId(), Helper::getPaste());
|
||||
$paste = Helper::getPaste();
|
||||
$this->_data->create(Helper::getPasteId(), $paste);
|
||||
ob_start();
|
||||
new Controller;
|
||||
$content = ob_get_contents();
|
||||
@@ -564,7 +566,8 @@ class ControllerTest extends TestCase
|
||||
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
|
||||
$_SERVER['REQUEST_METHOD'] = 'POST';
|
||||
$_SERVER['REMOTE_ADDR'] = '::1';
|
||||
$this->_data->create(Helper::getPasteId(), Helper::getPaste());
|
||||
$paste = Helper::getPaste();
|
||||
$this->_data->create(Helper::getPasteId(), $paste);
|
||||
ob_start();
|
||||
new Controller;
|
||||
$content = ob_get_contents();
|
||||
@@ -633,8 +636,10 @@ class ControllerTest extends TestCase
|
||||
$options = parse_ini_file(CONF, true);
|
||||
$options['traffic']['limit'] = 0;
|
||||
Helper::createIniFile(CONF, $options);
|
||||
$this->_data->create(Helper::getPasteId(), Helper::getPaste());
|
||||
$this->_data->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getPasteId(), Helper::getComment());
|
||||
$paste = Helper::getPaste();
|
||||
$this->_data->create(Helper::getPasteId(), $paste);
|
||||
$comment = Helper::getComment();
|
||||
$this->_data->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getPasteId(), $comment);
|
||||
$this->assertTrue($this->_data->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getPasteId()), 'comment exists before posting data');
|
||||
$comment = Helper::getCommentJson();
|
||||
$file = tempnam(sys_get_temp_dir(), 'FOO');
|
||||
@@ -819,7 +824,8 @@ class ControllerTest extends TestCase
|
||||
*/
|
||||
public function testDelete()
|
||||
{
|
||||
$this->_data->create(Helper::getPasteId(), Helper::getPaste());
|
||||
$paste = Helper::getPaste();
|
||||
$this->_data->create(Helper::getPasteId(), $paste);
|
||||
$this->assertTrue($this->_data->exists(Helper::getPasteId()), 'paste exists before deleting data');
|
||||
$paste = $this->_data->read(Helper::getPasteId());
|
||||
$_GET['pasteid'] = Helper::getPasteId();
|
||||
@@ -841,7 +847,8 @@ class ControllerTest extends TestCase
|
||||
*/
|
||||
public function testDeleteInvalidId()
|
||||
{
|
||||
$this->_data->create(Helper::getPasteId(), Helper::getPaste());
|
||||
$paste = Helper::getPaste();
|
||||
$this->_data->create(Helper::getPasteId(), $paste);
|
||||
$_GET['pasteid'] = 'foo';
|
||||
$_GET['deletetoken'] = 'bar';
|
||||
ob_start();
|
||||
@@ -879,7 +886,8 @@ class ControllerTest extends TestCase
|
||||
*/
|
||||
public function testDeleteInvalidToken()
|
||||
{
|
||||
$this->_data->create(Helper::getPasteId(), Helper::getPaste());
|
||||
$paste = Helper::getPaste();
|
||||
$this->_data->create(Helper::getPasteId(), $paste);
|
||||
$_GET['pasteid'] = Helper::getPasteId();
|
||||
$_GET['deletetoken'] = 'bar';
|
||||
ob_start();
|
||||
@@ -899,7 +907,8 @@ class ControllerTest extends TestCase
|
||||
*/
|
||||
public function testDeleteInvalidBurnAfterReading()
|
||||
{
|
||||
$this->_data->create(Helper::getPasteId(), Helper::getPaste());
|
||||
$paste = Helper::getPaste();
|
||||
$this->_data->create(Helper::getPasteId(), $paste);
|
||||
$this->assertTrue($this->_data->exists(Helper::getPasteId()), 'paste exists before deleting data');
|
||||
$file = tempnam(sys_get_temp_dir(), 'FOO');
|
||||
file_put_contents($file, json_encode(array(
|
||||
|
||||
@@ -60,18 +60,22 @@ class DatabaseTest extends TestCase
|
||||
$this->assertEquals($paste, $this->_model->read(Helper::getPasteId()));
|
||||
|
||||
// storing comments
|
||||
$comment1 = Helper::getComment(1);
|
||||
$comment2 = Helper::getComment(2);
|
||||
$meta1 = $comment1['meta'];
|
||||
$meta2 = $comment2['meta'];
|
||||
$this->assertFalse($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'v1 comment does not yet exist');
|
||||
$this->assertTrue($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), Helper::getComment(1)) !== false, 'store v1 comment');
|
||||
$this->assertTrue($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), $comment1) !== false, 'store v1 comment');
|
||||
$this->assertTrue($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'v1 comment exists after storing it');
|
||||
$this->assertFalse($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getPasteId()), 'v2 comment does not yet exist');
|
||||
$this->assertTrue($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getPasteId(), Helper::getComment(2)) !== false, 'store v2 comment');
|
||||
$this->assertTrue($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getPasteId(), $comment2) !== false, 'store v2 comment');
|
||||
$this->assertTrue($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getPasteId()), 'v2 comment exists after storing it');
|
||||
$comment1 = Helper::getComment(1);
|
||||
$comment1['id'] = Helper::getCommentId();
|
||||
$comment1['parentid'] = Helper::getPasteId();
|
||||
$comment2 = Helper::getComment(2);
|
||||
$comment1['meta'] = $meta1;
|
||||
$comment2['id'] = Helper::getPasteId();
|
||||
$comment2['parentid'] = Helper::getPasteId();
|
||||
$comment2['meta'] = $meta2;
|
||||
$this->assertEquals(
|
||||
array(
|
||||
$comment1['meta']['postdate'] => $comment1,
|
||||
@@ -120,7 +124,8 @@ class DatabaseTest extends TestCase
|
||||
if (in_array($key, array('y', 'z'))) {
|
||||
$this->assertTrue($this->_model->create($ids[$key], $paste), "store $key paste");
|
||||
} elseif ($key === 'x') {
|
||||
$this->assertTrue($this->_model->create($ids[$key], Helper::getPaste()), "store $key paste");
|
||||
$data = Helper::getPaste();
|
||||
$this->assertTrue($this->_model->create($ids[$key], $data), "store $key paste");
|
||||
} else {
|
||||
$this->assertTrue($this->_model->create($ids[$key], $expired), "store $key paste");
|
||||
}
|
||||
@@ -137,6 +142,28 @@ class DatabaseTest extends TestCase
|
||||
}
|
||||
}
|
||||
|
||||
public function testErrorDetection()
|
||||
{
|
||||
$this->_model->delete(Helper::getPasteId());
|
||||
$paste = Helper::getPaste(2, array('expire' => "Invalid UTF-8 sequence: \xB1\x31"));
|
||||
$this->assertFalse($this->_model->exists(Helper::getPasteId()), 'paste does not yet exist');
|
||||
$this->assertFalse($this->_model->create(Helper::getPasteId(), $paste), 'unable to store broken paste');
|
||||
$this->assertFalse($this->_model->exists(Helper::getPasteId()), 'paste does still not exist');
|
||||
}
|
||||
|
||||
public function testCommentErrorDetection()
|
||||
{
|
||||
$this->_model->delete(Helper::getPasteId());
|
||||
$data = Helper::getPaste();
|
||||
$comment = Helper::getComment(2, array('nickname' => "Invalid UTF-8 sequence: \xB1\x31"));
|
||||
$this->assertFalse($this->_model->exists(Helper::getPasteId()), 'paste does not yet exist');
|
||||
$this->assertTrue($this->_model->create(Helper::getPasteId(), $data), 'store new paste');
|
||||
$this->assertTrue($this->_model->exists(Helper::getPasteId()), 'paste exists after storing it');
|
||||
$this->assertFalse($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'comment does not yet exist');
|
||||
$this->assertFalse($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), $comment), 'unable to store broken comment');
|
||||
$this->assertFalse($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'comment does still not exist');
|
||||
}
|
||||
|
||||
public function testGetIbmInstance()
|
||||
{
|
||||
$this->expectException(PDOException::class);
|
||||
|
||||
@@ -45,11 +45,11 @@ class FilesystemTest extends TestCase
|
||||
$this->assertEquals($paste, $this->_model->read(Helper::getPasteId()));
|
||||
|
||||
// storing comments
|
||||
$this->assertFalse($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'comment does not yet exist');
|
||||
$this->assertTrue($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), Helper::getComment()), 'store comment');
|
||||
$this->assertTrue($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'comment exists after storing it');
|
||||
$this->assertFalse($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), Helper::getComment()), 'unable to store the same comment twice');
|
||||
$comment = Helper::getComment();
|
||||
$this->assertFalse($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'comment does not yet exist');
|
||||
$this->assertTrue($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), $comment), 'store comment');
|
||||
$this->assertTrue($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'comment exists after storing it');
|
||||
$this->assertFalse($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), $comment), 'unable to store the same comment twice');
|
||||
$comment['id'] = Helper::getCommentId();
|
||||
$comment['parentid'] = Helper::getPasteId();
|
||||
$this->assertEquals(
|
||||
@@ -94,7 +94,8 @@ class FilesystemTest extends TestCase
|
||||
if (in_array($key, array('x', 'y', 'z'))) {
|
||||
$this->assertTrue($this->_model->create($ids[$key], $paste), "store $key paste");
|
||||
} elseif ($key === 'x') {
|
||||
$this->assertTrue($this->_model->create($ids[$key], Helper::getPaste()), "store $key paste");
|
||||
$data = Helper::getPaste();
|
||||
$this->assertTrue($this->_model->create($ids[$key], $data), "store $key paste");
|
||||
} else {
|
||||
$this->assertTrue($this->_model->create($ids[$key], $expired), "store $key paste");
|
||||
}
|
||||
@@ -124,9 +125,10 @@ class FilesystemTest extends TestCase
|
||||
public function testCommentErrorDetection()
|
||||
{
|
||||
$this->_model->delete(Helper::getPasteId());
|
||||
$data = Helper::getPaste();
|
||||
$comment = Helper::getComment(1, array('nickname' => "Invalid UTF-8 sequence: \xB1\x31"));
|
||||
$this->assertFalse($this->_model->exists(Helper::getPasteId()), 'paste does not yet exist');
|
||||
$this->assertTrue($this->_model->create(Helper::getPasteId(), Helper::getPaste()), 'store new paste');
|
||||
$this->assertTrue($this->_model->create(Helper::getPasteId(), $data), 'store new paste');
|
||||
$this->assertTrue($this->_model->exists(Helper::getPasteId()), 'paste exists after storing it');
|
||||
$this->assertFalse($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'comment does not yet exist');
|
||||
$this->assertFalse($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), $comment), 'unable to store broken comment');
|
||||
|
||||
@@ -58,11 +58,11 @@ class GoogleCloudStorageTest extends TestCase
|
||||
$this->assertEquals($paste, $this->_model->read(Helper::getPasteId()));
|
||||
|
||||
// storing comments
|
||||
$this->assertFalse($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'comment does not yet exist');
|
||||
$this->assertTrue($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), Helper::getComment()), 'store comment');
|
||||
$this->assertTrue($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'comment exists after storing it');
|
||||
$this->assertFalse($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), Helper::getComment()), 'unable to store the same comment twice');
|
||||
$comment = Helper::getComment();
|
||||
$this->assertFalse($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'comment does not yet exist');
|
||||
$this->assertTrue($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), $comment), 'store comment');
|
||||
$this->assertTrue($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'comment exists after storing it');
|
||||
$this->assertFalse($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), $comment), 'unable to store the same comment twice');
|
||||
$comment['id'] = Helper::getCommentId();
|
||||
$comment['parentid'] = Helper::getPasteId();
|
||||
$this->assertEquals(
|
||||
@@ -92,7 +92,8 @@ class GoogleCloudStorageTest extends TestCase
|
||||
if (in_array($key, array('x', 'y', 'z'))) {
|
||||
$this->assertTrue($this->_model->create($ids[$key], $paste), "store $key paste");
|
||||
} elseif ($key === 'x') {
|
||||
$this->assertTrue($this->_model->create($ids[$key], Helper::getPaste()), "store $key paste");
|
||||
$data = Helper::getPaste();
|
||||
$this->assertTrue($this->_model->create($ids[$key], $data), "store $key paste");
|
||||
} else {
|
||||
$this->assertTrue($this->_model->create($ids[$key], $expired), "store $key paste");
|
||||
}
|
||||
@@ -121,9 +122,10 @@ class GoogleCloudStorageTest extends TestCase
|
||||
public function testCommentErrorDetection()
|
||||
{
|
||||
$this->_model->delete(Helper::getPasteId());
|
||||
$data = Helper::getPaste();
|
||||
$comment = Helper::getComment(1, array('nickname' => "Invalid UTF-8 sequence: \xB1\x31"));
|
||||
$this->assertFalse($this->_model->exists(Helper::getPasteId()), 'paste does not yet exist');
|
||||
$this->assertTrue($this->_model->create(Helper::getPasteId(), Helper::getPaste()), 'store new paste');
|
||||
$this->assertTrue($this->_model->create(Helper::getPasteId(), $data), 'store new paste');
|
||||
$this->assertTrue($this->_model->exists(Helper::getPasteId()), 'paste exists after storing it');
|
||||
$this->assertFalse($this->_model->existsComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId()), 'comment does not yet exist');
|
||||
$this->assertFalse($this->_model->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), $comment), 'unable to store broken comment');
|
||||
|
||||
@@ -7,10 +7,11 @@ class FormatV2Test extends TestCase
|
||||
{
|
||||
public function testFormatV2ValidatorValidatesCorrectly()
|
||||
{
|
||||
$this->assertTrue(FormatV2::isValid(Helper::getPastePost()), 'valid format');
|
||||
$this->assertTrue(FormatV2::isValid(Helper::getCommentPost(), true), 'valid format');
|
||||
$paste = Helper::getPastePost();
|
||||
$comment = Helper::getCommentPost();
|
||||
$this->assertTrue(FormatV2::isValid($paste), 'valid format');
|
||||
$this->assertTrue(FormatV2::isValid($comment, true), 'valid format');
|
||||
|
||||
$paste = Helper::getPastePost();
|
||||
$paste['adata'][0][0] = '$';
|
||||
$this->assertFalse(FormatV2::isValid($paste), 'invalid base64 encoding of iv');
|
||||
|
||||
@@ -68,6 +69,7 @@ class FormatV2Test extends TestCase
|
||||
$paste['adata'][0][7] = '!#@';
|
||||
$this->assertFalse(FormatV2::isValid($paste), 'invalid compression');
|
||||
|
||||
$this->assertFalse(FormatV2::isValid(Helper::getPaste()), 'invalid meta key');
|
||||
$paste = Helper::getPaste();
|
||||
$this->assertFalse(FormatV2::isValid($paste), 'invalid meta key');
|
||||
}
|
||||
}
|
||||
|
||||
+5
-3
@@ -114,7 +114,8 @@ class JsonApiTest extends TestCase
|
||||
*/
|
||||
public function testDelete()
|
||||
{
|
||||
$this->_model->create(Helper::getPasteId(), Helper::getPaste());
|
||||
$data = Helper::getPaste();
|
||||
$this->_model->create(Helper::getPasteId(), $data);
|
||||
$this->assertTrue($this->_model->exists(Helper::getPasteId()), 'paste exists before deleting data');
|
||||
$paste = $this->_model->read(Helper::getPasteId());
|
||||
$file = tempnam(sys_get_temp_dir(), 'FOO');
|
||||
@@ -141,7 +142,8 @@ class JsonApiTest extends TestCase
|
||||
*/
|
||||
public function testDeleteWithPost()
|
||||
{
|
||||
$this->_model->create(Helper::getPasteId(), Helper::getPaste());
|
||||
$data = Helper::getPaste();
|
||||
$this->_model->create(Helper::getPasteId(), $data);
|
||||
$this->assertTrue($this->_model->exists(Helper::getPasteId()), 'paste exists before deleting data');
|
||||
$paste = $this->_model->read(Helper::getPasteId());
|
||||
$file = tempnam(sys_get_temp_dir(), 'FOO');
|
||||
@@ -166,7 +168,7 @@ class JsonApiTest extends TestCase
|
||||
*/
|
||||
public function testRead()
|
||||
{
|
||||
$paste = Helper::getPaste();
|
||||
$paste = Helper::getPaste();
|
||||
$this->_model->create(Helper::getPasteId(), $paste);
|
||||
$_SERVER['QUERY_STRING'] = Helper::getPasteId();
|
||||
$_GET[Helper::getPasteId()] = '';
|
||||
|
||||
+4
-2
@@ -59,8 +59,10 @@ class MigrateTest extends TestCase
|
||||
$this->_model_2->delete(Helper::getPasteId());
|
||||
|
||||
// storing paste & comment
|
||||
$this->_model_1->create(Helper::getPasteId(), Helper::getPaste());
|
||||
$this->_model_1->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), Helper::getComment());
|
||||
$data = Helper::getPaste();
|
||||
$this->_model_1->create(Helper::getPasteId(), $data);
|
||||
$data = Helper::getComment();
|
||||
$this->_model_1->createComment(Helper::getPasteId(), Helper::getPasteId(), Helper::getCommentId(), $data);
|
||||
|
||||
// migrate files to database
|
||||
$output = null;
|
||||
|
||||
+7
-2
@@ -163,7 +163,8 @@ class ModelTest extends TestCase
|
||||
$this->_conf->getSection('model_options')
|
||||
)
|
||||
);
|
||||
$comment->setPaste($this->_model->getPaste(Helper::getPasteId()));
|
||||
$paste = $this->_model->getPaste(Helper::getPasteId());
|
||||
$comment->setPaste($paste);
|
||||
$this->assertEquals(Helper::getPasteId(), $comment->getParentId(), 'comment parent ID gets initialized to paste ID');
|
||||
}
|
||||
|
||||
@@ -316,7 +317,11 @@ class ModelTest extends TestCase
|
||||
public function testPasteIdValidation()
|
||||
{
|
||||
$this->assertTrue(Paste::isValidId('a242ab7bdfb2581a'), 'valid paste id');
|
||||
$this->assertFalse(Paste::isValidId('foo'), 'invalid hex values');
|
||||
$this->assertFalse(Paste::isValidId('foo'), 'invalid hex values & length');
|
||||
$this->assertFalse(Paste::isValidId('f00'), 'invalid length');
|
||||
$this->assertFalse(Paste::isValidId('foo bar baz quux'), 'invalid hex values');
|
||||
$this->assertFalse(Paste::isValidId("\n01234567feedcafe"), 'invalid line breaks');
|
||||
$this->assertFalse(Paste::isValidId("deadbeef01234567\n"), 'invalid line breaks');
|
||||
$this->assertFalse(Paste::isValidId('../bar/baz'), 'path attack');
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user