apiKey
This commit is contained in:
		
							parent
							
								
									d42e2a5dd4
								
							
						
					
					
						commit
						3d17d2ff64
					
				| @ -2,7 +2,7 @@ | |||||||
|     "name": "multi-downloader-client", |     "name": "multi-downloader-client", | ||||||
|     "image": "rg.fr-par.scw.cloud/kubernetes/devcontainer:php-8.3", |     "image": "rg.fr-par.scw.cloud/kubernetes/devcontainer:php-8.3", | ||||||
|     "containerEnv": { |     "containerEnv": { | ||||||
| 
 |         "MULTI_DOWNLOADER_API_KEY": "YOUR_API_KEY" | ||||||
|     }, |     }, | ||||||
|     "customizations": { |     "customizations": { | ||||||
|         "vscode": { |         "vscode": { | ||||||
|  | |||||||
| @ -4,4 +4,16 @@ namespace Nwb\MultiDownloaderClient; | |||||||
| 
 | 
 | ||||||
| class MultiDownloaderClient | class MultiDownloaderClient | ||||||
| { | { | ||||||
|  |     private string $apiKey; | ||||||
|  | 
 | ||||||
|  |     public function __construct(string $apiKey = null) | ||||||
|  |     { | ||||||
|  |         $apiKey = $apiKey ?? getenv('MULTI_DOWNLOADER_API_KEY'); | ||||||
|  | 
 | ||||||
|  |         if (!$apiKey) { | ||||||
|  |             throw new \InvalidArgumentException('API key is required'); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         $this->apiKey = $apiKey; | ||||||
|  |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,14 +0,0 @@ | |||||||
| <?php |  | ||||||
| 
 |  | ||||||
| include __DIR__ . '/../vendor/autoload.php'; |  | ||||||
| 
 |  | ||||||
| use Nwb\MultiDownloaderClient\MultiDownloaderClient; |  | ||||||
| use PHPUnit\Framework\TestCase; |  | ||||||
| 
 |  | ||||||
| class MultiDownloaderClienTest extends TestCase |  | ||||||
| { |  | ||||||
|     public function testHello() |  | ||||||
|     { |  | ||||||
|         $client = new MultiDownloaderClient(); |  | ||||||
|     } |  | ||||||
| } |  | ||||||
							
								
								
									
										45
									
								
								tests/MultiDownloaderClientTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								tests/MultiDownloaderClientTest.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,45 @@ | |||||||
|  | <?php | ||||||
|  | 
 | ||||||
|  | include __DIR__ . '/../vendor/autoload.php'; | ||||||
|  | 
 | ||||||
|  | use Nwb\MultiDownloaderClient\MultiDownloaderClient; | ||||||
|  | use PHPUnit\Framework\TestCase; | ||||||
|  | 
 | ||||||
|  | class MultiDownloaderClientTest extends TestCase | ||||||
|  | { | ||||||
|  |     public static function getProperty($object, $property) | ||||||
|  |     { | ||||||
|  |         $reflectedClass = new \ReflectionClass($object); | ||||||
|  |         $reflection = $reflectedClass->getProperty($property); | ||||||
|  |         $reflection->setAccessible(true); | ||||||
|  | 
 | ||||||
|  |         return $reflection->getValue($object); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public function testApiKeyEnv() | ||||||
|  |     { | ||||||
|  |         putenv('MULTI_DOWNLOADER_API_KEY=1234567890'); | ||||||
|  | 
 | ||||||
|  |         $client = new MultiDownloaderClient(); | ||||||
|  |         $apiKey = self::getProperty($client, 'apiKey'); | ||||||
|  |         $this->assertEquals('1234567890', $apiKey); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public function testApiKeyParam() | ||||||
|  |     { | ||||||
|  |         $client = new MultiDownloaderClient('test_key'); | ||||||
|  | 
 | ||||||
|  |         $apiKey = self::getProperty($client, 'apiKey'); | ||||||
|  |         $this->assertEquals('test_key', $apiKey); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public function testApiKeyMissing() | ||||||
|  |     { | ||||||
|  |         $this->expectException(\InvalidArgumentException::class); | ||||||
|  |         $this->expectExceptionMessage('API key is required'); | ||||||
|  | 
 | ||||||
|  |         putenv('MULTI_DOWNLOADER_API_KEY'); | ||||||
|  | 
 | ||||||
|  |         new MultiDownloaderClient(); | ||||||
|  |     } | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user