error_reporting(E_ALL ^ E_NOTICE); } else { require_once API_ROOT . DIRECTORY_SEPARATOR . 'config.development.php'; error_reporting(E_ALL ^ E_NOTICE); } } require_once API_ROOT . DIRECTORY_SEPARATOR . 'common.php'; ## 獲取測試參數 $apicode = substr(strval(Assign($argv[1], '0') + 1000), 1, 3); $samples = intval(Assign($argv[2], 0)); $apifile = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'samples' . DIRECTORY_SEPARATOR . $apicode . '.php'; ## 執行測試樣品 if (file_exists($apifile) == FALSE) { die("API '{$apicode}' NOT EXISTS"); } else { require_once $apifile; if (is_array($GLOBALS['DATA']) == FALSE) { die("Unit Test Error: '{$apicode}' Samples Not Array"); } $GLOBALS['TEST_DATA'] = $GLOBALS['DATA']; if ($samples > 0) { $GLOBALS['TEST_DATA'] = array($samples - 1 => Assign($GLOBALS['DATA'][$samples - 1], array())); } echo '------------------------------ '; echo strtoupper(API_NAME) . ' API for ' . $apicode; echo ' ------------------------------'; foreach ($GLOBALS['TEST_DATA'] as $number => $sample) { echo "\nUNIT TEST " . ($number + 1) . "th\n"; UnitTest($apicode, $sample); } }
function PHPOperation($Action) { switch ($Action) { case "UnitTest": UnitTest($Action); break; case "AddAccount": AddAccount($Action); break; case "SignIn": SignIn($Action); break; case "SignInPet": SignInPet($Action); break; case "SignOut": SignOut($Action); break; case "FetchErrors": FetchErrors($Action); break; case "AddError": AddError($Action); break; case "FetchActivities": FetchActivities($Action); break; case "FetchSignInPet": FetchSignInPet($Action); break; case "FetchBreeds": FetchBreeds($Action); break; case "ValidateSession": ValidateSession($Action); break; case "ResetPassword": ResetPassword($Action); break; case "UpdatePassword": UpdatePassword($Action); break; case "AddPet": AddPet($Action); break; case "AddBreed": AddBreed($Action); break; case "FetchUsers": FetchUsers($Action); break; case "FetchUserPets": FetchUserPets($Action); break; case "FetchUserStatus": FetchUserStatus($Action); break; case "FetchPetStatus": FetchPetStatus($Action); break; case "FetchPet": FetchPet($Action); break; case "UpdateAccountStatus": UpdateAccountStatus($Action); break; case "UpdatePetStatus": UpdatePetStatus($Action); break; case "UpdatePetName": UpdatePetName($Action); break; case "UpdatePetBreed": UpdatePetBreed($Action); break; case "UpdatePetGender": UpdatePetGender($Action); break; case "UpdateBreed": UpdateBreed($Action); break; case "FetchPetNameCount": FetchPetNameCount($Action); break; case "FetchUserEmail": FetchUserEmail($Action); break; } }