You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							51 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
	
	
							51 lines
						
					
					
						
							1.4 KiB
						
					
					
				| <?php | |
|  | |
| namespace yiiunit\extensions\elasticsearch; | |
|  | |
| use Yii; | |
| use yii\elasticsearch\Connection; | |
| use yiiunit\TestCase; | |
|  | |
| Yii::setAlias('@yii/elasticsearch', __DIR__ . '/../../../../extensions/yii/elasticsearch'); | |
|  | |
| /** | |
|  * ElasticSearchTestCase is the base class for all elasticsearch related test cases | |
|  */ | |
| class ElasticSearchTestCase extends TestCase | |
| { | |
| 	protected function setUp() | |
| 	{ | |
| 		$this->mockApplication(); | |
|  | |
| 		$databases = $this->getParam('databases'); | |
| 		$params = isset($databases['elasticsearch']) ? $databases['elasticsearch'] : null; | |
| 		if ($params === null || !isset($params['dsn'])) { | |
| 			$this->markTestSkipped('No elasticsearch server connection configured.'); | |
| 		} | |
| 		$dsn = explode('/', $params['dsn']); | |
| 		$host = $dsn[2]; | |
| 		if (strpos($host, ':')===false) { | |
| 			$host .= ':9200'; | |
| 		} | |
| 		if(!@stream_socket_client($host, $errorNumber, $errorDescription, 0.5)) { | |
| 			$this->markTestSkipped('No elasticsearch server running at ' . $params['dsn'] . ' : ' . $errorNumber . ' - ' . $errorDescription); | |
| 		} | |
|  | |
| 		parent::setUp(); | |
| 	} | |
|  | |
| 	/** | |
| 	 * @param bool $reset whether to clean up the test database | |
| 	 * @return Connection | |
| 	 */ | |
| 	public function getConnection($reset = true) | |
| 	{ | |
| 		$databases = $this->getParam('databases'); | |
| 		$params = isset($databases['elasticsearch']) ? $databases['elasticsearch'] : array(); | |
| 		$db = new Connection(); | |
| 		if ($reset) { | |
| 			$db->open(); | |
| 		} | |
| 		return $db; | |
| 	} | |
| }
 | |
| 
 |