aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2021-08-05 12:13:56 +0200
committerElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2021-08-05 12:13:56 +0200
commit2cc8b70e0d8c8acddbb9561a53505531a6607c96 (patch)
treecdd68bfb6f88ac92684b49aa08db64cce0ba31f5
parent402abeae7e0957f2dfaebca643a426a21a42abbb (diff)
fix tests in CI, fixes #42
-rw-r--r--Doxyfile1
-rw-r--r--lib/classes/StudipAutoloader.php2
-rw-r--r--lib/classes/StudipCacheFactory.class.php4
-rw-r--r--tests/_data/simpleormap/cronjobs_tasks.php75
-rw-r--r--tests/unit/_bootstrap.php2
-rw-r--r--tests/unit/lib/VisualTest.php2
-rw-r--r--tests/unit/lib/classes/CronjobScheduleTest.php2
-rw-r--r--tests/unit/lib/classes/CsrfProtectionTest.php2
8 files changed, 83 insertions, 7 deletions
diff --git a/Doxyfile b/Doxyfile
index 7410651..91f4263 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -780,6 +780,7 @@ RECURSIVE = YES
# run.
EXCLUDE = vendor \
+ composer \
public/plugins_packages \
db \
locale \
diff --git a/lib/classes/StudipAutoloader.php b/lib/classes/StudipAutoloader.php
index d7904d1..985fbd0 100644
--- a/lib/classes/StudipAutoloader.php
+++ b/lib/classes/StudipAutoloader.php
@@ -309,7 +309,7 @@ class StudipAutoloader
*/
private static function sanitizePath($path)
{
- if (mb_strpos($path, $GLOBALS['STUDIP_BASE_PATH']) === 0) {
+ if (isset($GLOBALS['STUDIP_BASE_PATH']) && strpos($path, $GLOBALS['STUDIP_BASE_PATH']) === 0) {
return ltrim(str_replace($GLOBALS['STUDIP_BASE_PATH'], '', $path), DIRECTORY_SEPARATOR);
}
return $path;
diff --git a/lib/classes/StudipCacheFactory.class.php b/lib/classes/StudipCacheFactory.class.php
index ce79383..805aa9d 100644
--- a/lib/classes/StudipCacheFactory.class.php
+++ b/lib/classes/StudipCacheFactory.class.php
@@ -182,7 +182,7 @@ class StudipCacheFactory
*/
public static function loadCacheClass()
{
- $cacheConfig = Config::get()->SYSTEMCACHE;
+ $cacheConfig = self::getConfig()->SYSTEMCACHE;
$cache_class = $cacheConfig['type'] ?: null;
@@ -222,7 +222,7 @@ class StudipCacheFactory
*/
public static function retrieveConstructorArguments()
{
- $cacheConfig = Config::get()->SYSTEMCACHE;
+ $cacheConfig = self::getConfig()->SYSTEMCACHE;
return $cacheConfig ?: [];
}
diff --git a/tests/_data/simpleormap/cronjobs_tasks.php b/tests/_data/simpleormap/cronjobs_tasks.php
new file mode 100644
index 0000000..43614b6
--- /dev/null
+++ b/tests/_data/simpleormap/cronjobs_tasks.php
@@ -0,0 +1,75 @@
+<?php
+$result = [
+ 0 =>
+ [
+ 'name' => 'task_id',
+ 'type' => 'char(32)',
+ 'null' => 'NO',
+ 'key' => 'PRI',
+ 'default' => '',
+ 'extra' => '',
+ ],
+ 1 =>
+ [
+ 'name' => 'filename',
+ 'type' => 'varchar(255)',
+ 'null' => 'NO',
+ 'key' => '',
+ 'default' => '',
+ 'extra' => '',
+ ],
+ 2 =>
+ [
+ 'name' => 'class',
+ 'type' => 'varchar(255)',
+ 'null' => 'NO',
+ 'key' => '',
+ 'default' => '',
+ 'extra' => '',
+ ],
+ 3 =>
+ [
+ 'name' => 'active',
+ 'type' => 'tinyint(1) unsigned',
+ 'null' => 'NO',
+ 'key' => '',
+ 'default' => 0,
+ 'extra' => '',
+ ],
+ 4 =>
+ [
+ 'name' => 'execution_count',
+ 'type' => 'bigint(20) unsigned',
+ 'null' => 'NO',
+ 'key' => '',
+ 'default' => 0,
+ 'extra' => '',
+ ],
+ 5 =>
+ [
+ 'name' => 'assigned_count',
+ 'type' => 'int(11) unsigned',
+ 'null' => 'NO',
+ 'key' => '',
+ 'default' => 0,
+ 'extra' => '',
+ ],
+ 6 =>
+ [
+ 'name' => 'mkdate',
+ 'type' => 'int(11) unsigned',
+ 'null' => 'YES',
+ 'key' => '',
+ 'default' => NULL,
+ 'extra' => '',
+ ],
+ 7 =>
+ [
+ 'name' => 'chdate',
+ 'type' => 'int(11) unsigned',
+ 'null' => 'YES',
+ 'key' => '',
+ 'default' => NULL,
+ 'extra' => '',
+ ],
+];
diff --git a/tests/unit/_bootstrap.php b/tests/unit/_bootstrap.php
index 1acb4d4..cfa78f6 100644
--- a/tests/unit/_bootstrap.php
+++ b/tests/unit/_bootstrap.php
@@ -109,7 +109,7 @@ if (!class_exists('StudipTestHelper')) {
static function set_up_tables($tables)
{
// first step, set fake cache
- $testconfig = new Config(['cache_class' => 'StudipArrayCache']);
+ $testconfig = new Config(['SYSTEMCACHE' => ['type' => 'StudipArrayCache']]);
Config::set($testconfig);
StudipCacheFactory::setConfig($testconfig);
diff --git a/tests/unit/lib/VisualTest.php b/tests/unit/lib/VisualTest.php
index 264000b..3d2f03a 100644
--- a/tests/unit/lib/VisualTest.php
+++ b/tests/unit/lib/VisualTest.php
@@ -9,7 +9,6 @@
* the License, or (at your option) any later version.
*/
-require_once 'config.inc.php'; //$SMILE_SHORT and $SYMBOL_SHORT needed by formatReady
require_once 'lib/models/SimpleORMap.class.php';
require_once 'lib/models/OpenGraphURL.class.php';
require_once 'lib/visual.inc.php';
@@ -28,6 +27,7 @@ class VisualFunctionsTest extends \Codeception\Test\Unit
Config::set(new Config($config));
$GLOBALS['SMILEY_NO_DB'] = true;
+ $GLOBALS['SYMBOL_SHORT'] = [];
}
public function tearDown()
diff --git a/tests/unit/lib/classes/CronjobScheduleTest.php b/tests/unit/lib/classes/CronjobScheduleTest.php
index 5e05663..e218b7e 100644
--- a/tests/unit/lib/classes/CronjobScheduleTest.php
+++ b/tests/unit/lib/classes/CronjobScheduleTest.php
@@ -18,7 +18,7 @@ class CronjobScheduleTest extends \Codeception\Test\Unit
{
date_default_timezone_set('Europe/Berlin');
- StudipTestHelper::set_up_tables(['cronjobs_schedules']);
+ StudipTestHelper::set_up_tables(['cronjobs_schedules', 'cronjobs_tasks']);
}
function tearDown()
diff --git a/tests/unit/lib/classes/CsrfProtectionTest.php b/tests/unit/lib/classes/CsrfProtectionTest.php
index 17306fd..ce556b8 100644
--- a/tests/unit/lib/classes/CsrfProtectionTest.php
+++ b/tests/unit/lib/classes/CsrfProtectionTest.php
@@ -117,8 +117,8 @@ class CSRFRequestTest extends \Codeception\Test\Unit
$_SERVER['REQUEST_METHOD'] = 'POST';
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'XmlHttpRequest';
unset($_POST['security_token']);
+ $this->expectException(InvalidSecurityTokenException::class);
CSRFProtection::verifyUnsafeRequest();
- $this->assertTrue(true);
}
function testUnsafeXHRWithToken()