ILIAS  trunk Revision v11.0_alpha-1811-gd2d5443e411
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ILIAS\ResourceStorage\Policy\FileNamePolicyTest Class Reference

Class FileNamePolicyTest. More...

+ Inheritance diagram for ILIAS\ResourceStorage\Policy\FileNamePolicyTest:
+ Collaboration diagram for ILIAS\ResourceStorage\Policy\FileNamePolicyTest:

Public Member Functions

 testDeniedFileEnding ()
 
 testValidFileEnding ()
 
- Public Member Functions inherited from ILIAS\ResourceStorage\AbstractTestBase
 getDummyStream ()
 

Protected Member Functions

 getResourceBuilder (string $denied_ending)
 
 getFileNamePolicy (string $denied_ending)
 
- Protected Member Functions inherited from ILIAS\ResourceStorage\AbstractBaseResourceBuilderTestCase
 setUp ()
 
 mockResourceAndRevision (string $expected_file_name, string $expected_mime_type, int $expected_size, int $expected_version_number, int $expected_owner_id)
 
- Protected Member Functions inherited from ILIAS\ResourceStorage\AbstractTestBase
 setUp ()
 
 getDummyUploadResult (string $file_name, string $mime_type, int $size)
 
 getDummyFileRevision (ResourceIdentification $id)
 

Additional Inherited Members

- Data Fields inherited from ILIAS\ResourceStorage\AbstractBaseResourceBuilderTestCase
MockObject $flavour_repository
 
- Protected Attributes inherited from ILIAS\ResourceStorage\AbstractBaseResourceBuilderTestCase
MockObject $revision
 
MockObject $information
 
 $upload_result
 
MockObject $information_repository
 
MockObject $resource_repository
 
MockObject $collection_repository
 
MockObject $revision_repository
 
MockObject $storage_handler
 
ResourceBuilder $resource_builder
 
MockObject $stakeholder_repository
 
MockObject $locking
 
MockObject $storage_handler_factory
 
MockObject $stream_access
 
Repositories $repositories
 
- Protected Attributes inherited from ILIAS\ResourceStorage\AbstractTestBase
DummyIDGenerator $id_generator
 
MockObject $db_mock
 

Detailed Description

Member Function Documentation

◆ getFileNamePolicy()

ILIAS\ResourceStorage\Policy\FileNamePolicyTest::getFileNamePolicy ( string  $denied_ending)
protected

Definition at line 42 of file FileNamePolicyTest.php.

References ILIAS\__construct(), and ILIAS\Refinery\check().

Referenced by ILIAS\ResourceStorage\Policy\FileNamePolicyTest\getResourceBuilder().

42  : FileNamePolicy
43  {
44  return new class ($denied_ending) implements FileNamePolicy {
45  public function __construct(private string $denied_ending)
46  {
47  }
48 
49  public function check(string $extension): bool
50  {
51  if ($this->denied_ending === $extension) {
52  throw new FileNamePolicyException('ERROR');
53  }
54  return true;
55  }
56 
57  public function isValidExtension(string $extension): bool
58  {
59  return $this->denied_ending !== $extension;
60  }
61 
62  public function isBlockedExtension(string $extension): bool
63  {
64  return $this->denied_ending === $extension;
65  }
66 
67  public function prepareFileNameForConsumer(string $filename_with_extension): string
68  {
69  return $filename_with_extension;
70  }
71  };
72  }
__construct()
Constructor setup ILIAS global object public.
Definition: class.ilias.php:76
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getResourceBuilder()

ILIAS\ResourceStorage\Policy\FileNamePolicyTest::getResourceBuilder ( string  $denied_ending)
protected

Definition at line 30 of file FileNamePolicyTest.php.

References ILIAS\ResourceStorage\Policy\FileNamePolicyTest\getFileNamePolicy().

Referenced by ILIAS\ResourceStorage\Policy\FileNamePolicyTest\testDeniedFileEnding(), and ILIAS\ResourceStorage\Policy\FileNamePolicyTest\testValidFileEnding().

30  : ResourceBuilder
31  {
32  $policy = $this->getFileNamePolicy($denied_ending);
33  return new ResourceBuilder(
34  $this->storage_handler_factory,
35  $this->repositories,
36  $this->locking,
37  $this->stream_access,
38  $policy
39  );
40  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ testDeniedFileEnding()

ILIAS\ResourceStorage\Policy\FileNamePolicyTest::testDeniedFileEnding ( )

Definition at line 74 of file FileNamePolicyTest.php.

References ILIAS\ResourceStorage\AbstractBaseResourceBuilderTestCase\$resource_builder, ILIAS\ResourceStorage\AbstractBaseResourceBuilderTestCase\$upload_result, ILIAS\ResourceStorage\Policy\FileNamePolicyTest\getResourceBuilder(), ILIAS\ResourceStorage\AbstractBaseResourceBuilderTestCase\mockResourceAndRevision(), ILIAS\ResourceStorage\Resource\ResourceBuilder\new(), and ILIAS\ResourceStorage\Resource\ResourceBuilder\store().

74  : void
75  {
76  $denied_ending = 'xml';
77  $resource_builder = $this->getResourceBuilder($denied_ending);
78 
79  // EXPECTED VALUES
80  $expected_file_name = 'info.' . $denied_ending;
81 
82  // MOCK
83  [$upload_result, $info_resolver, $identification] = $this->mockResourceAndRevision(
84  $expected_file_name,
85  "",
86  0,
87  1,
88  0
89  );
90 
91  // RUN
92  $resource = $resource_builder->new(
94  $info_resolver
95  );
96 
97  $this->expectException(FileNamePolicyException::class);
98  $resource_builder->store($resource);
99  }
mockResourceAndRevision(string $expected_file_name, string $expected_mime_type, int $expected_size, int $expected_version_number, int $expected_owner_id)
new(UploadResult $result, InfoResolver $info_resolver, ResourceType $type=ResourceType::SINGLE_FILE)
store(StorableResource $resource)
after you have modified a resource, you can store it here
+ Here is the call graph for this function:

◆ testValidFileEnding()

ILIAS\ResourceStorage\Policy\FileNamePolicyTest::testValidFileEnding ( )

Definition at line 101 of file FileNamePolicyTest.php.

References ILIAS\ResourceStorage\AbstractBaseResourceBuilderTestCase\$resource_builder, ILIAS\ResourceStorage\AbstractBaseResourceBuilderTestCase\$upload_result, ILIAS\ResourceStorage\Policy\FileNamePolicyTest\getResourceBuilder(), ILIAS\ResourceStorage\AbstractBaseResourceBuilderTestCase\mockResourceAndRevision(), ILIAS\ResourceStorage\Resource\ResourceBuilder\new(), and ILIAS\ResourceStorage\Resource\ResourceBuilder\store().

101  : void
102  {
103  $denied_ending = 'xml';
104  $resource_builder = $this->getResourceBuilder($denied_ending);
105 
106  // EXPECTED VALUES
107  $expected_file_name = 'info.pdf';
108 
109  // MOCK
110  [$upload_result, $info_resolver, $identification] = $this->mockResourceAndRevision(
111  $expected_file_name,
112  "",
113  0,
114  1,
115  0
116  );
117 
118  // RUN
119  $resource = $resource_builder->new(
121  $info_resolver
122  );
123 
124  $resource_builder->store($resource);
125  }
mockResourceAndRevision(string $expected_file_name, string $expected_mime_type, int $expected_size, int $expected_version_number, int $expected_owner_id)
new(UploadResult $result, InfoResolver $info_resolver, ResourceType $type=ResourceType::SINGLE_FILE)
store(StorableResource $resource)
after you have modified a resource, you can store it here
+ Here is the call graph for this function:

The documentation for this class was generated from the following file: