renamed tests folder
This commit is contained in:
		
							
								
								
									
										9
									
								
								tests/core/LoggerTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								tests/core/LoggerTest.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| <?php | ||||
|  | ||||
| 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(); | ||||
| 	}*/ | ||||
| } | ||||
							
								
								
									
										41
									
								
								tests/core/Update/PluginUpdateManagerTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								tests/core/Update/PluginUpdateManagerTest.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| <?php | ||||
| /** | ||||
|  * Created by PhpStorm. | ||||
|  * User: Lukas | ||||
|  * Date: 15. Apr. 2017 | ||||
|  * Time: 22:44 | ||||
|  */ | ||||
|  | ||||
| namespace Tests\core\Update; | ||||
|  | ||||
| use ManiaControl\ManiaControl; | ||||
| use ManiaControl\Utils\WebReader; | ||||
|  | ||||
| class PluginUpdateManagerTest extends \PHPUnit_Framework_TestCase { | ||||
| 	public function testWebReaderAndPluginsWebservice() { | ||||
| 		$url      = ManiaControl::URL_WEBSERVICE . 'plugins'; | ||||
| 		$response = WebReader::getUrl($url); | ||||
| 		$dataJson = $response->getContent(); | ||||
|  | ||||
| 		$this->assertJson($dataJson); | ||||
|  | ||||
| 		$data = json_decode($dataJson); | ||||
|  | ||||
| 		$this->assertEquals(8, $data[0]->id); | ||||
| 		$this->assertEquals("https://download.maniacontrol.com/plugins/8_Dedimania_Plugin_v0.1.zip", $data[0]->currentVersion->url); | ||||
| 	} | ||||
|  | ||||
| 	public function testGetPluginUpdates() { | ||||
| 		$maniaControl        = new ManiaControl(); | ||||
| 		$updateManager       = $maniaControl->getUpdateManager(); | ||||
| 		$pluginUpdateManager = $updateManager->getPluginUpdateManager(); | ||||
|  | ||||
| 		//No Plugins Running so No new Updates | ||||
| 		$this->assertFalse($pluginUpdateManager->getPluginsUpdates()); | ||||
|  | ||||
| 		$maniaControl->run(5); | ||||
|  | ||||
| 		$this->assertNotFalse($pluginUpdateManager->getPluginsUpdates()); | ||||
| 		//TODO load Plugin manually and then test (could happen that no update is existing) | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										147
									
								
								tests/core/Update/UpdateManagerTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										147
									
								
								tests/core/Update/UpdateManagerTest.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,147 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Tests\core\Update; | ||||
|  | ||||
|  | ||||
| use ManiaControl\ManiaControl; | ||||
| use ManiaControl\Players\Player; | ||||
| use ManiaControl\Update\UpdateData; | ||||
| use ManiaControl\Update\UpdateManager; | ||||
|  | ||||
| final class UpdateManagerTest extends \PHPUnit_Framework_TestCase { | ||||
|  | ||||
| 	private function getBuildDateFileName() { | ||||
| 		return MANIACONTROL_PATH . "core" . DIRECTORY_SEPARATOR . UpdateManager::BUILD_DATE_FILE_NAME; | ||||
| 	} | ||||
|  | ||||
| 	public function testBuildDate() { | ||||
| 		$maniaControl  = new ManiaControl(); | ||||
| 		$updateManager = new UpdateManager($maniaControl); | ||||
|  | ||||
| 		$fileName = $this->getBuildDateFileName(); | ||||
|  | ||||
| 		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 testCheckCoreUpdateAsync() { | ||||
| 		$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); | ||||
| 	} | ||||
|  | ||||
| 	public function testPerformCoreUpdate() { | ||||
| 		$maniaControl  = new ManiaControl(); | ||||
| 		$updateManager = $maniaControl->getUpdateManager(); | ||||
|  | ||||
| 		//No Update Data Available -> so Fail | ||||
| 		$this->assertFalse($updateManager->performCoreUpdate()); | ||||
|  | ||||
| 		//Should Also Fail with a Player | ||||
| 		$player = new Player($maniaControl, true); | ||||
| 		$this->assertFalse($updateManager->performCoreUpdate($player)); | ||||
|  | ||||
| 		$message = '[ERROR] Update failed: No update Data available!'; | ||||
| 		$message = '[' . date('d-M-Y H:i:s e') . '] ' . $message . PHP_EOL; | ||||
|  | ||||
| 		//Check message | ||||
| 		$this->assertContains($message, $this->getActualOutput()); | ||||
|  | ||||
| 		$dataJson = '[{"id":"260","version":"0.166","channel":"nightly","min_dedicated_build":"2014-04-02_18_00","release_date":"2017-03-16 21:57:40","url":"https:\/\/download.maniacontrol.com\/nightly\/ManiaControl_nightly_0-166.zip"}]'; | ||||
|  | ||||
| 		//Create and Test Core Update Data | ||||
| 		$updateData = new UpdateData(json_decode($dataJson)[0]); | ||||
|  | ||||
| 		$this->assertEquals("0.166", $updateData->version); | ||||
| 		$this->assertEquals("nightly", $updateData->channel); | ||||
| 		$this->assertEquals("2014-04-02_18_00", $updateData->minDedicatedBuild); | ||||
| 		$this->assertEquals("2017-03-16 21:57:40", $updateData->releaseDate); | ||||
| 		$this->assertEquals("https://download.maniacontrol.com/nightly/ManiaControl_nightly_0-166.zip", $updateData->url); | ||||
|  | ||||
| 		$updateManager->setCoreUpdateData($updateData); | ||||
|  | ||||
| 		//Methods should return its non closure success | ||||
| 		$this->assertTrue($updateManager->performCoreUpdate($player)); | ||||
|  | ||||
| 		$maniaControl->run(5); | ||||
|  | ||||
| 		//Check if Tempfolder got Deleted | ||||
| 		$tempFolder = MANIACONTROL_PATH . 'temp' . DIRECTORY_SEPARATOR; | ||||
| 		$this->assertFileNotExists($tempFolder); | ||||
|  | ||||
| 		//Check if UpdateFileName got Deleted | ||||
| 		$updateFileName = $tempFolder . basename($updateData->url); | ||||
| 		$this->assertFileNotExists($updateFileName); | ||||
|  | ||||
| 		$fileName = $this->getBuildDateFileName(); | ||||
| 		$this->assertStringEqualsFile($fileName, $updateData->releaseDate); | ||||
| 		$this->assertEquals($updateData->releaseDate, $updateManager->getBuildDate()); | ||||
| 		$this->assertContains("Update finished!", $this->getActualOutput()); | ||||
| 	} | ||||
|  | ||||
| 	public function testPerformCoreUpdateFailUrl() { | ||||
| 		$maniaControl  = new ManiaControl(); | ||||
| 		$updateManager = $maniaControl->getUpdateManager(); | ||||
|  | ||||
| 		$dataJson = '[{"id":"260","version":"0.166","channel":"nightly","min_dedicated_build":"2014-04-02_18_00","release_date":"2017-03-16 21:57:40","url":"https:\/\/download.maniacontrol.com\/nightly\/ManiaControl_nightly_0-166.zip"}]'; | ||||
|  | ||||
| 		//Create and Test Core Update Data | ||||
| 		$updateData      = new UpdateData(json_decode($dataJson)[0]); | ||||
| 		$updateData->url = "Invalid_URL"; | ||||
| 		$updateManager->setCoreUpdateData($updateData); | ||||
|  | ||||
| 		$updateManager->performCoreUpdate(); | ||||
|  | ||||
| 		$maniaControl->run(5); | ||||
|  | ||||
| 		$player = new Player($maniaControl, true); | ||||
| 		$this->assertTrue($updateManager->performCoreUpdate($player)); | ||||
| 		$this->assertContains("[ERROR] Update failed: Couldn't load Update zip! Could not resolve host: Invalid_URL", $this->getActualOutput()); | ||||
| 	} | ||||
|  | ||||
| 	//TODO real test with download and unpack in a certain dir | ||||
| } | ||||
		Reference in New Issue
	
	Block a user