19declare(strict_types=1);
26class RequestProcessorGetRecordTest
extends RequestProcessorTestCase
28 public function testGetResponseToRequestGetRecord(): void
30 $processor =
new RequestProcessor(
32 $this->getSettings(
'prefix_'),
33 $this->getRepository(
null, 0,
'id+2022-11-27'),
34 $this->getTokenHandler()
37 $expected_response = <<<XML
39 <response_info>
base url:GetRecord:identifier=prefix_id+2022-11-27,metadataPrefix=oai_dc</response_info>
41 <record_info>prefix_id+2022-11-27:2022-11-27</record_info>
42 <md>md
for id+2022-11-27</md>
47 $response = $processor->getResponseToRequest($this->getRequest(
50 [Argument::IDENTIFIER->value =>
'prefix_id+2022-11-27', Argument::MD_PREFIX->value =>
'oai_dc']
53 $this->assertXmlStringEqualsXmlString($expected_response,
$response->saveXML());
56 public function testGetResponseToRequestGetRecordDeleted(): void
58 $processor =
new RequestProcessor(
60 $this->getSettings(
'prefix_'),
61 $this->getRepository(
null, 0,
'delid+2022-11-27'),
62 $this->getTokenHandler()
65 $expected_response = <<<XML
67 <response_info>
base url:GetRecord:identifier=prefix_delid+2022-11-27,metadataPrefix=oai_dc</response_info>
69 <record_info>prefix_delid+2022-11-27:2022-11-27</record_info>
74 $response = $processor->getResponseToRequest($this->getRequest(
77 [Argument::IDENTIFIER->value =>
'prefix_delid+2022-11-27', Argument::MD_PREFIX->value =>
'oai_dc']
80 $this->assertXmlStringEqualsXmlString($expected_response,
$response->saveXML());
83 public function testGetResponseToRequestGetRecordNoMDFormatError(): void
85 $processor =
new RequestProcessor(
87 $this->getSettings(
'prefix_'),
88 $this->getRepository(
null, 0,
'id+2022-11-27'),
89 $this->getTokenHandler()
92 $expected_response = <<<XML
94 <response_info>
base url:GetRecord:identifier=prefix_id+2022-11-27</response_info>
99 $response = $processor->getResponseToRequest($this->getRequest(
102 [Argument::IDENTIFIER->value =>
'prefix_id+2022-11-27'],
106 $this->assertXmlStringEqualsXmlString($expected_response,
$response->saveXML());
109 public function testGetResponseToRequestGetRecordNoIdentifierError(): void
111 $processor =
new RequestProcessor(
113 $this->getSettings(
'prefix_'),
114 $this->getRepository(
null, 0,
'id+2022-11-27'),
115 $this->getTokenHandler()
118 $expected_response = <<<XML
120 <response_info>
base url:GetRecord:metadataPrefix=oai_dc</response_info>
125 $response = $processor->getResponseToRequest($this->getRequest(
128 [Argument::MD_PREFIX->value =>
'oai_dc'],
132 $this->assertXmlStringEqualsXmlString($expected_response,
$response->saveXML());
135 public function testGetResponseToRequestGetRecordAdditionalArgumentError(): void
137 $processor =
new RequestProcessor(
139 $this->getSettings(
'prefix_'),
140 $this->getRepository(
null, 0,
'id+2022-11-27'),
141 $this->getTokenHandler()
144 $expected_response = <<<XML
146 <response_info>
base url:GetRecord:identifier=prefix_id+2022-11-27,metadataPrefix=oai_dc,
from=date</response_info>
151 $response = $processor->getResponseToRequest($this->getRequest(
154 [Argument::IDENTIFIER->value =>
'prefix_id+2022-11-27', Argument::MD_PREFIX->value =>
'oai_dc', Argument::FROM_DATE->value =>
'date'],
159 $this->assertXmlStringEqualsXmlString($expected_response,
$response->saveXML());
162 public function testGetResponseToRequestGetRecordWrongMDFormatError(): void
164 $processor =
new RequestProcessor(
166 $this->getSettings(
'prefix_'),
167 $this->getRepository(
null, 0,
'id+2022-11-27'),
168 $this->getTokenHandler()
171 $expected_response = <<<XML
173 <response_info>
base url:GetRecord:identifier=prefix_id+2022-11-27,metadataPrefix=invalid</response_info>
178 $response = $processor->getResponseToRequest($this->getRequest(
181 [Argument::IDENTIFIER->value =>
'prefix_id+2022-11-27', Argument::MD_PREFIX->value =>
'invalid']
184 $this->assertXmlStringEqualsXmlString($expected_response,
$response->saveXML());
187 public function testGetResponseToRequestGetRecordInvalidIdentifierError(): void
189 $processor =
new RequestProcessor(
191 $this->getSettings(
'prefix_'),
192 $this->getRepository(
null, 0,
'id+2022-11-27'),
193 $this->getTokenHandler()
196 $expected_response = <<<XML
198 <response_info>
base url:GetRecord:identifier=invalid_id+2022-11-27,metadataPrefix=oai_dc</response_info>
203 $response = $processor->getResponseToRequest($this->getRequest(
206 [Argument::IDENTIFIER->value =>
'invalid_id+2022-11-27', Argument::MD_PREFIX->value =>
'oai_dc']
209 $this->assertXmlStringEqualsXmlString($expected_response,
$response->saveXML());
212 public function testGetResponseToRequestGetRecordNotFoundError(): void
214 $processor =
new RequestProcessor(
216 $this->getSettings(
'prefix_'),
217 $this->getRepository(),
218 $this->getTokenHandler()
221 $expected_response = <<<XML
223 <response_info>
base url:GetRecord:identifier=prefix_id+2022-11-27,metadataPrefix=oai_dc</response_info>
228 $response = $processor->getResponseToRequest($this->getRequest(
231 [Argument::IDENTIFIER->value =>
'prefix_id+2022-11-27', Argument::MD_PREFIX->value =>
'oai_dc']
234 $this->assertXmlStringEqualsXmlString($expected_response,
$response->saveXML());
237 public function testGetResponseToRequestGetRecordMultipleErrors(): void
239 $processor =
new RequestProcessor(
241 $this->getSettings(
'prefix_'),
242 $this->getRepository(),
243 $this->getTokenHandler()
246 $expected_response = <<<XML
248 <response_info>
base url:GetRecord:identifier=prefix_id+2022-11-27,metadataPrefix=invalid,
from=date</response_info>
255 $response = $processor->getResponseToRequest($this->getRequest(
258 [Argument::IDENTIFIER->value =>
'prefix_id+2022-11-27', Argument::MD_PREFIX->value =>
'invalid', Argument::FROM_DATE->value =>
'date'],
262 $this->assertXmlStringEqualsXmlString($expected_response,
$response->saveXML());