ILIAS  trunk Revision v11.0_alpha-1723-g8e69f309bab
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
RequestProcessorListMetadataFormatsTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
25 
26 class 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 }
$response
Definition: xapitoken.php:93
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
base()
description: > Example for rendering a bulky button.
Definition: base.php:35