deduplicate code, clarifications

This commit is contained in:
El RIDO
2026-01-25 10:37:32 +01:00
parent 520408b830
commit d00fb264fb
5 changed files with 39 additions and 32 deletions

View File

@@ -517,7 +517,7 @@ EOT;
EOT;
}
$code .= PHP_EOL . <<<'EOT'
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, $paste);
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';

View File

@@ -298,6 +298,16 @@ class Helper
}
}
/**
* create a temporary file, returns it's file name
*
* @return string
*/
public static function createTempFile(): string
{
return tempnam(sys_get_temp_dir(), 'FOO');
}
/**
* a var_export that returns arrays without line breaks
* by linus@flowingcreativity.net via php.net

View File

@@ -136,10 +136,6 @@ class ControllerTest extends TestCase
);
}
/**
* @expectedException Exception
* @expectedExceptionCode 2
*/
public function testConf()
{
file_put_contents(CONF, '');
@@ -176,7 +172,7 @@ class ControllerTest extends TestCase
$options['traffic']['limit'] = 0;
Helper::createIniFile(CONF, $options);
$paste = Helper::getPasteJson();
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, $paste);
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -207,12 +203,13 @@ class ControllerTest extends TestCase
$options['traffic']['limit'] = 0;
Helper::createIniFile(CONF, $options);
$paste = Helper::getPasteJson(array('expire' => 25));
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, $paste);
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
$_SERVER['REQUEST_METHOD'] = 'POST';
$_SERVER['REMOTE_ADDR'] = '::1';
// Explicitly invoke TrafficLimiter to ensure limit applies to this test
TrafficLimiter::canPass();
ob_start();
new Controller;
@@ -239,7 +236,7 @@ class ControllerTest extends TestCase
$options['traffic']['limit'] = 0;
Helper::createIniFile(CONF, $options);
$paste = Helper::getPasteJson();
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, $paste);
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -263,7 +260,7 @@ class ControllerTest extends TestCase
$options['traffic']['header'] = 'X_FORWARDED_FOR';
Helper::createIniFile(CONF, $options);
$paste = Helper::getPasteJson();
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, $paste);
Request::setInputStream($file);
$_SERVER['HTTP_X_FORWARDED_FOR'] = '::2';
@@ -296,7 +293,7 @@ class ControllerTest extends TestCase
$paste = Helper::getPaste();
$this->_data->create(Helper::getPasteId(), $paste);
$paste = Helper::getPasteJson();
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, $paste);
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -320,7 +317,7 @@ class ControllerTest extends TestCase
$options['traffic']['limit'] = 0;
Helper::createIniFile(CONF, $options);
$paste = Helper::getPasteJson();
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, $paste);
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -352,7 +349,7 @@ class ControllerTest extends TestCase
$options['traffic']['limit'] = 0;
Helper::createIniFile(CONF, $options);
$paste = Helper::getPasteJson();
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, $paste);
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -385,7 +382,7 @@ class ControllerTest extends TestCase
$options['traffic']['limit'] = 0;
Helper::createIniFile(CONF, $options);
$paste = Helper::getPasteJson(array('expire' => 'foo'));
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, $paste);
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -416,7 +413,7 @@ class ControllerTest extends TestCase
Helper::createIniFile(CONF, $options);
$paste = Helper::getPastePost();
$paste['adata'][3] = 'neither 1 nor 0';
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, json_encode($paste));
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -441,7 +438,7 @@ class ControllerTest extends TestCase
Helper::createIniFile(CONF, $options);
$paste = Helper::getPastePost();
$paste['adata'][2] = 'neither 1 nor 0';
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, json_encode($paste));
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -465,7 +462,7 @@ class ControllerTest extends TestCase
public function testCreateBrokenUpload()
{
$paste = substr(Helper::getPasteJson(), 0, -10);
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, $paste);
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -487,7 +484,7 @@ class ControllerTest extends TestCase
public function testCreateTooSoon()
{
$paste = Helper::getPasteJson();
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, $paste);
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -514,7 +511,7 @@ class ControllerTest extends TestCase
$options = parse_ini_file(CONF, true);
$options['traffic']['limit'] = 0;
Helper::createIniFile(CONF, $options);
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, '{"data":"","meta":{}}');
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -538,7 +535,7 @@ class ControllerTest extends TestCase
$options['traffic']['limit'] = 0;
Helper::createIniFile(CONF, $options);
$comment = Helper::getCommentJson();
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, $comment);
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -565,7 +562,7 @@ class ControllerTest extends TestCase
Helper::createIniFile(CONF, $options);
$comment = Helper::getCommentPost();
$comment['parentid'] = 'foo';
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, json_encode($comment));
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -591,7 +588,7 @@ class ControllerTest extends TestCase
$options['traffic']['limit'] = 0;
Helper::createIniFile(CONF, $options);
$comment = Helper::getCommentJson();
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, $comment);
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -618,7 +615,7 @@ class ControllerTest extends TestCase
$options['traffic']['limit'] = 0;
Helper::createIniFile(CONF, $options);
$comment = Helper::getCommentJson();
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, $comment);
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -647,7 +644,7 @@ class ControllerTest extends TestCase
$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');
$file = Helper::createTempFile();
file_put_contents($file, $comment);
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -884,7 +881,7 @@ class ControllerTest extends TestCase
$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 = Helper::createTempFile();
file_put_contents($file, json_encode(array(
'deletetoken' => 'burnafterreading',
)));

View File

@@ -51,7 +51,7 @@ class JsonApiTest extends TestCase
$options['traffic']['limit'] = 0;
Helper::createIniFile(CONF, $options);
$paste = Helper::getPasteJson();
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, $paste);
Request::setInputStream($file);
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
@@ -83,7 +83,7 @@ class JsonApiTest extends TestCase
$options['traffic']['limit'] = 0;
Helper::createIniFile(CONF, $options);
$paste = Helper::getPasteJson();
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, $paste);
Request::setInputStream($file);
$_SERVER['QUERY_STRING'] = Helper::getPasteId();
@@ -118,7 +118,7 @@ class JsonApiTest extends TestCase
$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');
$file = Helper::createTempFile();
file_put_contents($file, json_encode(array(
'deletetoken' => hash_hmac('sha256', Helper::getPasteId(), $paste['meta']['salt']),
)));
@@ -146,7 +146,7 @@ class JsonApiTest extends TestCase
$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');
$file = Helper::createTempFile();
file_put_contents($file, json_encode(array(
'pasteid' => Helper::getPasteId(),
'deletetoken' => hash_hmac('sha256', Helper::getPasteId(), $paste['meta']['salt']),

View File

@@ -89,7 +89,7 @@ class RequestTest extends TestCase
$this->reset();
$_SERVER['REQUEST_METHOD'] = 'PUT';
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, '{"ct":"foo"}');
Request::setInputStream($file);
$request = new Request;
@@ -104,7 +104,7 @@ class RequestTest extends TestCase
$this->reset();
$_SERVER['REQUEST_METHOD'] = 'POST';
$_SERVER['HTTP_ACCEPT'] = 'application/json, text/javascript, */*; q=0.01';
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, '{"ct":"foo"}');
Request::setInputStream($file);
$request = new Request;
@@ -135,7 +135,7 @@ class RequestTest extends TestCase
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'JSONHttpRequest';
$_SERVER['QUERY_STRING'] = $id;
$_GET = array($id => '');
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, '{"deletetoken":"bar"}');
Request::setInputStream($file);
$request = new Request;
@@ -149,7 +149,7 @@ class RequestTest extends TestCase
{
$this->reset();
$_SERVER['REQUEST_METHOD'] = 'POST';
$file = tempnam(sys_get_temp_dir(), 'FOO');
$file = Helper::createTempFile();
file_put_contents($file, random_bytes(256));
Request::setInputStream($file);
$request = new Request;