mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-18 07:22:17 +00:00
code cleanup
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
<?php
|
||||
|
||||
function lineBreak() {
|
||||
function lineBreak()
|
||||
{
|
||||
return IS_CLI ? PHP_EOL : '<br>';
|
||||
}
|
||||
|
||||
function preFormat($text) {
|
||||
function preFormat($text)
|
||||
{
|
||||
if (IS_CLI) {
|
||||
return $text; // Plain text in CLI
|
||||
} else {
|
||||
@@ -12,7 +14,8 @@ function preFormat($text) {
|
||||
}
|
||||
}
|
||||
|
||||
function colorText($text, $color) {
|
||||
function colorText($text, $color)
|
||||
{
|
||||
if (IS_CLI) {
|
||||
// ANSI color codes
|
||||
$colors = [
|
||||
@@ -31,7 +34,8 @@ function colorText($text, $color) {
|
||||
}
|
||||
}
|
||||
|
||||
function assertEqual($expected, $actual, $message = '') {
|
||||
function assertEqual($expected, $actual, $message = '')
|
||||
{
|
||||
if ($expected !== $actual) {
|
||||
echo colorText('❌ Assertion failed:', 'red') . ' ' . $message . lineBreak();
|
||||
echo "Expected: " . preFormat(var_export($expected, true)) . lineBreak();
|
||||
@@ -44,19 +48,23 @@ function assertEqual($expected, $actual, $message = '') {
|
||||
}
|
||||
|
||||
|
||||
function assertTrue($condition, $message = '') {
|
||||
function assertTrue($condition, $message = '')
|
||||
{
|
||||
return assertEqual(true, $condition, $message ?: 'Expected condition to be true');
|
||||
}
|
||||
|
||||
function assertFalse($condition, $message = '') {
|
||||
function assertFalse($condition, $message = '')
|
||||
{
|
||||
return assertEqual(false, $condition, $message ?: 'Expected condition to be false');
|
||||
}
|
||||
|
||||
function assertNull($value, $message = '') {
|
||||
function assertNull($value, $message = '')
|
||||
{
|
||||
return assertEqual(null, $value, $message ?: 'Expected value to be null');
|
||||
}
|
||||
|
||||
function assertNotNull($value, $message = '') {
|
||||
function assertNotNull($value, $message = '')
|
||||
{
|
||||
if ($value === null) {
|
||||
echo colorText('❌ Assertion failed:', 'red') . ' ' . $message . lineBreak();
|
||||
echo 'Value is null' . lineBreak();
|
||||
@@ -68,39 +76,48 @@ function assertNotNull($value, $message = '') {
|
||||
}
|
||||
|
||||
|
||||
function assertIsArray($value, $message = '') {
|
||||
function assertIsArray($value, $message = '')
|
||||
{
|
||||
return assertEqual(true, is_array($value), $message ?: 'Expected value to be an array');
|
||||
}
|
||||
|
||||
function assertIsObject($value, $message = '') {
|
||||
function assertIsObject($value, $message = '')
|
||||
{
|
||||
return assertEqual(true, is_object($value), $message ?: 'Expected value to be an object');
|
||||
}
|
||||
|
||||
function assertIsString($value, $message = '') {
|
||||
function assertIsString($value, $message = '')
|
||||
{
|
||||
return assertEqual(true, is_string($value), $message ?: 'Expected value to be a string');
|
||||
}
|
||||
|
||||
function assertIsInt($value, $message = '') {
|
||||
function assertIsInt($value, $message = '')
|
||||
{
|
||||
return assertEqual(true, is_int($value), $message ?: 'Expected value to be an integer');
|
||||
}
|
||||
|
||||
function assertIsFloat($value, $message = '') {
|
||||
function assertIsFloat($value, $message = '')
|
||||
{
|
||||
return assertEqual(true, is_float($value), $message ?: 'Expected value to be a float');
|
||||
}
|
||||
|
||||
function assertIsBool($value, $message = '') {
|
||||
function assertIsBool($value, $message = '')
|
||||
{
|
||||
return assertEqual(true, is_bool($value), $message ?: 'Expected value to be a boolean');
|
||||
}
|
||||
|
||||
|
||||
function assertArrayHasKey($key, $array, $message = '') {
|
||||
function assertArrayHasKey($key, $array, $message = '')
|
||||
{
|
||||
return assertEqual(true, array_key_exists($key, $array), $message ?: "Expected key '$key' in array");
|
||||
}
|
||||
|
||||
function assertObjectHasProperty($property, $object, $message = '') {
|
||||
function assertObjectHasProperty($property, $object, $message = '')
|
||||
{
|
||||
return assertEqual(true, property_exists($object, $property), $message ?: "Expected property '$property' in object");
|
||||
}
|
||||
|
||||
function assertCount($expectedCount, $arrayOrCountable, $message = '') {
|
||||
function assertCount($expectedCount, $arrayOrCountable, $message = '')
|
||||
{
|
||||
return assertEqual($expectedCount, count($arrayOrCountable), $message ?: "Expected count of $expectedCount");
|
||||
}
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
function getParam($name, $default = null)
|
||||
{
|
||||
if (php_sapi_name() === 'cli') { // Parse CLI args for --key=value style
|
||||
// php ./system/UnitTests/api/BookmarkTest/BookmarkTest.php --server=https://cis40.dev.technikum-wien.at --user=if23b236 --pw=FHCompleteDemo42!
|
||||
// php ./system/UnitTests/api/BookmarkTest/BookmarkTest.php
|
||||
// --server=https://cis40.dev.technikum-wien.at --user=if23b236 --pw=FHCompleteDemo42!
|
||||
|
||||
global $argv;
|
||||
foreach ($argv as $arg) {
|
||||
@@ -39,15 +40,16 @@ echo $TEST_PW.LINE_BREAK;
|
||||
|
||||
// "Unit Test" Script to Test API Controller frontend/v1/Bookmark.php by calling methods with curated inputs and checking
|
||||
// for the expected output
|
||||
$URL = $server.'/cis.php/api/frontend/v1/Bookmark/';
|
||||
$URL = $server.'/cis.php/api/frontend/v1/Bookmark/';
|
||||
|
||||
testGetBookmarks($URL, 'getBookmarks', $TEST_USER, $TEST_PW);
|
||||
$id = testInsertBookmark($URL, 'insert', $TEST_USER, $TEST_PW);
|
||||
$id = testUpdateBookmark($URL, 'update', $TEST_USER, $TEST_PW, $id);
|
||||
testDeleteBookmark($URL, 'delete', $TEST_USER, $TEST_PW, $id);
|
||||
$id = testInsertBookmark($URL, 'insert', $TEST_USER, $TEST_PW);
|
||||
$id = testUpdateBookmark($URL, 'update', $TEST_USER, $TEST_PW, $id);
|
||||
testDeleteBookmark($URL, 'delete', $TEST_USER, $TEST_PW, $id);
|
||||
if (!IS_CLI) echo "<pre>";
|
||||
|
||||
function testGetBookmarks($url, $method, $user, $pw) {
|
||||
function testGetBookmarks($url, $method, $user, $pw)
|
||||
{
|
||||
echo LINE_BREAK.LINE_BREAK."Test '".$method."' start ".LINE_BREAK;
|
||||
|
||||
try {
|
||||
@@ -78,7 +80,8 @@ function testGetBookmarks($url, $method, $user, $pw) {
|
||||
}
|
||||
}
|
||||
|
||||
function testInsertBookmark($url, $method, $user, $pw) {
|
||||
function testInsertBookmark($url, $method, $user, $pw)
|
||||
{
|
||||
echo LINE_BREAK.LINE_BREAK."Test '".$method."' start ".LINE_BREAK;
|
||||
echo LINE_BREAK;
|
||||
try {
|
||||
@@ -102,9 +105,8 @@ function testInsertBookmark($url, $method, $user, $pw) {
|
||||
|
||||
$assertions = [];
|
||||
$assertions[] = assertIsInt($resultPost->body->data);
|
||||
|
||||
$assertions[] = assertIsString($resultPost->body->meta->status);
|
||||
$assertions[] = assertEqual("success",$resultPost->body->meta->status, "Response Status Success");
|
||||
$assertions[] = assertEqual("success", $resultPost->body->meta->status, "Response Status Success");
|
||||
if(allTrue($assertions)) {
|
||||
echo "Test '".$method."' finished SUCCESS".LINE_BREAK;
|
||||
} else {
|
||||
@@ -115,7 +117,8 @@ function testInsertBookmark($url, $method, $user, $pw) {
|
||||
return $resultPost->body->data;
|
||||
}
|
||||
|
||||
function testDeleteBookmark($url, $method, $user, $pw, $id) {
|
||||
function testDeleteBookmark($url, $method, $user, $pw, $id)
|
||||
{
|
||||
echo LINE_BREAK.LINE_BREAK."Test '".$method."' start \n".LINE_BREAK;
|
||||
|
||||
try {
|
||||
@@ -136,7 +139,7 @@ function testDeleteBookmark($url, $method, $user, $pw, $id) {
|
||||
$assertions = [];
|
||||
$assertions[] = assertIsString($resultPost->body->data);
|
||||
$assertions[] = assertIsString($resultPost->body->meta->status);
|
||||
$assertions[] = assertEqual("success",$resultPost->body->meta->status, "Response Status Success");
|
||||
$assertions[] = assertEqual("success", $resultPost->body->meta->status, "Response Status Success");
|
||||
if(allTrue($assertions)) {
|
||||
echo "Test '".$method."' finished SUCCESS".LINE_BREAK;
|
||||
} else {
|
||||
@@ -145,7 +148,8 @@ function testDeleteBookmark($url, $method, $user, $pw, $id) {
|
||||
}
|
||||
}
|
||||
|
||||
function testUpdateBookmark($url, $method, $user, $pw, $id) {
|
||||
function testUpdateBookmark($url, $method, $user, $pw, $id)
|
||||
{
|
||||
echo LINE_BREAK.LINE_BREAK."Test '".$method."' start ".LINE_BREAK;
|
||||
|
||||
try {
|
||||
@@ -170,7 +174,7 @@ function testUpdateBookmark($url, $method, $user, $pw, $id) {
|
||||
$assertions = [];
|
||||
$assertions[] = assertIsString($resultPost->body->data);
|
||||
$assertions[] = assertIsString($resultPost->body->meta->status);
|
||||
$assertions[] = assertEqual("success",$resultPost->body->meta->status, "Response Status Success");
|
||||
$assertions[] = assertEqual("success", $resultPost->body->meta->status, "Response Status Success");
|
||||
if(allTrue($assertions)) {
|
||||
echo "Test '".$method."' finished SUCCESS".LINE_BREAK;
|
||||
} else {
|
||||
@@ -181,26 +185,28 @@ function testUpdateBookmark($url, $method, $user, $pw, $id) {
|
||||
return $resultPost->body->data;
|
||||
}
|
||||
|
||||
function printResponse($resultPost) {
|
||||
function printResponse($resultPost)
|
||||
{
|
||||
echo LINE_BREAK;
|
||||
echo "Response Body:";
|
||||
print_r($resultPost->body);
|
||||
echo preFormat(var_export($resultPost->body, true));
|
||||
echo LINE_BREAK;
|
||||
echo "Raw Response:";
|
||||
print_r($resultPost->raw_body);
|
||||
echo preFormat(var_export($resultPost->raw_body, true));
|
||||
echo LINE_BREAK;
|
||||
echo "Status Code:";
|
||||
print_r($resultPost->code);
|
||||
echo preFormat(var_export($resultPost->code, true));
|
||||
echo LINE_BREAK;
|
||||
echo "Headers:";
|
||||
print_r($resultPost->headers);
|
||||
echo preFormat(var_export($resultPost->headers, true));
|
||||
echo LINE_BREAK;
|
||||
}
|
||||
|
||||
function allTrue($arr) {
|
||||
return count(array_filter($arr, function($v) {
|
||||
return $v === true;
|
||||
})) === count($arr);
|
||||
function allTrue($arr)
|
||||
{
|
||||
return count(array_filter($arr, function ($v) {
|
||||
return $v === true;
|
||||
})) === count($arr);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user