|
|
|
@ -17,6 +17,31 @@ use Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesserInterface;
|
|
|
|
|
*/ |
|
|
|
|
class FedoraAdapterTest extends IslandoraKernelTestBase { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Shared functionality for an adapter. |
|
|
|
|
*/ |
|
|
|
|
protected function createAdapterBase() { |
|
|
|
|
$prophecy = $this->prophesize(Response::class); |
|
|
|
|
$prophecy->getStatusCode()->willReturn(200); |
|
|
|
|
$prophecy->getHeader('Last-Modified') |
|
|
|
|
->willReturn(["Wed, 25 Jul 2018 17:42:04 GMT"]); |
|
|
|
|
$prophecy->getHeader('Link') |
|
|
|
|
->willReturn([ |
|
|
|
|
'<http://www.w3.org/ns/ldp#Resource>;rel="type"', |
|
|
|
|
'<http://www.w3.org/ns/ldp#NonRDFSource>;rel="type"', |
|
|
|
|
]); |
|
|
|
|
$prophecy->getHeader('Content-Type')->willReturn(['text/plain']); |
|
|
|
|
$prophecy->getHeader('Content-Length')->willReturn([strlen("DERP")]); |
|
|
|
|
// phpcs:disable |
|
|
|
|
if (class_exists(\GuzzleHttp\Psr7\Utils::class)) { |
|
|
|
|
$prophecy->getBody()->willReturn(\GuzzleHttp\Psr7\Utils::streamFor("DERP")); |
|
|
|
|
} else { |
|
|
|
|
$prophecy->getBody()->willReturn(\GuzzleHttp\Psr7\stream_for("DERP")); |
|
|
|
|
} |
|
|
|
|
// phpcs:enable |
|
|
|
|
return $prophecy; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Mocks up an adapter for Fedora calls that return 404. |
|
|
|
|
*/ |
|
|
|
@ -40,25 +65,7 @@ class FedoraAdapterTest extends IslandoraKernelTestBase {
|
|
|
|
|
* Mocks up an adapter for Fedora LDP-NR response. |
|
|
|
|
*/ |
|
|
|
|
protected function createAdapterForFile() { |
|
|
|
|
$prophecy = $this->prophesize(Response::class); |
|
|
|
|
$prophecy->getStatusCode()->willReturn(200); |
|
|
|
|
$prophecy->getHeader('Last-Modified') |
|
|
|
|
->willReturn(["Wed, 25 Jul 2018 17:42:04 GMT"]); |
|
|
|
|
$prophecy->getHeader('Link') |
|
|
|
|
->willReturn([ |
|
|
|
|
'<http://www.w3.org/ns/ldp#Resource>;rel="type"', |
|
|
|
|
'<http://www.w3.org/ns/ldp#NonRDFSource>;rel="type"', |
|
|
|
|
]); |
|
|
|
|
$prophecy->getHeader('Content-Type')->willReturn(['text/plain']); |
|
|
|
|
$prophecy->getHeader('Content-Length')->willReturn([strlen("DERP")]); |
|
|
|
|
// phpcs:disable |
|
|
|
|
if (class_exists(\GuzzleHttp\Psr7\Utils::class)) { |
|
|
|
|
$prophecy->getBody()->willReturn(\GuzzleHttp\Psr7\Utils::streamFor("DERP")); |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
$prophecy->getBody()->willReturn(\GuzzleHttp\Psr7\stream_for("DERP")); |
|
|
|
|
} |
|
|
|
|
// phpcs:enable |
|
|
|
|
$prophecy = $this->createAdapterBase(); |
|
|
|
|
$response = $prophecy->reveal(); |
|
|
|
|
|
|
|
|
|
$prophecy = $this->prophesize(IFedoraApi::class); |
|
|
|
@ -113,25 +120,8 @@ class FedoraAdapterTest extends IslandoraKernelTestBase {
|
|
|
|
|
$fedora_prophecy->saveResource('', '', Argument::any()) |
|
|
|
|
->willReturn($prophecy->reveal()); |
|
|
|
|
|
|
|
|
|
$prophecy = $this->prophesize(Response::class); |
|
|
|
|
$prophecy->getStatusCode()->willReturn(200); |
|
|
|
|
$prophecy->getHeader('Last-Modified') |
|
|
|
|
->willReturn(["Wed, 25 Jul 2018 17:42:04 GMT"]); |
|
|
|
|
$prophecy->getHeader('Link') |
|
|
|
|
->willReturn([ |
|
|
|
|
'<http://www.w3.org/ns/ldp#Resource>;rel="type"', |
|
|
|
|
'<http://www.w3.org/ns/ldp#NonRDFSource>;rel="type"', |
|
|
|
|
]); |
|
|
|
|
$prophecy->getHeader('Content-Type')->willReturn(['text/plain']); |
|
|
|
|
$prophecy->getHeader('Content-Length')->willReturn([strlen("DERP")]); |
|
|
|
|
// phpcs:disable |
|
|
|
|
if (class_exists(\GuzzleHttp\Psr7\Utils::class)) { |
|
|
|
|
$prophecy->getBody()->willReturn(\GuzzleHttp\Psr7\Utils::streamFor("DERP")); |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
$prophecy->getBody()->willReturn(\GuzzleHttp\Psr7\stream_for("DERP")); |
|
|
|
|
} |
|
|
|
|
// phpcs:enable |
|
|
|
|
$prophecy = $this->createAdapterBase(); |
|
|
|
|
|
|
|
|
|
$fedora_prophecy->getResourceHeaders('')->willReturn($prophecy->reveal()); |
|
|
|
|
|
|
|
|
|
$api = $fedora_prophecy->reveal(); |
|
|
|
@ -611,25 +601,8 @@ class FedoraAdapterTest extends IslandoraKernelTestBase {
|
|
|
|
|
* @covers \Drupal\islandora\Flysystem\Adapter\FedoraAdapter::copy |
|
|
|
|
*/ |
|
|
|
|
public function testRename() { |
|
|
|
|
$prophecy = $this->prophesize(Response::class); |
|
|
|
|
$prophecy->getStatusCode()->willReturn(200); |
|
|
|
|
$prophecy->getHeader('Last-Modified') |
|
|
|
|
->willReturn(["Wed, 25 Jul 2018 17:42:04 GMT"]); |
|
|
|
|
$prophecy->getHeader('Link') |
|
|
|
|
->willReturn([ |
|
|
|
|
'<http://www.w3.org/ns/ldp#Resource>;rel="type"', |
|
|
|
|
'<http://www.w3.org/ns/ldp#NonRDFSource>;rel="type"', |
|
|
|
|
]); |
|
|
|
|
$prophecy->getHeader('Content-Type')->willReturn(['text/plain']); |
|
|
|
|
$prophecy->getHeader('Content-Length')->willReturn([strlen("DERP")]); |
|
|
|
|
// phpcs:disable |
|
|
|
|
if (class_exists(\GuzzleHttp\Psr7\Utils::class)) { |
|
|
|
|
$prophecy->getBody()->willReturn(\GuzzleHttp\Psr7\Utils::streamFor("DERP")); |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
$prophecy->getBody()->willReturn(\GuzzleHttp\Psr7\stream_for("DERP")); |
|
|
|
|
} |
|
|
|
|
// phpcs:enable |
|
|
|
|
$prophecy = $this->createAdapterBase(); |
|
|
|
|
|
|
|
|
|
$response = $prophecy->reveal(); |
|
|
|
|
|
|
|
|
|
$fedora_prophecy = $this->prophesize(IFedoraApi::class); |
|
|
|
|