Started PHPUnit Tests
This commit is contained in:
		
							
								
								
									
										15
									
								
								Tests/core/LoggerTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								Tests/core/LoggerTest.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| <?php | ||||
| /** | ||||
|  * Created by PhpStorm. | ||||
|  * User: Lukas | ||||
|  * Date: 14. Apr. 2017 | ||||
|  * Time: 22:41 | ||||
|  */ | ||||
|  | ||||
| use ManiaControl\Logger; | ||||
|  | ||||
| class LoggerTest extends PHPUnit_Framework_TestCase { | ||||
| 	public function testGetLogsFolder(){ | ||||
| 		$this->assertEquals(Logger::getLogsFolder(), MANIACONTROL_PATH . 'logs' . DIRECTORY_SEPARATOR); | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										23
									
								
								Tests/core/ManiaControlTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								Tests/core/ManiaControlTest.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| <?php | ||||
|  | ||||
| use ManiaControl\ManiaControl; | ||||
|  | ||||
| class ManiaControlTest extends PHPUnit_Framework_TestCase { | ||||
| 	public function testRun(){ | ||||
| 		$maniaControl = new ManiaControl(); | ||||
| 		$maniaControl->run(10); | ||||
|  | ||||
| 		sleep(15); | ||||
|  | ||||
| 		//$this->l | ||||
| 		//$this->assertNull($maniaControl); | ||||
| 	} | ||||
|  | ||||
| /*	public function testGetClient(){ | ||||
| 		$maniaControl = new ManiaControl(); | ||||
| 		$mcClient = $maniaControl->getClient(); | ||||
|  | ||||
| 		//$maniaControl->connect(); | ||||
| 		//$mpClient = new Maniaplanet\DedicatedServer\Connection(); | ||||
| 	}*/ | ||||
| } | ||||
							
								
								
									
										70
									
								
								Tests/core/Update/UpdateManagerTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								Tests/core/Update/UpdateManagerTest.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,70 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Tests\core\Update; | ||||
|  | ||||
|  | ||||
| use ManiaControl\ManiaControl; | ||||
| use ManiaControl\Update\UpdateManager; | ||||
|  | ||||
| final class UpdateManagerTest extends \PHPUnit_Framework_TestCase { | ||||
|  | ||||
| 	public function testBuildDate() { | ||||
| 		$maniaControl  = new ManiaControl(); | ||||
| 		$updateManager = new UpdateManager($maniaControl); | ||||
|  | ||||
| 		$fileName = MANIACONTROL_PATH . "core" . DIRECTORY_SEPARATOR . UpdateManager::BUILD_DATE_FILE_NAME; | ||||
|  | ||||
| 		if(!file_exists($fileName)){ | ||||
| 			$this->assertTrue($updateManager->setBuildDate("BuildDateTest-6543210")); | ||||
| 		} | ||||
|  | ||||
| 		$this->assertFileExists($fileName); | ||||
|  | ||||
| 		$buildDate = $updateManager->getBuildDate(); | ||||
| 		$this->assertStringEqualsFile($fileName, $buildDate); | ||||
|  | ||||
| 		$this->assertTrue($updateManager->setBuildDate("BuildDateTest-0123456")); | ||||
| 		$this->assertEquals($updateManager->getBuildDate(), "BuildDateTest-0123456"); | ||||
|  | ||||
| 		$this->assertStringEqualsFile($fileName, $updateManager->getBuildDate()); | ||||
| 	} | ||||
|  | ||||
| 	public function testGetPluginUpdateManagerTest() { | ||||
| 		$maniaControl  = new ManiaControl(); | ||||
| 		$updateManager = new UpdateManager($maniaControl); | ||||
|  | ||||
| 		$pluginUpdateManager = $updateManager->getPluginUpdateManager(); | ||||
|  | ||||
| 		$this->assertInstanceOf("ManiaControl\\Update\\PluginUpdateManager", $pluginUpdateManager); | ||||
| 	} | ||||
|  | ||||
| 	public function testIsNightlyUpdateChannel() { | ||||
| 		$maniaControl  = new ManiaControl(); | ||||
| 		$updateManager = new UpdateManager($maniaControl); | ||||
|  | ||||
| 		$this->assertTrue($updateManager->isNightlyUpdateChannel(UpdateManager::CHANNEL_NIGHTLY)); | ||||
|  | ||||
| 		$isNightly = $updateManager->isNightlyUpdateChannel(null); | ||||
|  | ||||
| 		$this->assertEquals($updateManager->isNightlyUpdateChannel($updateManager->getCurrentUpdateChannelSetting()), $isNightly); | ||||
| 	} | ||||
|  | ||||
| 	public function testCoreUpdateAsync() { | ||||
| 		$maniaControl  = new ManiaControl(); | ||||
|  | ||||
| 		$updateManager = $maniaControl->getUpdateManager(); | ||||
|  | ||||
| 		$called = false; | ||||
| 		$function = function ($updateData) use (&$called){ | ||||
| 			$called = true; | ||||
| 			$this->assertNotNull($updateData); | ||||
| 			$this->assertObjectHasAttribute("version", $updateData); | ||||
| 		}; | ||||
|  | ||||
| 		$updateManager->checkCoreUpdateAsync($function); | ||||
|  | ||||
| 		$maniaControl->run(6); | ||||
|  | ||||
| 		$this->assertTrue($called); | ||||
| 	} | ||||
| } | ||||
| @@ -64,7 +64,7 @@ class ManiaControl implements CallbackListener, CommandListener, TimerListener, | ||||
| 	 * Public properties | ||||
| 	 */ | ||||
| 	/** @var SettingManager $settingManager | ||||
| 	 * @see getSettingManager() | ||||
| 	 * @see        getSettingManager() | ||||
| 	 * @deprecated use getSettingManager() | ||||
| 	 */ | ||||
| 	public $settingManager = null; | ||||
| @@ -166,6 +166,8 @@ class ManiaControl implements CallbackListener, CommandListener, TimerListener, | ||||
|  | ||||
| 	private $requestQuitMessage = null; | ||||
|  | ||||
| 	private $startTime = -1; | ||||
|  | ||||
| 	/** | ||||
| 	 * Construct a new ManiaControl instance | ||||
| 	 */ | ||||
| @@ -547,11 +549,12 @@ class ManiaControl implements CallbackListener, CommandListener, TimerListener, | ||||
| 		$this->requestQuitMessage = $message; | ||||
| 	} | ||||
|  | ||||
|  | ||||
| 	/** | ||||
| 	 * Run ManiaControl | ||||
| 	 * | ||||
| 	 * @param int $runTime Time in Seconds until its terminating (used for PHPUnit Tests) | ||||
| 	 */ | ||||
| 	public function run() { | ||||
| 	public function run($runTime = -1) { | ||||
| 		Logger::log('Starting ManiaControl v' . self::VERSION . '!'); | ||||
|  | ||||
| 		try { | ||||
| @@ -583,14 +586,22 @@ class ManiaControl implements CallbackListener, CommandListener, TimerListener, | ||||
| 			Logger::log('Link: ' . $this->getServer()->getJoinLink()); | ||||
| 			$this->getChat()->sendInformation('ManiaControl v' . self::VERSION . ' successfully started!'); | ||||
|  | ||||
| 			$this->startTime = time(); | ||||
|  | ||||
| 			// Main loop | ||||
| 			while (!$this->requestQuitMessage) { | ||||
| 				$this->loop(); | ||||
|  | ||||
| 				//Used for PHPUnit Tests | ||||
| 				if ($runTime > 0) { | ||||
| 					if (time() > ($this->startTime + $runTime)) { | ||||
| 						$this->requestQuit("Run Time Exceeded"); | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
|  | ||||
| 			// Shutdown | ||||
| 			$this->quit($this->requestQuitMessage); | ||||
|  | ||||
| 				$this->quit($this->requestQuitMessage); | ||||
| 		} catch (TransportException $exception) { | ||||
| 			Logger::logError('Connection interrupted!'); | ||||
| 			$this->getErrorHandler()->handleException($exception); | ||||
| @@ -679,7 +690,9 @@ class ManiaControl implements CallbackListener, CommandListener, TimerListener, | ||||
| 		$loopStart = microtime(true); | ||||
|  | ||||
| 		// Extend script timeout | ||||
| 		set_time_limit(self::SCRIPT_TIMEOUT); | ||||
| 		if(!defined('PHP_UNIT_TEST')){ | ||||
| 			set_time_limit(self::SCRIPT_TIMEOUT); | ||||
| 		} | ||||
|  | ||||
| 		// Manage callbacks | ||||
| 		$this->getCallbackManager()->manageCallbacks(); | ||||
|   | ||||
| @@ -145,6 +145,7 @@ class UpdateManager implements CallbackListener, CommandListener, TimerListener | ||||
| 				Logger::logError('Error on UpdateCheck: ' . $error); | ||||
| 				return; | ||||
| 			} | ||||
|  | ||||
| 			$versions = json_decode($dataJson); | ||||
| 			if (!$versions || !isset($versions[0])) { | ||||
| 				call_user_func($function); | ||||
|   | ||||
| @@ -117,7 +117,10 @@ class SystemUtil { | ||||
| 				Logger::log($message); | ||||
| 			} | ||||
| 		} | ||||
| 		exit; | ||||
|  | ||||
| 		if (!defined('PHP_UNIT_TEST')) { | ||||
| 			exit; | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
|   | ||||
		Reference in New Issue
	
	Block a user