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(); } }