Update response filters for list models
This commit is contained in:
parent
71206a9886
commit
79b57cf696
|
@ -20,48 +20,134 @@ class V15 extends Filter
|
|||
case Response::MODEL_USER:
|
||||
$parsedResponse = $this->parseUser($parsedResponse);
|
||||
break;
|
||||
case Response::MODEL_USER_LIST:
|
||||
$listKey = 'users';
|
||||
$parsedResponse[$listKey] = array_map(fn ($content) => $this->parseUser($content), $parsedResponse[$listKey]);
|
||||
break;
|
||||
case Response::MODEL_METRIC:
|
||||
$parsedResponse = $this->parseMetric($parsedResponse);
|
||||
break;
|
||||
case Response::MODEL_BUILD:
|
||||
$parsedResponse = $this->parseDatetimeAttributes($parsedResponse, ['startTime', 'endTime']);
|
||||
$parsedResponse = $this->parseBuild($parsedResponse);
|
||||
break;
|
||||
case Response::MODEL_BUILD_LIST:
|
||||
$listKey = 'builds';
|
||||
$parsedResponse[$listKey] = array_map(fn ($content) => $this->parseBuild($content), $parsedResponse[$listKey]);
|
||||
break;
|
||||
case Response::MODEL_BUCKET:
|
||||
$parsedResponse = $this->parseBucket($parsedResponse);
|
||||
break;
|
||||
case Response::MODEL_BUCKET_LIST:
|
||||
$listKey = 'buckets';
|
||||
$parsedResponse[$listKey] = array_map(fn ($content) => $this->parseBucket($content), $parsedResponse[$listKey]);
|
||||
break;
|
||||
case Response::MODEL_COLLECTION:
|
||||
$parsedResponse = $this->parseCollection($parsedResponse);
|
||||
break;
|
||||
case Response::MODEL_COLLECTION_LIST:
|
||||
$listKey = 'collections';
|
||||
$parsedResponse[$listKey] = array_map(fn ($content) => $this->parseCollection($content), $parsedResponse[$listKey]);
|
||||
break;
|
||||
case Response::MODEL_DATABASE:
|
||||
case Response::MODEL_DEPLOYMENT:
|
||||
case Response::MODEL_DOMAIN:
|
||||
case Response::MODEL_PLATFORM:
|
||||
case Response::MODEL_PROJECT:
|
||||
case Response::MODEL_TEAM:
|
||||
case Response::MODEL_WEBHOOK:
|
||||
$parsedResponse = $this->parseCreatedAtUpdatedAt($parsedResponse);
|
||||
break;
|
||||
case Response::MODEL_DATABASE_LIST:
|
||||
case Response::MODEL_DEPLOYMENT_LIST:
|
||||
case Response::MODEL_DOMAIN_LIST:
|
||||
case Response::MODEL_PLATFORM_LIST:
|
||||
case Response::MODEL_PROJECT_LIST:
|
||||
case Response::MODEL_TEAM_LIST:
|
||||
case Response::MODEL_WEBHOOK_LIST:
|
||||
$listKey = '';
|
||||
switch ($model) {
|
||||
case Response::MODEL_DATABASE_LIST:
|
||||
$listKey = 'databases';
|
||||
break;
|
||||
case Response::MODEL_DEPLOYMENT_LIST:
|
||||
$listKey = 'deployments';
|
||||
break;
|
||||
case Response::MODEL_DOMAIN_LIST:
|
||||
$listKey = 'domains';
|
||||
break;
|
||||
case Response::MODEL_PLATFORM_LIST:
|
||||
$listKey = 'platforms';
|
||||
break;
|
||||
case Response::MODEL_PROJECT_LIST:
|
||||
$listKey = 'projects';
|
||||
break;
|
||||
case Response::MODEL_TEAM_LIST:
|
||||
$listKey = 'teams';
|
||||
break;
|
||||
case Response::MODEL_WEBHOOK_LIST:
|
||||
$listKey = 'webhooks';
|
||||
break;
|
||||
}
|
||||
$parsedResponse[$listKey] = array_map(fn ($content) => $this->parseCreatedAtUpdatedAt($content), $parsedResponse[$listKey]);
|
||||
break;
|
||||
case Response::MODEL_DOCUMENT:
|
||||
$parsedResponse = $this->parseDatetimeAttributes($parsedResponse, ['$createdAt', '$updatedAt']);
|
||||
case Response::MODEL_FILE:
|
||||
$parsedResponse = $this->parsePermissionsCreatedAtUpdatedAt($parsedResponse);
|
||||
break;
|
||||
case Response::MODEL_DOCUMENT_LIST:
|
||||
case Response::MODEL_FILE_LIST:
|
||||
$listKey = '';
|
||||
switch ($model) {
|
||||
case Response::MODEL_DOCUMENT_LIST:
|
||||
$listKey = 'documents';
|
||||
break;
|
||||
case Response::MODEL_FILE_LIST:
|
||||
$listKey = 'files';
|
||||
break;
|
||||
}
|
||||
$parsedResponse[$listKey] = array_map(fn ($content) => $this->parsePermissionsCreatedAtUpdatedAt($content), $parsedResponse[$listKey]);
|
||||
break;
|
||||
case Response::MODEL_EXECUTION:
|
||||
$parsedResponse = $this->parseExecution($parsedResponse);
|
||||
break;
|
||||
case Response::MODEL_PLATFORM:
|
||||
case Response::MODEL_PROJECT:
|
||||
case Response::MODEL_TEAM:
|
||||
case Response::MODEL_FILE:
|
||||
case Response::MODEL_WEBHOOK:
|
||||
case Response::MODEL_DOMAIN:
|
||||
case Response::MODEL_DATABASE:
|
||||
$parsedResponse = $this->parseDatetimeAttributes($parsedResponse, ['$createdAt', '$updatedAt']);
|
||||
case Response::MODEL_EXECUTION_LIST:
|
||||
$listKey = 'executions';
|
||||
$parsedResponse[$listKey] = array_map(fn ($content) => $this->parseExecution($content), $parsedResponse[$listKey]);
|
||||
break;
|
||||
case Response::MODEL_FUNCTION:
|
||||
$parsedResponse = $this->parseFunction($parsedResponse);
|
||||
break;
|
||||
case Response::MODEL_FUNCTION_LIST:
|
||||
$listKey = 'functions';
|
||||
$parsedResponse[$listKey] = array_map(fn ($content) => $this->parseFunction($content), $parsedResponse[$listKey]);
|
||||
break;
|
||||
case Response::MODEL_KEY:
|
||||
$parsedResponse = $this->parseDatetimeAttributes($parsedResponse, ['$createdAt', '$updatedAt', 'expire']);
|
||||
$parsedResponse = $this->parseKey($parsedResponse);
|
||||
break;
|
||||
case Response::MODEL_KEY_LIST:
|
||||
$listKey = 'keys';
|
||||
$parsedResponse[$listKey] = array_map(fn ($content) => $this->parseKey($content), $parsedResponse[$listKey]);
|
||||
break;
|
||||
case Response::MODEL_LOG:
|
||||
$parsedResponse = $this->parseDatetimeAttributes($parsedResponse, ['$createdAt', '$updatedAt', 'time']);
|
||||
$parsedResponse = $this->parseLog($parsedResponse);
|
||||
break;
|
||||
case Response::MODEL_LOG_LIST:
|
||||
$listKey = 'logs';
|
||||
$parsedResponse[$listKey] = array_map(fn ($content) => $this->parseLog($content), $parsedResponse[$listKey]);
|
||||
break;
|
||||
case Response::MODEL_MEMBERSHIP:
|
||||
$parsedResponse = $this->parseDatetimeAttributes($parsedResponse, ['$createdAt', '$updatedAt', 'invited', 'joined']);
|
||||
$parsedResponse = $this->parseMembership($parsedResponse);
|
||||
break;
|
||||
case Response::MODEL_MEMBERSHIP_LIST:
|
||||
$listKey = 'memberships';
|
||||
$parsedResponse[$listKey] = array_map(fn ($content) => $this->parseMembership($content), $parsedResponse[$listKey]);
|
||||
break;
|
||||
case Response::MODEL_SESSION:
|
||||
$parsedResponse = $this->parseDatetimeAttributes($parsedResponse, ['$createdAt', 'expire', 'providerAccessTokenExpiry']);
|
||||
$parsedResponse = $this->parseSession($parsedResponse);
|
||||
break;
|
||||
case Response::MODEL_SESSION_LIST:
|
||||
$listKey = 'sessions';
|
||||
$parsedResponse[$listKey] = array_map(fn ($content) => $this->parseSession($content), $parsedResponse[$listKey]);
|
||||
break;
|
||||
case Response::MODEL_TOKEN:
|
||||
$parsedResponse = $this->parseDatetimeAttributes($parsedResponse, ['$createdAt', 'expire']);
|
||||
|
@ -77,12 +163,16 @@ class V15 extends Filter
|
|||
break;
|
||||
}
|
||||
|
||||
// Downgrade Permissions for all models
|
||||
$parsedResponse = $this->parsePermissions($parsedResponse);
|
||||
|
||||
return $parsedResponse;
|
||||
}
|
||||
|
||||
protected function parseBuild(array $content)
|
||||
{
|
||||
$content = $this->parseDatetimeAttributes($content, ['startTime', 'endTime']);
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
protected function parseBucket(array $content)
|
||||
{
|
||||
if (isset($content['fileSecurity'])) {
|
||||
|
@ -96,6 +186,7 @@ class V15 extends Filter
|
|||
unset($content['fileSecurity']);
|
||||
unset($content['compression']);
|
||||
|
||||
$content = $this->parsePermissions($content);
|
||||
$content = $this->parseDatetimeAttributes($content, ['$createdAt', '$updatedAt']);
|
||||
|
||||
return $content;
|
||||
|
@ -196,6 +287,14 @@ class V15 extends Filter
|
|||
}
|
||||
|
||||
unset($content['documentSecurity']);
|
||||
$content = $this->parsePermissions($content);
|
||||
$content = $this->parseDatetimeAttributes($content, ['$createdAt', '$updatedAt']);
|
||||
return $content;
|
||||
}
|
||||
|
||||
protected function parsePermissionsCreatedAtUpdatedAt(array $content)
|
||||
{
|
||||
$content = $this->parsePermissions($content);
|
||||
$content = $this->parseDatetimeAttributes($content, ['$createdAt', '$updatedAt']);
|
||||
return $content;
|
||||
}
|
||||
|
@ -203,10 +302,17 @@ class V15 extends Filter
|
|||
private function parseExecution($content)
|
||||
{
|
||||
unset($content['stdout']);
|
||||
$content = $this->parsePermissions($content);
|
||||
$content = $this->parseDatetimeAttributes($content, ['$createdAt', '$updatedAt', 'startTime', 'endTime']);
|
||||
return $content;
|
||||
}
|
||||
|
||||
private function parseCreatedAtUpdatedAt($content)
|
||||
{
|
||||
$content = $this->parseDatetimeAttributes($content, ['$createdAt', '$updatedAt']);
|
||||
return $content;
|
||||
}
|
||||
|
||||
private function parseFunction($content)
|
||||
{
|
||||
if (isset($content['execute'])) {
|
||||
|
@ -227,6 +333,30 @@ class V15 extends Filter
|
|||
return $content;
|
||||
}
|
||||
|
||||
private function parseKey($content)
|
||||
{
|
||||
$content = $this->parseDatetimeAttributes($content, ['$createdAt', '$updatedAt', 'expire']);
|
||||
return $content;
|
||||
}
|
||||
|
||||
private function parseLog($content)
|
||||
{
|
||||
$content = $this->parseDatetimeAttributes($content, ['$createdAt', '$updatedAt', 'time']);
|
||||
return $content;
|
||||
}
|
||||
|
||||
private function parseMembership($content)
|
||||
{
|
||||
$content = $this->parseDatetimeAttributes($content, ['$createdAt', '$updatedAt', 'invited', 'joined']);
|
||||
return $content;
|
||||
}
|
||||
|
||||
private function parseSession($content)
|
||||
{
|
||||
$content = $this->parseDatetimeAttributes($content, ['$createdAt', 'expire', 'providerAccessTokenExpiry']);
|
||||
return $content;
|
||||
}
|
||||
|
||||
private function parseModelUsageFunc($content)
|
||||
{
|
||||
$mapping = [
|
||||
|
|
|
@ -7,6 +7,7 @@ use Appwrite\Utopia\Response;
|
|||
use Utopia\Database\Permission;
|
||||
use Utopia\Database\Role;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use stdClass;
|
||||
|
||||
class V15Test extends TestCase
|
||||
{
|
||||
|
@ -240,6 +241,49 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
* @dataProvider permissionsProvider
|
||||
* @dataProvider bucketProvider
|
||||
*/
|
||||
public function testBucketList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_BUCKET_LIST;
|
||||
|
||||
$content = [
|
||||
'buckets' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'buckets' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
public function buildProvider(): array
|
||||
{
|
||||
return [
|
||||
'build start and end time' => [
|
||||
[
|
||||
'startTime' => '2020-06-24T06:47:30.000Z',
|
||||
'endTime' => '2020-06-24T06:47:30.000Z',
|
||||
],
|
||||
[
|
||||
'startTime' => 1592981250,
|
||||
'endTime' => 1592981250,
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider buildProvider
|
||||
*/
|
||||
public function testBuild(): void
|
||||
{
|
||||
$model = Response::MODEL_BUILD;
|
||||
|
@ -259,6 +303,28 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider buildProvider
|
||||
*/
|
||||
public function testBuildList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_BUILD_LIST;
|
||||
|
||||
$content = [
|
||||
'builds' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'builds' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
public function collectionProvider(): array
|
||||
{
|
||||
return [
|
||||
|
@ -344,6 +410,30 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
* @dataProvider permissionsProvider
|
||||
* @dataProvider collectionProvider
|
||||
*/
|
||||
public function testCollectionList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_COLLECTION_LIST;
|
||||
|
||||
$content = [
|
||||
'collections' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'collections' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
*/
|
||||
|
@ -356,6 +446,28 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
*/
|
||||
public function testDatabaseList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_DATABASE_LIST;
|
||||
|
||||
$content = [
|
||||
'databases' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'databases' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
*/
|
||||
|
@ -368,6 +480,28 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
*/
|
||||
public function testDeploymentList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_DEPLOYMENT_LIST;
|
||||
|
||||
$content = [
|
||||
'deployments' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'deployments' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
* @dataProvider permissionsProvider
|
||||
|
@ -381,6 +515,29 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
* @dataProvider permissionsProvider
|
||||
*/
|
||||
public function testDocumentList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_DOCUMENT_LIST;
|
||||
|
||||
$content = [
|
||||
'documents' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'documents' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
*/
|
||||
|
@ -393,6 +550,28 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
*/
|
||||
public function testDomainList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_DOMAIN_LIST;
|
||||
|
||||
$content = [
|
||||
'domains' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'domains' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
public function executionProvider(): array
|
||||
{
|
||||
return [
|
||||
|
@ -417,6 +596,30 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
* @dataProvider permissionsProvider
|
||||
* @dataProvider executionProvider
|
||||
*/
|
||||
public function testExecutionList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_EXECUTION_LIST;
|
||||
|
||||
$content = [
|
||||
'executions' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'executions' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
* @dataProvider permissionsProvider
|
||||
|
@ -430,6 +633,29 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
* @dataProvider permissionsProvider
|
||||
*/
|
||||
public function testFileList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_FILE_LIST;
|
||||
|
||||
$content = [
|
||||
'files' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'files' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
public function functionProvider(): array
|
||||
{
|
||||
return [
|
||||
|
@ -502,6 +728,29 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
* @dataProvider functionProvider
|
||||
*/
|
||||
public function testFuncList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_FUNCTION_LIST;
|
||||
|
||||
$content = [
|
||||
'functions' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'functions' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
public function keyProvider(): array
|
||||
{
|
||||
return [
|
||||
|
@ -525,6 +774,29 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
* @dataProvider keyProvider
|
||||
*/
|
||||
public function testKeyList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_KEY_LIST;
|
||||
|
||||
$content = [
|
||||
'keys' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'keys' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
public function logProvider(): array
|
||||
{
|
||||
return [
|
||||
|
@ -548,6 +820,29 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
* @dataProvider logProvider
|
||||
*/
|
||||
public function testLogList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_LOG_LIST;
|
||||
|
||||
$content = [
|
||||
'logs' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'logs' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
public function membershipProvider(): array
|
||||
{
|
||||
return [
|
||||
|
@ -577,6 +872,29 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
* @dataProvider membershipProvider
|
||||
*/
|
||||
public function testMembershipList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_MEMBERSHIP_LIST;
|
||||
|
||||
$content = [
|
||||
'memberships' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'memberships' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
public function metricProvider(): array
|
||||
{
|
||||
return [
|
||||
|
@ -615,6 +933,28 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
*/
|
||||
public function testPlatformList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_PLATFORM_LIST;
|
||||
|
||||
$content = [
|
||||
'platforms' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'platforms' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
*/
|
||||
|
@ -627,6 +967,28 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
*/
|
||||
public function testProjectList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_PROJECT_LIST;
|
||||
|
||||
$content = [
|
||||
'projects' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'projects' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
public function sessionProvider(): array
|
||||
{
|
||||
return [
|
||||
|
@ -657,6 +1019,28 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider sessionProvider
|
||||
*/
|
||||
public function testSessionList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_SESSION_LIST;
|
||||
|
||||
$content = [
|
||||
'sessions' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'sessions' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
*/
|
||||
|
@ -669,6 +1053,28 @@ class V15Test extends TestCase
|
|||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
*/
|
||||
public function testTeamList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_TEAM_LIST;
|
||||
|
||||
$content = [
|
||||
'teams' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'teams' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
public function tokenProvider(): array
|
||||
{
|
||||
return [
|
||||
|
@ -909,4 +1315,117 @@ class V15Test extends TestCase
|
|||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
public function userProvider(): array
|
||||
{
|
||||
return [
|
||||
'basic user' => [
|
||||
[
|
||||
'$id' => '5e5ea5c16897e',
|
||||
'$createdAt' => '2020-06-24T06:47:30.000Z',
|
||||
'$updatedAt' => '2020-06-24T06:47:30.000Z',
|
||||
'name' => 'John Doe',
|
||||
'password' => '$argon2id$v=19$m=2048,t=4,p=3$aUZjLnliVWRINmFNTWMudg$5S+x+7uA31xFnrHFT47yFwcJeaP0w92L/4LdgrVRXxE',
|
||||
'hash' => 'argon2',
|
||||
'hashOptions' => [
|
||||
'memoryCost' => 65536,
|
||||
'timeCost' => 4,
|
||||
'threads' => 3,
|
||||
],
|
||||
'registration' => '2020-06-24T06:47:30.000Z',
|
||||
'status' => true,
|
||||
'passwordUpdate' => '2020-06-24T06:47:30.000Z',
|
||||
'email' => 'john@appwrite.io',
|
||||
'phone' => '+4930901820',
|
||||
'emailVerification' => true,
|
||||
'phoneVerification' => true,
|
||||
'prefs' => new \stdClass(),
|
||||
],
|
||||
[
|
||||
'$id' => '5e5ea5c16897e',
|
||||
'$createdAt' => 1592981250,
|
||||
'$updatedAt' => 1592981250,
|
||||
'name' => 'John Doe',
|
||||
'registration' => 1592981250,
|
||||
'status' => true,
|
||||
'passwordUpdate' => 1592981250,
|
||||
'email' => 'john@appwrite.io',
|
||||
'phone' => '+4930901820',
|
||||
'emailVerification' => true,
|
||||
'phoneVerification' => true,
|
||||
'prefs' => new \stdClass(),
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
* @dataProvider userProvider
|
||||
*/
|
||||
public function testUser(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_USER;
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
* @dataProvider userProvider
|
||||
*/
|
||||
public function testUserList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_USER_LIST;
|
||||
|
||||
$content = [
|
||||
'users' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'users' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
*/
|
||||
public function testWebhook(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_WEBHOOK;
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider createdAtUpdatedAtProvider
|
||||
*/
|
||||
public function testWebhookList(array $content, array $expected): void
|
||||
{
|
||||
$model = Response::MODEL_WEBHOOK_LIST;
|
||||
|
||||
$content = [
|
||||
'webhooks' => [$content],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$expected = [
|
||||
'webhooks' => [$expected],
|
||||
'total' => 1,
|
||||
];
|
||||
|
||||
$result = $this->filter->parse($content, $model);
|
||||
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue