19declare(strict_types=1);
33use PHPUnit\Framework\TestCase;
46 protected function setUp(): void
53 $language = $this->getMockBuilder(\ilLanguage::class)
54 ->disableOriginalConstructor()
58 SessionRepository::class => $this->createStub(SessionRepository::class),
61 Connection::class => $this->createStub(Connection::class),
62 Refinery::class =>
new Refinery(
new DataFactory(), $language),
69 (new \ILIAS\KeyValueStorage())->
init(
84 [Services::class, SessionRepository::class],
91 $services = $this->implement[Services::class];
93 $this->assertInstanceOf(StorageServices::class, $services);
94 $this->assertInstanceOf(Services::class, $services);
99 $this->assertInstanceOf(
100 DatabaseRepository::class,
101 $this->
internal[DatabaseRepository::class]
103 $this->assertArrayNotHasKey(
104 'ILIAS\KeyValueStorage\Internal\SubjectDatabaseRepository',
111 $this->assertInstanceOf(SubjectProviders::class, $this->
internal[SubjectProviders::class]);
116 $agent = $this->contribute[Agent::class];
Persistent storage in the table owned by this component.
The contributed subject providers, keyed by their name.
array ArrayAccess $internal
testThePersistentScopeIsStoredByThisComponent()
testTheContributedSubjectProvidersAreCollected()
testTheSetupAgentIsContributed()
array ArrayAccess $implement
array ArrayAccess $contribute
testTheServicesAreImplemented()
testTheConsumerEntryPointAndTheSessionScopeAreDeclared()
Behaves like the containers the component bootstrap hands to init(): a factory closure goes in,...
Wrapper for the Setup to work, as they require a namespace.
Entry point to the namespace-scoped key-value storages of ILIAS.
Persistence of the session scope, implemented by the component owning the ILIAS session.
A component that names subjects, contributed via $contribute[\ILIAS\KeyValueStorage\Subject\SubjectPr...
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.