本文整理汇总了PHP中Prophecy\Prophecy\ObjectProphecy::download方法的典型用法代码示例。如果您正苦于以下问题:PHP ObjectProphecy::download方法的具体用法?PHP ObjectProphecy::download怎么用?PHP ObjectProphecy::download使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Prophecy\Prophecy\ObjectProphecy
的用法示例。
在下文中一共展示了ObjectProphecy::download方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testDownloadLatestVersionSuccess
public function testDownloadLatestVersionSuccess()
{
$jsonStr = file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . 'git_response_mock.json');
$this->httpClient->getJsonResponse(Argument::exact('https://api.github.com/repos/foo/bar/releases/latest'))->willReturn(json_decode($jsonStr, true))->shouldBeCalledTimes(1);
$this->httpClient->download(Argument::exact('https://github.com/msiebeneicher/chapi/releases/download/v0.5.0/chapi.phar'))->willReturn('/path/to/download/file')->shouldBeCalledTimes(1);
$this->httpClientFactory->getHttpClient()->willReturn($this->httpClient->reveal())->shouldBeCalled();
$gitStrategy = new GithubStrategy($this->httpClientFactory->reveal());
$gitStrategy->setGithubOwner('foo');
$gitStrategy->setGithubRepo('bar');
$gitStrategy->setPharFile('chapi.phar');
$this->assertEquals('/path/to/download/file', $gitStrategy->downloadLatestVersion());
}
示例2: testThrowsExceptionIfChecksumVerificationFails
/**
* @expectedException \PharIo\Phive\VerificationFailedException
*/
public function testThrowsExceptionIfChecksumVerificationFails()
{
$url = new Url('https://example.com/foo.phar');
$expectedHash = new Sha1Hash(sha1('foo'));
$release = new Release(new Version('1.0.0'), $url, $expectedHash);
$signatureUrl = new Url('https://example.com/foo.phar.asc');
$pharFile = new File(new Filename('foo.phar'), 'foo');
$this->fileDownloader->download($url)->willReturn($pharFile);
$this->fileDownloader->download($signatureUrl)->willReturn(new File(new Filename('foo.phar.asc'), 'bar'));
$this->signatureService->verify('foo', 'bar')->willReturn(true);
$this->checksumService->verify($expectedHash, $pharFile)->shouldBeCalled()->willReturn(false);
$downloader = new PharDownloader($this->fileDownloader->reveal(), $this->signatureService->reveal(), $this->checksumService->reveal());
$downloader->download($release);
}
示例3: testInstallByUrlDownloadsPharAndInvokesInstaller
public function testInstallByUrlDownloadsPharAndInvokesInstaller()
{
$url = new Url('https://example.com/foo-1.20.1.phar');
$release = new Release(new Version('1.20.1'), $url, null);
$file = new File(new Filename('foo.phar'), 'bar');
$requestedPhar = RequestedPhar::fromUrl($url);
$expectedPhar = new Phar('foo', new Version('1.20.1'), $file);
$this->repository->hasPhar('foo', new Version('1.20.1'))->shouldBeCalled()->willReturn(false);
$this->repository->addPhar($expectedPhar)->shouldBeCalled();
$this->downloader->download($release)->shouldBeCalled()->willReturn($file);
$this->repository->addUsage($expectedPhar, '/tmp/foo')->shouldBeCalled();
$this->installer->install($file, '/tmp/foo', true)->shouldBeCalled();
$this->getPharService()->install($requestedPhar, '/tmp', true);
}
示例4: testInvokesKeyDownloader
public function testInvokesKeyDownloader()
{
$this->downloader->download('foo')->willReturn('some key');
$this->assertEquals('some key', $this->getKeyService()->downloadKey('foo'));
}