‪TYPO3CMS  ‪main
FormDefinitionValidationServiceTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use PHPUnit\Framework\Attributes\DataProvider;
21 use PHPUnit\Framework\Attributes\Test;
28 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
29 
30 final class ‪FormDefinitionValidationServiceTest extends UnitTestCase
31 {
33 
34  protected function ‪setUp(): void
35  {
36  parent::setUp();
37  ‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey'] = '12345';
38  $this->hashService = new ‪HashService();
39  }
40 
41  public function ‪tearDown(): void
42  {
43  GeneralUtility::resetSingletonInstances([]);
44  parent::tearDown();
45  }
46 
47  #[Test]
49  {
50  $this->expectException(PropertyException::class);
51  $this->expectExceptionCode(1528588036);
52 
53  $typeConverter = $this->getAccessibleMock(FormDefinitionValidationService::class, null, [], '', false);
54 
55  $prototypeName = 'standard';
56  ‪$identifier = 'some-text';
57 
58  $sessionToken = '123';
59 
60  $validationDto = new ‪ValidationDto($prototypeName, 'Text', ‪$identifier);
61 
62  $input = [
63  'label' => 'xxx',
64  '_orig_label' => [
65  'value' => 'aaa',
66  'hmac' => $this->hashService->hmac(serialize([‪$identifier, 'label', 'aaa']), $sessionToken),
67  ],
68  ];
69 
70  $typeConverter->_call('validateAllFormElementPropertyValuesByHmac', $input, $sessionToken, $validationDto);
71  }
72 
73  #[Test]
75  {
76  $this->expectException(PropertyException::class);
77  $this->expectExceptionCode(1528588037);
78 
79  $typeConverter = $this->getAccessibleMock(FormDefinitionValidationService::class, null, [], '', false);
80 
81  $prototypeName = 'standard';
82  ‪$identifier = 'some-text';
83 
84  $sessionToken = '123';
85 
86  $validationDto = new ‪ValidationDto($prototypeName, 'Text', ‪$identifier);
87 
88  $input = [
89  'label' => 'xxx',
90  ];
91 
92  $typeConverter->_call('validateAllFormElementPropertyValuesByHmac', $input, $sessionToken, $validationDto);
93  }
94 
95  #[Test]
97  {
98  $typeConverter = $this->getAccessibleMock(FormDefinitionValidationService::class, null, [], '', false);
99 
100  $prototypeName = 'standard';
101  ‪$identifier = 'some-text';
102 
103  $sessionToken = '123';
104 
105  $validationDto = new ‪ValidationDto($prototypeName, 'Text', ‪$identifier);
106 
107  $input = [
108  'label' => 'aaa',
109  '_orig_label' => [
110  'value' => 'aaa',
111  'hmac' => $this->hashService->hmac(serialize([‪$identifier, 'label', 'aaa']), $sessionToken),
112  ],
113  ];
114 
115  $failed = false;
116  try {
117  $typeConverter->_call(
118  'validateAllFormElementPropertyValuesByHmac',
119  $input,
120  $sessionToken,
121  $validationDto
122  );
123  } catch (‪PropertyException) {
124  $failed = true;
125  }
126  self::assertFalse($failed);
127  }
128 
129  #[Test]
131  {
132  $this->expectException(PropertyException::class);
133  $this->expectExceptionCode(1528591586);
134 
135  $typeConverter = $this->getAccessibleMock(FormDefinitionValidationService::class, null, [], '', false);
136 
137  $prototypeName = 'standard';
138  ‪$identifier = 'some-text';
139 
140  $sessionToken = '123';
141 
142  $validationDto = new ‪ValidationDto($prototypeName, 'Text', ‪$identifier, null, 'validators');
143 
144  $input = [
145  'identifier' => 'StringLength',
146  '_orig_identifier' => [
147  'value' => 'StringLength',
148  'hmac' => $this->hashService->hmac(serialize([‪$identifier, 'validators', 'StringLength', 'identifier', 'StringLength']), $sessionToken),
149  ],
150  'options' => [
151  'test' => 'xxx',
152  '_orig_test' => [
153  'value' => 'aaa',
154  'hmac' => $this->hashService->hmac(serialize([‪$identifier, 'validators', 'StringLength', 'options.test', 'aaa']), $sessionToken),
155  ],
156  ],
157  ];
158 
159  $typeConverter->_call(
160  'validateAllPropertyCollectionElementValuesByHmac',
161  $input,
162  $sessionToken,
163  $validationDto
164  );
165  }
166 
167  #[Test]
169  {
170  $this->expectException(PropertyException::class);
171  $this->expectExceptionCode(1528591585);
172 
173  $typeConverter = $this->getAccessibleMock(FormDefinitionValidationService::class, null, [], '', false);
174 
175  $prototypeName = 'standard';
176  ‪$identifier = 'some-text';
177 
178  $sessionToken = '123';
179 
180  $validationDto = new ‪ValidationDto($prototypeName, 'Text', ‪$identifier, null, 'validators');
181 
182  $input = [
183  'identifier' => 'StringLength',
184  '_orig_identifier' => [
185  'value' => 'StringLength',
186  'hmac' => $this->hashService->hmac(serialize([‪$identifier, 'validators', 'StringLength', 'identifier', 'StringLength']), $sessionToken),
187  ],
188  'options' => [
189  'test' => 'xxx',
190  ],
191  ];
192 
193  $typeConverter->_call(
194  'validateAllPropertyCollectionElementValuesByHmac',
195  $input,
196  $sessionToken,
197  $validationDto
198  );
199  }
200 
201  #[Test]
203  {
204  $typeConverter = $this->getAccessibleMock(FormDefinitionValidationService::class, null, [], '', false);
205 
206  $prototypeName = 'standard';
207  ‪$identifier = 'some-text';
208 
209  $sessionToken = '123';
210 
211  $validationDto = new ‪ValidationDto($prototypeName, 'Text', ‪$identifier, null, 'validators');
212 
213  $input = [
214  'identifier' => 'StringLength',
215  '_orig_identifier' => [
216  'value' => 'StringLength',
217  'hmac' => $this->hashService->hmac(serialize([‪$identifier, 'validators', 'StringLength', 'identifier', 'StringLength']), $sessionToken),
218  ],
219  'options' => [
220  'test' => 'aaa',
221  '_orig_test' => [
222  'value' => 'aaa',
223  'hmac' => $this->hashService->hmac(serialize([‪$identifier, 'validators', 'StringLength', 'options.test', 'aaa']), $sessionToken),
224  ],
225  ],
226  ];
227 
228  $failed = false;
229  try {
230  $typeConverter->_call(
231  'validateAllPropertyCollectionElementValuesByHmac',
232  $input,
233  $sessionToken,
234  $validationDto
235  );
236  } catch (‪PropertyException) {
237  $failed = true;
238  }
239  self::assertFalse($failed);
240  }
241 
243  {
244  // Be aware that the $GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey'] assignment in setUp is done
245  // after the dataProvider intitialization. Therefore, the encryption key must also be defined here.
246  ‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey'] = '12345';
247 
248  $sessionToken = '54321';
249  ‪$identifier = 'text-1';
250 
252  $validationDto = new ‪ValidationDto('standard', 'Text', ‪$identifier);
253  $formElement = [
254  'test' => 'xxx',
255  '_orig_test' => [
256  'value' => 'xxx',
257  'hmac' => ‪$hashService->‪hmac(serialize([‪$identifier, 'test', 'xxx']), $sessionToken),
258  ],
259  ];
260 
261  $formElementWithoutHmac = [
262  'test' => 'xxx',
263  ];
264 
265  $invalidFormElement = [
266  'test' => 'xxx1',
267  '_orig_test' => [
268  'value' => 'xxx',
269  'hmac' => ‪$hashService->‪hmac(serialize([‪$identifier, 'test', 'xxx']), $sessionToken),
270  ],
271  ];
272 
273  // Unset global encryption key, so following tests do not use it. Data providers are not covered by phpunit backupGlobals.
274  // @todo: Refactor this out of the data provider.
275  unset(‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey']);
276 
277  return [
278  [
279  [
280  'isFormElementPropertyDefinedInFormEditorSetup' => true,
281  'isFormElementPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => false,
282  'getFormElementPredefinedDefaultValueFromFormEditorSetup' => '',
283  ],
284  $formElement,
285  $sessionToken,
286  -1,
287  $validationDto,
288  ],
289  [
290  [
291  'isFormElementPropertyDefinedInFormEditorSetup' => false,
292  'isFormElementPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => false,
293  'getFormElementPredefinedDefaultValueFromFormEditorSetup' => 'default',
294  ],
295  $formElement,
296  $sessionToken,
297  -1,
298  $validationDto,
299  ],
300  [
301  [
302  'isFormElementPropertyDefinedInFormEditorSetup' => false,
303  'isFormElementPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => false,
304  'getFormElementPredefinedDefaultValueFromFormEditorSetup' => 'default',
305  ],
306  ['test' => 'xxx'],
307  $sessionToken,
308  1528588037,
309  $validationDto,
310  ],
311  [
312  [
313  'isFormElementPropertyDefinedInFormEditorSetup' => false,
314  'isFormElementPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => false,
315  'getFormElementPredefinedDefaultValueFromFormEditorSetup' => 'default',
316  ],
317  ['test' => 'xxx', '_orig_test' => []],
318  $sessionToken,
319  1528538222,
320  $validationDto,
321  ],
322  [
323  [
324  'isFormElementPropertyDefinedInFormEditorSetup' => false,
325  'isFormElementPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => false,
326  'getFormElementPredefinedDefaultValueFromFormEditorSetup' => 'default',
327  ],
328  ['test' => 'xxx', '_orig_test' => ['hmac' => '4242']],
329  $sessionToken,
330  1528538252,
331  $validationDto,
332  ],
333  [
334  [
335  'isFormElementPropertyDefinedInFormEditorSetup' => false,
336  'isFormElementPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => false,
337  'getFormElementPredefinedDefaultValueFromFormEditorSetup' => 'default',
338  ],
339  $invalidFormElement,
340  $sessionToken,
341  1528588036,
342  $validationDto,
343  ],
344  [
345  [
346  'isFormElementPropertyDefinedInFormEditorSetup' => false,
347  'isFormElementPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => true,
348  'getFormElementPredefinedDefaultValueFromFormEditorSetup' => 'xxx',
349  ],
350  $formElement,
351  $sessionToken,
352  -1,
353  $validationDto,
354  ],
355  [
356  [
357  'isFormElementPropertyDefinedInFormEditorSetup' => false,
358  'isFormElementPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => true,
359  'getFormElementPredefinedDefaultValueFromFormEditorSetup' => 'default',
360  ],
361  $formElement,
362  $sessionToken,
363  -1,
364  $validationDto,
365  ],
366  [
367  [
368  'isFormElementPropertyDefinedInFormEditorSetup' => false,
369  'isFormElementPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => true,
370  'getFormElementPredefinedDefaultValueFromFormEditorSetup' => 'default',
371  ],
372  $formElementWithoutHmac,
373  $sessionToken,
374  1528588035,
375  $validationDto,
376  ],
377  ];
378  }
379 
380  #[DataProvider('validateAllPropertyValuesFromCreatableFormElementDataProvider')]
381  #[Test]
383  array $mockConfiguration,
384  array $formElement,
385  string $sessionToken,
386  int $exceptionCode,
387  ‪ValidationDto $validationDto
388  ): void {
389  $configurationService = $this->createMock(ConfigurationService::class);
390  $configurationService
391  ->method('isFormElementPropertyDefinedInFormEditorSetup')
392  ->willReturn($mockConfiguration['isFormElementPropertyDefinedInFormEditorSetup']);
393  $configurationService
394  ->method('isFormElementPropertyDefinedInPredefinedDefaultsInFormEditorSetup')
395  ->willReturn($mockConfiguration['isFormElementPropertyDefinedInPredefinedDefaultsInFormEditorSetup']);
396  $configurationService
397  ->method('getFormElementPredefinedDefaultValueFromFormEditorSetup')
398  ->willReturn($mockConfiguration['getFormElementPredefinedDefaultValueFromFormEditorSetup']);
399  $formDefinitionValidationService = $this->getAccessibleMock(FormDefinitionValidationService::class, null);
400  GeneralUtility::setSingletonInstance(FormDefinitionValidationService::class, $formDefinitionValidationService);
401  GeneralUtility::setSingletonInstance(ConfigurationService::class, $configurationService);
402 
403  $subject = $this->getAccessibleMock(FormDefinitionValidationService::class, null, [], '', false);
404  $returnedExceptionCode = -1;
405  try {
406  $subject->_call(
407  'validateAllPropertyValuesFromCreatableFormElement',
408  $formElement,
409  $sessionToken,
410  $validationDto
411  );
412  } catch (‪PropertyException $e) {
413  $returnedExceptionCode = $e->getCode();
414  }
415  self::assertEquals($returnedExceptionCode, $exceptionCode);
416  }
417 
419  {
420  // Be aware that the $GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey'] assignment in setUp is done
421  // after the dataProvider intitialization. Therefore, the encryption key must also be defined here.
422  ‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey'] = '12345';
423 
424  $sessionToken = '54321';
425  ‪$identifier = 'text-1';
426 
427  $validationDto = new ‪ValidationDto('standard', 'Text', ‪$identifier, null, 'validators', 'StringLength');
429  $formElement = [
430  'test' => 'xxx',
431  '_orig_test' => [
432  'value' => 'xxx',
433  'hmac' => ‪$hashService->‪hmac(serialize([‪$identifier, 'validators', 'StringLength', 'test', 'xxx']), $sessionToken),
434  ],
435  ];
436 
437  $formElementWithoutHmac = [
438  'test' => 'xxx',
439  ];
440 
441  $invalidFormElement = [
442  'test' => 'xxx1',
443  '_orig_test' => [
444  'value' => 'xxx',
445  'hmac' => ‪$hashService->‪hmac(serialize([‪$identifier, 'validators', 'StringLength', 'test', 'xxx']), $sessionToken),
446  ],
447  ];
448 
449  // Unset global encryption key, so following tests do not use it. Data providers are not covered by phpunit backupGlobals.
450  // @todo: Refactor this out of the data provider.
451  unset(‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['encryptionKey']);
452 
453  return [
454  [
455  [
456  'isPropertyCollectionPropertyDefinedInFormEditorSetup' => true,
457  'isPropertyCollectionPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => false,
458  'getPropertyCollectionPredefinedDefaultValueFromFormEditorSetup' => 'default',
459  ],
460  $formElement,
461  $sessionToken,
462  -1,
463  $validationDto,
464  ],
465  [
466  [
467  'isPropertyCollectionPropertyDefinedInFormEditorSetup' => false,
468  'isPropertyCollectionPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => false,
469  'getPropertyCollectionPredefinedDefaultValueFromFormEditorSetup' => 'default',
470  ],
471  $formElement,
472  $sessionToken,
473  -1,
474  $validationDto,
475  ],
476  [
477  [
478  'isPropertyCollectionPropertyDefinedInFormEditorSetup' => false,
479  'isPropertyCollectionPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => false,
480  'getPropertyCollectionPredefinedDefaultValueFromFormEditorSetup' => 'default',
481  ],
482  ['test' => 'xxx'],
483  $sessionToken,
484  1528591585,
485  $validationDto,
486  ],
487  [
488  [
489  'isPropertyCollectionPropertyDefinedInFormEditorSetup' => false,
490  'isPropertyCollectionPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => false,
491  'getPropertyCollectionPredefinedDefaultValueFromFormEditorSetup' => 'default',
492  ],
493  ['test' => 'xxx', '_orig_test' => []],
494  $sessionToken,
495  1528538222,
496  $validationDto,
497  ],
498  [
499  [
500  'isPropertyCollectionPropertyDefinedInFormEditorSetup' => false,
501  'isPropertyCollectionPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => false,
502  'getPropertyCollectionPredefinedDefaultValueFromFormEditorSetup' => 'default',
503  ],
504  ['test' => 'xxx', '_orig_test' => ['hmac' => '4242']],
505  $sessionToken,
506  1528538252,
507  $validationDto,
508  ],
509  [
510  [
511  'isPropertyCollectionPropertyDefinedInFormEditorSetup' => false,
512  'isPropertyCollectionPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => false,
513  'getPropertyCollectionPredefinedDefaultValueFromFormEditorSetup' => 'default',
514  ],
515  $invalidFormElement,
516  $sessionToken,
517  1528591586,
518  $validationDto,
519  ],
520 
521  [
522  [
523  'isPropertyCollectionPropertyDefinedInFormEditorSetup' => false,
524  'isPropertyCollectionPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => true,
525  'getPropertyCollectionPredefinedDefaultValueFromFormEditorSetup' => 'xxx',
526  ],
527  $formElement,
528  $sessionToken,
529  -1,
530  $validationDto,
531  ],
532  [
533  [
534  'isPropertyCollectionPropertyDefinedInFormEditorSetup' => false,
535  'isPropertyCollectionPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => true,
536  'getPropertyCollectionPredefinedDefaultValueFromFormEditorSetup' => 'default',
537  ],
538  $formElement,
539  $sessionToken,
540  -1,
541  $validationDto,
542  ],
543  [
544  [
545  'isPropertyCollectionPropertyDefinedInFormEditorSetup' => false,
546  'isPropertyCollectionPropertyDefinedInPredefinedDefaultsInFormEditorSetup' => true,
547  'getPropertyCollectionPredefinedDefaultValueFromFormEditorSetup' => 'default',
548  ],
549  $formElementWithoutHmac,
550  $sessionToken,
551  1528591502,
552  $validationDto,
553  ],
554  ];
555  }
556 
557  #[DataProvider('validateAllPropertyValuesFromCreatablePropertyCollectionElementDataProvider')]
558  #[Test]
560  array $mockConfiguration,
561  array $formElement,
562  string $sessionToken,
563  int $exceptionCode,
564  ‪ValidationDto $validationDto
565  ): void {
566  $configurationService = $this->createMock(ConfigurationService::class);
567  $configurationService
568  ->method('isPropertyCollectionPropertyDefinedInFormEditorSetup')
569  ->willReturn($mockConfiguration['isPropertyCollectionPropertyDefinedInFormEditorSetup']);
570  $configurationService->method(
571  'isPropertyCollectionPropertyDefinedInPredefinedDefaultsInFormEditorSetup'
572  )->willReturn($mockConfiguration['isPropertyCollectionPropertyDefinedInPredefinedDefaultsInFormEditorSetup']);
573  $configurationService->method(
574  'getPropertyCollectionPredefinedDefaultValueFromFormEditorSetup'
575  )->willReturn($mockConfiguration['getPropertyCollectionPredefinedDefaultValueFromFormEditorSetup']);
576  $formDefinitionValidationService = $this->getAccessibleMock(FormDefinitionValidationService::class, null);
577  GeneralUtility::setSingletonInstance(FormDefinitionValidationService::class, $formDefinitionValidationService);
578  GeneralUtility::setSingletonInstance(ConfigurationService::class, $configurationService);
579 
580  $subject = $this->getAccessibleMock(FormDefinitionValidationService::class, null, [], '', false);
581  $returnedExceptionCode = -1;
582  try {
583  $subject->_call(
584  'validateAllPropertyValuesFromCreatablePropertyCollectionElement',
585  $formElement,
586  $sessionToken,
587  $validationDto
588  );
589  } catch (‪PropertyException $e) {
590  $returnedExceptionCode = $e->getCode();
591  }
592  self::assertEquals($returnedExceptionCode, $exceptionCode);
593  }
594 }
‪TYPO3\CMS\Form\Tests\Unit\Domain\Configuration\FormDefinitionValidationServiceTest\$hashService
‪HashService $hashService
Definition: FormDefinitionValidationServiceTest.php:32
‪TYPO3\CMS\Form\Tests\Unit\Domain\Configuration\FormDefinitionValidationServiceTest\validateAllPropertyValuesFromCreatablePropertyCollectionElementDataProvider
‪static validateAllPropertyValuesFromCreatablePropertyCollectionElementDataProvider()
Definition: FormDefinitionValidationServiceTest.php:418
‪TYPO3\CMS\Form\Tests\Unit\Domain\Configuration\FormDefinitionValidationServiceTest\validateAllPropertyValuesFromCreatableFormElement
‪validateAllPropertyValuesFromCreatableFormElement(array $mockConfiguration, array $formElement, string $sessionToken, int $exceptionCode, ValidationDto $validationDto)
Definition: FormDefinitionValidationServiceTest.php:382
‪TYPO3\CMS\Extbase\Property\Exception
Definition: DuplicateObjectException.php:18
‪TYPO3\CMS\Form\Tests\Unit\Domain\Configuration\FormDefinitionValidationServiceTest\validateAllFormElementPropertyValuesByHmacThrowsExceptionIfHmacDoesNotExists
‪validateAllFormElementPropertyValuesByHmacThrowsExceptionIfHmacDoesNotExists()
Definition: FormDefinitionValidationServiceTest.php:74
‪TYPO3\CMS\Form\Tests\Unit\Domain\Configuration\FormDefinitionValidationServiceTest\validateAllPropertyCollectionElementValuesByHmacThrowsExceptionIfHmacIsInvalid
‪validateAllPropertyCollectionElementValuesByHmacThrowsExceptionIfHmacIsInvalid()
Definition: FormDefinitionValidationServiceTest.php:130
‪TYPO3\CMS\Form\Tests\Unit\Domain\Configuration\FormDefinitionValidationServiceTest\validateAllFormElementPropertyValuesByHmacThrowsExceptionIfHmacIsInvalid
‪validateAllFormElementPropertyValuesByHmacThrowsExceptionIfHmacIsInvalid()
Definition: FormDefinitionValidationServiceTest.php:48
‪TYPO3\CMS\Form\Domain\Configuration\FormDefinition\Validators\ValidationDto
Definition: ValidationDto.php:23
‪TYPO3\CMS\Core\Crypto\HashService\hmac
‪hmac(string $input, string $additionalSecret)
Definition: HashService.php:34
‪TYPO3\CMS\Form\Domain\Configuration\FormDefinitionValidationService
Definition: FormDefinitionValidationService.php:36
‪TYPO3\CMS\Form\Tests\Unit\Domain\Configuration\FormDefinitionValidationServiceTest
Definition: FormDefinitionValidationServiceTest.php:31
‪TYPO3\CMS\Form\Tests\Unit\Domain\Configuration
Definition: ConfigurationServiceTest.php:18
‪TYPO3\CMS\Form\Tests\Unit\Domain\Configuration\FormDefinitionValidationServiceTest\validateAllPropertyValuesFromCreatablePropertyCollectionElement
‪validateAllPropertyValuesFromCreatablePropertyCollectionElement(array $mockConfiguration, array $formElement, string $sessionToken, int $exceptionCode, ValidationDto $validationDto)
Definition: FormDefinitionValidationServiceTest.php:559
‪TYPO3\CMS\Form\Tests\Unit\Domain\Configuration\FormDefinitionValidationServiceTest\tearDown
‪tearDown()
Definition: FormDefinitionValidationServiceTest.php:41
‪TYPO3\CMS\Form\Tests\Unit\Domain\Configuration\FormDefinitionValidationServiceTest\validateAllFormElementPropertyValuesByHmacThrowsNoExceptionIfHmacIsValid
‪validateAllFormElementPropertyValuesByHmacThrowsNoExceptionIfHmacIsValid()
Definition: FormDefinitionValidationServiceTest.php:96
‪TYPO3\CMS\Form\Tests\Unit\Domain\Configuration\FormDefinitionValidationServiceTest\setUp
‪setUp()
Definition: FormDefinitionValidationServiceTest.php:34
‪TYPO3\CMS\Form\Domain\Configuration\ConfigurationService
Definition: ConfigurationService.php:50
‪TYPO3\CMS\Form\Tests\Unit\Domain\Configuration\FormDefinitionValidationServiceTest\validateAllPropertyCollectionElementValuesByHmacThrowsExceptionIfHmacDoesNotExists
‪validateAllPropertyCollectionElementValuesByHmacThrowsExceptionIfHmacDoesNotExists()
Definition: FormDefinitionValidationServiceTest.php:168
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:52
‪TYPO3\CMS\Form\Domain\Configuration\Exception\PropertyException
Definition: PropertyException.php:25
‪TYPO3\CMS\Form\Tests\Unit\Domain\Configuration\FormDefinitionValidationServiceTest\validateAllPropertyValuesFromCreatableFormElementDataProvider
‪static validateAllPropertyValuesFromCreatableFormElementDataProvider()
Definition: FormDefinitionValidationServiceTest.php:242
‪TYPO3\CMS\Core\Crypto\HashService
Definition: HashService.php:27
‪TYPO3\CMS\Webhooks\Message\$identifier
‪identifier readonly string $identifier
Definition: FileAddedMessage.php:37
‪TYPO3\CMS\Form\Tests\Unit\Domain\Configuration\FormDefinitionValidationServiceTest\validateAllPropertyCollectionElementValuesByHmacThrowsNoExceptionIfHmacIsValid
‪validateAllPropertyCollectionElementValuesByHmacThrowsNoExceptionIfHmacIsValid()
Definition: FormDefinitionValidationServiceTest.php:202