ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilCertificateTemplateImportActionTest.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
25
27{
29 {
30 $placeholderDescriptionObject = $this->getMockBuilder(ilCertificatePlaceholderDescription::class)
31 ->getMock();
32
33 $logger = $this->getMockBuilder(ilLogger::class)
34 ->disableOriginalConstructor()
35 ->getMock();
36
37 $filesystem = $this->getMockBuilder(ILIAS\Filesystem\Filesystem::class)
38 ->getMock();
39
40 $filesystem
41 ->expects($this->once())
42 ->method('listContents')
43 ->willReturn([
44 new Metadata('certificate.xml', 'file'),
45 new Metadata('background.jpg', 'file'),
46 ]);
47
48 $templateRepository = $this->getMockBuilder(ilCertificateTemplateRepository::class)->getMock();
49
50 $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
51 ->getMock();
52
53 $objectHelper->method('lookupType')
54 ->willReturn('crs');
55
56 $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
57 ->disableOriginalConstructor()
58 ->getMock();
59
60 $utilHelper
61 ->method('moveUploadedFile')
62 ->willReturn(true);
63
64 $unzip = $this->getMockBuilder(ILIAS\Filesystem\Util\Archive\Unzip::class)
65 ->disableOriginalConstructor()
66 ->getMock();
67 $unzip->expects($this->once())->method('extract')->willReturn(true);
68 $utilHelper
69 ->expects($this->once())
70 ->method('unzip')
71 ->willReturn($unzip);
72
73 $database = $this->getMockBuilder(ilDBInterface::class)
74 ->disableOriginalConstructor()
75 ->getMock();
76
77 $resource_ident = new ResourceIdentification('someId');
78
79 $irss_manager = $this->getMockBuilder(Manager::class)
80 ->disableOriginalConstructor()
81 ->getMock();
82 $irss_manager->method('stream')->willReturn($resource_ident);
83 $irss = $this->getMockBuilder(IRSS::class)
84 ->disableOriginalConstructor()
85 ->getMock();
86 $irss->method('manage')->willReturn($irss_manager);
87
89 100,
90 'some/path/certificate.xml',
91 $placeholderDescriptionObject,
92 $logger,
93 $filesystem,
94 $irss,
95 $templateRepository,
96 $objectHelper,
97 $utilHelper,
98 $database,
99 );
100
101 $result = $action->import(
102 'someZipFile.zip',
103 'some/path/',
104 'some/root/path',
105 'v5.4.0',
106 'someInstallationId'
107 );
108
109 $this->assertTrue($result);
110 }
111
113 {
114 $placeholderDescriptionObject = $this->getMockBuilder(ilCertificatePlaceholderDescription::class)
115 ->getMock();
116
117 $logger = $this->getMockBuilder(ilLogger::class)
118 ->disableOriginalConstructor()
119 ->getMock();
120
121 $filesystem = $this->getMockBuilder(ILIAS\Filesystem\Filesystem::class)
122 ->getMock();
123
124 $filesystem
125 ->expects($this->once())
126 ->method('listContents')
127 ->willReturn([
128 new Metadata('certificate.xml', 'file')
129 ]);
130
131 $templateRepository = $this->getMockBuilder(ilCertificateTemplateRepository::class)->getMock();
132
133 $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
134 ->getMock();
135
136 $objectHelper->method('lookupType')
137 ->willReturn('crs');
138
139 $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
140 ->disableOriginalConstructor()
141 ->getMock();
142
143 $utilHelper
144 ->method('moveUploadedFile')
145 ->willReturn(true);
146
147 $unzip = $this->getMockBuilder(ILIAS\Filesystem\Util\Archive\Unzip::class)
148 ->disableOriginalConstructor()
149 ->getMock();
150 $unzip->expects($this->once())->method('extract')->willReturn(true);
151 $utilHelper
152 ->expects($this->once())
153 ->method('unzip')
154 ->willReturn($unzip);
155
156 $database = $this->getMockBuilder(ilDBInterface::class)
157 ->disableOriginalConstructor()
158 ->getMock();
159
160 $irss = $this->getMockBuilder(IRSS::class)
161 ->disableOriginalConstructor()
162 ->getMock();
163
165 100,
166 'some/path/certificate.xml',
167 $placeholderDescriptionObject,
168 $logger,
169 $filesystem,
170 $irss,
171 $templateRepository,
172 $objectHelper,
173 $utilHelper,
174 $database,
175 );
176
177 $result = $action->import(
178 'someZipFile.zip',
179 'some/path/',
180 'some/root/path',
181 'v5.4.0',
182 'someInstallationId'
183 );
184
185 $this->assertTrue($result);
186 }
187
188 public function testNoXmlFileInUplodadZipFolder(): void
189 {
190 $placeholderDescriptionObject = $this->getMockBuilder(ilCertificatePlaceholderDescription::class)
191 ->getMock();
192
193 $logger = $this->getMockBuilder(ilLogger::class)
194 ->disableOriginalConstructor()
195 ->getMock();
196
197 $filesystem = $this->getMockBuilder(ILIAS\Filesystem\Filesystem::class)
198 ->getMock();
199
200 $templateRepository = $this->getMockBuilder(ilCertificateTemplateRepository::class)->getMock();
201
202 $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
203 ->getMock();
204
205 $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
206 ->disableOriginalConstructor()
207 ->getMock();
208
209 $utilHelper
210 ->method('moveUploadedFile')
211 ->willReturn(true);
212
213 $unzip = $this->getMockBuilder(ILIAS\Filesystem\Util\Archive\Unzip::class)
214 ->disableOriginalConstructor()
215 ->getMock();
216 $unzip->expects($this->once())->method('extract')->willReturn(true);
217 $utilHelper
218 ->expects($this->once())
219 ->method('unzip')
220 ->willReturn($unzip);
221
222 $filesystem
223 ->expects($this->once())
224 ->method('listContents')
225 ->willReturn([]);
226
227 $database = $this->getMockBuilder(ilDBInterface::class)
228 ->disableOriginalConstructor()
229 ->getMock();
230
231 $irss = $this->getMockBuilder(IRSS::class)
232 ->disableOriginalConstructor()
233 ->getMock();
234
236 100,
237 'some/path/certificate.xml',
238 $placeholderDescriptionObject,
239 $logger,
240 $filesystem,
241 $irss,
242 $templateRepository,
243 $objectHelper,
244 $utilHelper,
245 $database,
246 );
247
248 $result = $action->import(
249 'someZipFile.zip',
250 'some/path/',
251 'some/root/path',
252 'v5.4.0',
253 'someInstallationId'
254 );
255
256 $this->assertFalse($result);
257 }
258
259 public function testZipfileCouldNoBeMoved(): void
260 {
261 $placeholderDescriptionObject = $this->getMockBuilder(ilCertificatePlaceholderDescription::class)
262 ->disableOriginalConstructor()
263 ->getMock();
264
265 $logger = $this->getMockBuilder(ilLogger::class)
266 ->disableOriginalConstructor()
267 ->getMock();
268
269 $filesystem = $this->getMockBuilder(ILIAS\Filesystem\Filesystem::class)
270 ->getMock();
271
272 $templateRepository = $this->getMockBuilder(ilCertificateTemplateRepository::class)->getMock();
273
274 $objectHelper = $this->getMockBuilder(ilCertificateObjectHelper::class)
275 ->getMock();
276
277 $utilHelper = $this->getMockBuilder(ilCertificateUtilHelper::class)
278 ->disableOriginalConstructor()
279 ->getMock();
280
281 $utilHelper
282 ->method('moveUploadedFile')
283 ->willReturn(false);
284
285 $database = $this->getMockBuilder(ilDBInterface::class)
286 ->disableOriginalConstructor()
287 ->getMock();
288
289 $irss = $this->getMockBuilder(IRSS::class)
290 ->disableOriginalConstructor()
291 ->getMock();
292
294 100,
295 'some/path/certificate.xml',
296 $placeholderDescriptionObject,
297 $logger,
298 $filesystem,
299 $irss,
300 $templateRepository,
301 $objectHelper,
302 $utilHelper,
303 $database,
304 );
305
306 $result = $action->import(
307 'someZipFile.zip',
308 'some/path/',
309 'some/root/path',
310 'v5.4.0',
311 'someInstallationId'
312 );
313
314 $this->assertFalse($result);
315 }
316}
This class holds all default metadata send by the filesystem adapters.
Definition: Metadata.php:33
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.