ILIAS  trunk Revision v11.0_alpha-1761-g6dbbfa7b760
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ILIAS\Test\test\AccessFileUploadPreviewTest Class Reference
+ Inheritance diagram for ILIAS\Test\test\AccessFileUploadPreviewTest:
+ Collaboration diagram for ILIAS\Test\test\AccessFileUploadPreviewTest:

Public Member Functions

 testConstruct ()
 
 testNoUploadPath ()
 
 testFalseWithInvalidId ()
 
 testWithTypes (?string $type, bool $permitted, ?string $requires_permission)
 types More...
 

Static Public Member Functions

static types ()
 

Private Member Functions

 expectCall ($expected, $return, &$called)
 

Detailed Description

Definition at line 32 of file AccessFileUploadPreviewTest.php.

Member Function Documentation

◆ expectCall()

ILIAS\Test\test\AccessFileUploadPreviewTest::expectCall (   $expected,
  $return,
$called 
)
private

Definition at line 117 of file AccessFileUploadPreviewTest.php.

Referenced by ILIAS\Test\test\AccessFileUploadPreviewTest\testWithTypes().

117  : Closure
118  {
119  return function ($value) use ($expected, $return, &$called) {
120  $this->assertSame($expected, $value);
121  $called++;
122  return $return;
123  };
124  }
+ Here is the caller graph for this function:

◆ testConstruct()

ILIAS\Test\test\AccessFileUploadPreviewTest::testConstruct ( )

Definition at line 34 of file AccessFileUploadPreviewTest.php.

34  : void
35  {
36  $database = $this->getMockBuilder(ilDBInterface::class)->disableOriginalConstructor()->getMock();
37  $access = $this->getMockBuilder(ilAccessHandler::class)->getMock();
38  $this->assertInstanceOf(AccessFileUploadPreview::class, new AccessFileUploadPreview($database, $access));
39  }

◆ testFalseWithInvalidId()

ILIAS\Test\test\AccessFileUploadPreviewTest::testFalseWithInvalidId ( )

Definition at line 51 of file AccessFileUploadPreviewTest.php.

References null, and ilDBConstants\T_INTEGER.

51  : void
52  {
53  $database = $this->getMockBuilder(ilDBInterface::class)->disableOriginalConstructor()->getMock();
54  $access = $this->getMockBuilder(ilAccessHandler::class)->getMock();
55  $statement = $this->getMockBuilder(ilDBStatement::class)->disableOriginalConstructor()->getMock();
56 
57  $database->expects(self::once())->method('queryF')->with('SELECT obj_fi FROM qpl_questions WHERE question_id = %s', [ilDBConstants::T_INTEGER], [383])->willReturn($statement);
58  $database->expects(self::once())->method('fetchAssoc')->with($statement)->willReturn(null);
59 
60  $instance = new AccessFileUploadPreview($database, $access);
61  $result = $instance->isPermitted('http://my-ilias/assessment/qst_preview/123/383/fileuploads/my-file.pdf');
62  $this->assertTrue($result->isOk());
63  $this->assertFalse($result->value());
64  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null

◆ testNoUploadPath()

ILIAS\Test\test\AccessFileUploadPreviewTest::testNoUploadPath ( )

Definition at line 41 of file AccessFileUploadPreviewTest.php.

41  : void
42  {
43  $database = $this->getMockBuilder(ilDBInterface::class)->disableOriginalConstructor()->getMock();
44  $access = $this->getMockBuilder(ilAccessHandler::class)->getMock();
45 
46  $instance = new AccessFileUploadPreview($database, $access);
47  $result = $instance->isPermitted('/data/some/path/file.pdf');
48  $this->assertFalse($result->isOk());
49  }

◆ testWithTypes()

ILIAS\Test\test\AccessFileUploadPreviewTest::testWithTypes ( ?string  $type,
bool  $permitted,
?string  $requires_permission 
)

types

Definition at line 69 of file AccessFileUploadPreviewTest.php.

References ILIAS\Test\test\AccessFileUploadPreviewTest\expectCall(), null, and ilDBConstants\T_INTEGER.

69  : void
70  {
71  $database = $this->getMockBuilder(ilDBInterface::class)->disableOriginalConstructor()->getMock();
72  $access = $this->getMockBuilder(ilAccessHandler::class)->getMock();
73  $statement = $this->getMockBuilder(ilDBStatement::class)->disableOriginalConstructor()->getMock();
74  $incident = $this->getMockBuilder(Incident::class)->disableOriginalConstructor()->getMock();
75 
76  $ref_called = 0;
77  $type_called = 0;
78  $references_of = $this->expectCall(383, [987], $ref_called);
79  $type_of = $this->expectCall(987, $type, $type_called);
80 
81  $database->expects(self::once())->method('queryF')->with('SELECT obj_fi FROM qpl_questions WHERE question_id = %s', [ilDBConstants::T_INTEGER], [383])->willReturn($statement);
82  $database->expects(self::once())->method('fetchAssoc')->with($statement)->willReturn(['obj_fi' => '383']);
83 
84  $incident->expects(self::once())->method('any')->willReturnCallback(function (callable $call_me, array $ref_ids): bool {
85  $this->assertEquals([987], $ref_ids);
86  return $call_me(987);
87  });
88 
89  if (null === $requires_permission) {
90  $access->expects(self::never())->method('checkAccess');
91  } else {
92  $access->expects(self::once())->method('checkAccess')->with($requires_permission, '', 987)->willReturn($permitted);
93  }
94 
95 
96  $instance = new AccessFileUploadPreview($database, $access, $incident, $references_of, $type_of);
97  $result = $instance->isPermitted('http://my-ilias/assessment/qst_preview/123/383/fileuploads/my-file.pdf');
98  $this->assertTrue($result->isOk());
99  $this->assertSame($permitted, $result->value());
100 
101  $this->assertSame(1, $ref_called);
102  $this->assertSame(1, $type_called);
103  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:

◆ types()

static ILIAS\Test\test\AccessFileUploadPreviewTest::types ( )
static

Definition at line 105 of file AccessFileUploadPreviewTest.php.

References null.

105  : array
106  {
107  return [
108  'Type qpl with access rights.' => ['qpl', false, 'read'],
109  'Type qpl without access rights.' => ['qpl', true, 'read'],
110  'Type tst with access rights.' => ['tst', false, 'write'],
111  'Type tst without access rights.' => ['tst', true, 'write'],
112  'Type crs will never has access rights.' => ['crs', false, null],
113  'Unknown types will never have access rights.' => [null, false, null],
114  ];
115  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null

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