public function testCheckCredentialsActionWithException() { $this->curl->expects($this->once())->method('setCredentials')->with('username', 'password'); $this->curl->expects($this->once())->method('getStatus')->will($this->throwException(new \Exception("Test error"))); $this->curl->expects($this->never())->method('getBody')->willReturn("{'someJson}"); $expectedValue = '{"success":false,"message":"Test error"}'; $returnValue = $this->packagesAuth->checkCredentials('username', 'password'); $this->assertSame($expectedValue, $returnValue); }
/** * @param string $token * @param string $secretKey * @return string */ public function checkCredentials($token, $secretKey) { $serviceUrl = $this->getPackagesJsonUrl(); $this->curlClient->setCredentials($token, $secretKey); try { $this->curlClient->post($serviceUrl, []); if ($this->curlClient->getStatus() == 200) { $packagesInfo = $this->curlClient->getBody(); $directory = $this->filesystem->getDirectoryWrite(DirectoryList::COMPOSER_HOME); $directory->writeFile(self::PATH_TO_PACKAGES_FILE, $packagesInfo); return \Zend_Json::encode(['success' => true]); } else { return \Zend_Json::encode(['success' => false, 'message' => 'Bad credentials']); } } catch (\Exception $e) { return \Zend_Json::encode(['success' => false, 'message' => $e->getMessage()]); } }