2022-04-04 06:30:07 +00:00
|
|
|
<?php
|
|
|
|
|
|
2022-08-01 10:22:04 +00:00
|
|
|
namespace Tests\Unit\Event\Validator;
|
2022-04-04 06:30:07 +00:00
|
|
|
|
|
|
|
|
use Appwrite\Event\Validator\Event;
|
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
|
|
|
|
|
|
class EventValidatorTest extends TestCase
|
|
|
|
|
{
|
|
|
|
|
protected ?Event $object = null;
|
|
|
|
|
|
|
|
|
|
public function setUp(): void
|
|
|
|
|
{
|
|
|
|
|
$this->object = new Event();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function tearDown(): void
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2022-08-01 10:22:04 +00:00
|
|
|
public function testValues(): void
|
2022-04-04 06:30:07 +00:00
|
|
|
{
|
2022-04-20 13:34:55 +00:00
|
|
|
/**
|
|
|
|
|
* Test for SUCCESS
|
|
|
|
|
*/
|
2022-04-04 06:30:07 +00:00
|
|
|
$this->assertTrue($this->object->isValid('users.*.create'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('users.torsten.update'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('users.torsten'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('users.*.update.email'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('users.*.update'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('users.*'));
|
2025-04-27 05:06:21 +00:00
|
|
|
$this->assertTrue($this->object->isValid('databases.books.tables.chapters.rows.prolog.create'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.books.tables.chapters.rows.prolog'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.books.tables.chapters.rows.*.create'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.books.tables.chapters.rows.*'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.books.tables.*.rows.prolog.create'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.books.tables.*.rows.prolog'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.books.tables.*.rows.*.create'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.books.tables.*.rows.*'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.*.tables.chapters.rows.prolog.create'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.*.tables.chapters.rows.prolog'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.*.tables.chapters.rows.*.create'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.*.tables.chapters.rows.*'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.*.tables.*.rows.prolog.create'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.*.tables.*.rows.prolog'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.*.tables.*.rows.*.create'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.*.tables.*.rows.*'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.*.tables.*'));
|
2022-06-22 10:51:49 +00:00
|
|
|
$this->assertTrue($this->object->isValid('databases.*'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.books'));
|
2025-04-27 05:06:21 +00:00
|
|
|
$this->assertTrue($this->object->isValid('databases.books.tables.chapters'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('databases.books.tables.*'));
|
2023-09-12 03:56:30 +00:00
|
|
|
$this->assertTrue($this->object->isValid('functions.*'));
|
2022-04-04 06:30:07 +00:00
|
|
|
$this->assertTrue($this->object->isValid('buckets.*'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('teams.*'));
|
|
|
|
|
$this->assertTrue($this->object->isValid('users.*'));
|
2022-05-08 14:31:32 +00:00
|
|
|
$this->assertTrue($this->object->isValid('teams.*.memberships.*.update.status'));
|
2022-04-04 06:30:07 +00:00
|
|
|
|
2022-04-20 13:34:55 +00:00
|
|
|
/**
|
|
|
|
|
* Test for FAILURE
|
|
|
|
|
*/
|
2022-04-04 06:30:07 +00:00
|
|
|
$this->assertFalse($this->object->isValid(false));
|
|
|
|
|
$this->assertFalse($this->object->isValid(null));
|
|
|
|
|
$this->assertFalse($this->object->isValid(''));
|
2022-04-20 13:34:55 +00:00
|
|
|
$this->assertFalse($this->object->isValid('unknown.*'));
|
2025-04-27 05:06:21 +00:00
|
|
|
$this->assertFalse($this->object->isValid('tables'));
|
|
|
|
|
$this->assertFalse($this->object->isValid('tables.*.unknown'));
|
|
|
|
|
$this->assertFalse($this->object->isValid('tables.*.rows.*.unknown'));
|
2022-04-04 06:30:07 +00:00
|
|
|
$this->assertFalse($this->object->isValid('users.torsten.unknown'));
|
2022-04-20 13:34:55 +00:00
|
|
|
$this->assertFalse($this->object->isValid('users.torsten.delete.email'));
|
2022-05-08 14:31:32 +00:00
|
|
|
$this->assertFalse($this->object->isValid('teams.*.memberships.*.update.unknown'));
|
2022-04-04 06:30:07 +00:00
|
|
|
}
|
|
|
|
|
}
|