1
0
Fork 0
mirror of synced 2024-09-08 05:42:15 +12:00
appwrite/tests/unit/Utopia/Response/Filters/V17Test.php
2024-03-06 18:34:21 +01:00

183 lines
4.1 KiB
PHP

<?php
namespace Tests\Unit\Utopia\Response\Filters;
use Appwrite\Utopia\Response;
use Appwrite\Utopia\Response\Filters\V17;
use PHPUnit\Framework\TestCase;
class V17Test extends TestCase
{
/**
* @var Filter
*/
protected $filter = null;
public function setUp(): void
{
$this->filter = new V17();
}
public function tearDown(): void
{
}
public function projectProvider(): array
{
return [
'rename providers' => [
[
'oAuthProviders' => [
[
'key' => 'github',
'name' => 'GitHub',
'appId' => 'client_id',
'secret' => 'client_secret',
'enabled' => true,
],
],
],
[
'providers' => [
[
'key' => 'github',
'name' => 'GitHub',
'appId' => 'client_id',
'secret' => 'client_secret',
'enabled' => true,
],
],
],
],
];
}
/**
* @dataProvider projectProvider
*/
public function testProject(array $content, array $expected): void
{
$model = Response::MODEL_PROJECT;
$result = $this->filter->parse($content, $model);
$this->assertEquals($expected, $result);
}
public function userProvider(): array
{
return [
'remove targets' => [
[
'targets' => 'test',
'mfa' => 'test',
],
[
],
],
];
}
/**
* @dataProvider userProvider
*/
public function testUser(array $content, array $expected): void
{
$model = Response::MODEL_USER;
$result = $this->filter->parse($content, $model);
$this->assertEquals($expected, $result);
}
public function tokenProvider(): array
{
return [
'remove securityPhrase' => [
[
'phrase' => 'Lorum Ipsum',
],
[
],
],
];
}
/**
* @dataProvider tokenProvider
*/
public function testToken(array $content, array $expected): void
{
$model = Response::MODEL_TOKEN;
$result = $this->filter->parse($content, $model);
$this->assertEquals($expected, $result);
}
public function membershipProvider(): array
{
return [
'remove mfa' => [
[
'mfa' => 'test',
],
[
],
],
];
}
/**
* @dataProvider membershipProvider
*/
public function testMembership(array $content, array $expected): void
{
$model = Response::MODEL_MEMBERSHIP;
$result = $this->filter->parse($content, $model);
$this->assertEquals($expected, $result);
}
public function sessionProvider(): array
{
return [
'remove factors and secrets' => [
[
'factors' => 'test',
'secret' => 'test',
],
[
],
]
];
}
/**
* @dataProvider sessionProvider
*/
public function testSession(array $content, array $expected): void
{
$model = Response::MODEL_SESSION;
$result = $this->filter->parse($content, $model);
$this->assertEquals($expected, $result);
}
public function webhookProvider(): array
{
return [
'remove webhook additions' => [
[
'enabled' => true,
'logs' => ['test', 'test'],
'attempts' => 1
],
[
],
],
];
}
}