ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
RequestProcessorListMetadataFormatsTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
25
26class RequestProcessorListMetadataFormatsTest extends RequestProcessorTestCase
27{
28 public function testGetResponseToRequestListMetadataFormats(): void
29 {
30 $processor = new RequestProcessor(
31 $this->getWriter(),
32 $this->getSettings(),
33 $this->getRepository(),
34 $this->getTokenHandler()
35 );
36
37 $expected_response = <<<XML
38 <response>
39 <response_info>base url:ListMetadataFormats:</response_info>
40 <md_format>some metadata</md_format>
41 </response>
42 XML;
43
44 $response = $processor->getResponseToRequest($this->getRequest(
45 'base url',
46 Verb::LIST_MD_FORMATS,
47 []
48 ));
49
50 $this->assertXmlStringEqualsXmlString($expected_response, $response->saveXML());
51 }
52
53 public function testGetResponseToRequestListMetadataFormatsWithIdentifier(): void
54 {
55 $processor = new RequestProcessor(
56 $this->getWriter(),
57 $this->getSettings('prefix_'),
58 $this->getRepository(null, 0, 'id'),
59 $this->getTokenHandler()
60 );
61
62 $expected_response = <<<XML
63 <response>
64 <response_info>base url:ListMetadataFormats:identifier=prefix_id</response_info>
65 <md_format>some metadata</md_format>
66 </response>
67 XML;
68
69 $response = $processor->getResponseToRequest($this->getRequest(
70 'base url',
71 Verb::LIST_MD_FORMATS,
72 [Argument::IDENTIFIER->value => 'prefix_id']
73 ));
74
75 $this->assertXmlStringEqualsXmlString($expected_response, $response->saveXML());
76 }
77
78 public function testGetResponseToRequestListMetadataFormatsAdditionalArgumentError(): void
79 {
80 $processor = new RequestProcessor(
81 $this->getWriter(),
82 $this->getSettings(),
83 $this->getRepository(),
84 $this->getTokenHandler()
85 );
86
87 $expected_response = <<<XML
88 <error_response>
89 <response_info>base url:ListMetadataFormats:until=some date</response_info>
90 <error>badArgument</error>
91 </error_response>
92 XML;
93
94 $response = $processor->getResponseToRequest($this->getRequest(
95 'base url',
96 Verb::LIST_MD_FORMATS,
97 [Argument::UNTIL_DATE->value => 'some date'],
98 false
99 ));
100
101 $this->assertXmlStringEqualsXmlString($expected_response, $response->saveXML());
102 }
103
104 public function testGetResponseToRequestListMetadataFormatsInvalidIdentifierError(): void
105 {
106 $processor = new RequestProcessor(
107 $this->getWriter(),
108 $this->getSettings('prefix_'),
109 $this->getRepository(null, 0, 'no prefix'),
110 $this->getTokenHandler()
111 );
112
113 $expected_response = <<<XML
114 <error_response>
115 <response_info>base url:ListMetadataFormats:identifier=no prefix</response_info>
116 <error>idDoesNotExist</error>
117 </error_response>
118 XML;
119
120 $response = $processor->getResponseToRequest($this->getRequest(
121 'base url',
122 Verb::LIST_MD_FORMATS,
123 [Argument::IDENTIFIER->value => 'no prefix']
124 ));
125
126 $this->assertXmlStringEqualsXmlString($expected_response, $response->saveXML());
127 }
128
129 public function testGetResponseToRequestListMetadataFormatsRecordNotFoundError(): void
130 {
131 $processor = new RequestProcessor(
132 $this->getWriter(),
133 $this->getSettings('prefix_'),
134 $this->getRepository(),
135 $this->getTokenHandler()
136 );
137
138 $expected_response = <<<XML
139 <error_response>
140 <response_info>base url:ListMetadataFormats:identifier=prefix_id</response_info>
141 <error>idDoesNotExist</error>
142 </error_response>
143 XML;
144
145 $response = $processor->getResponseToRequest($this->getRequest(
146 'base url',
147 Verb::LIST_MD_FORMATS,
148 [Argument::IDENTIFIER->value => 'prefix_id']
149 ));
150
151 $this->assertXmlStringEqualsXmlString($expected_response, $response->saveXML());
152 }
153
154 public function testGetResponseToRequestListMetadataFormatsMultipleErrors(): void
155 {
156 $processor = new RequestProcessor(
157 $this->getWriter(),
158 $this->getSettings('prefix_'),
159 $this->getRepository(),
160 $this->getTokenHandler()
161 );
162
163 $expected_response = <<<XML
164 <error_response>
165 <response_info>base url:ListMetadataFormats:identifier=prefix_id,until=some date</response_info>
166 <error>badArgument</error>
167 <error>idDoesNotExist</error>
168 </error_response>
169 XML;
170
171 $response = $processor->getResponseToRequest($this->getRequest(
172 'base url',
173 Verb::LIST_MD_FORMATS,
174 [Argument::IDENTIFIER->value => 'prefix_id', Argument::UNTIL_DATE->value => 'some date'],
175 false
176 ));
177
178 $this->assertXmlStringEqualsXmlString($expected_response, $response->saveXML());
179 }
180}
error(string $a_errmsg)
$response
Definition: xapitoken.php:93