Merge branch 'feat-1.4.x-response-filters' of github.com:appwrite/appwrite into feat-1.4.x-response-filters
This commit is contained in:
commit
f202294fc6
3 changed files with 1 additions and 744 deletions
|
@ -25,7 +25,7 @@ use Appwrite\Utopia\Response\Filters\V12 as ResponseV12;
|
||||||
use Appwrite\Utopia\Response\Filters\V13 as ResponseV13;
|
use Appwrite\Utopia\Response\Filters\V13 as ResponseV13;
|
||||||
use Appwrite\Utopia\Response\Filters\V14 as ResponseV14;
|
use Appwrite\Utopia\Response\Filters\V14 as ResponseV14;
|
||||||
use Appwrite\Utopia\Response\Filters\V15 as ResponseV15;
|
use Appwrite\Utopia\Response\Filters\V15 as ResponseV15;
|
||||||
use Appwrite\Utopia\Response\Filters\V15 as ResponseV16;
|
use Appwrite\Utopia\Response\Filters\V16 as ResponseV16;
|
||||||
use Utopia\CLI\Console;
|
use Utopia\CLI\Console;
|
||||||
use Utopia\Database\Database;
|
use Utopia\Database\Database;
|
||||||
use Utopia\Database\DateTime;
|
use Utopia\Database\DateTime;
|
||||||
|
|
|
@ -31,35 +31,6 @@ class V16 extends Filter
|
||||||
case Response::MODEL_PROJECT:
|
case Response::MODEL_PROJECT:
|
||||||
$parsedResponse = $this->parseProject($parsedResponse);
|
$parsedResponse = $this->parseProject($parsedResponse);
|
||||||
break;
|
break;
|
||||||
// We've decided to push these usage changes to a future release so
|
|
||||||
// these changes may still be helpful down the line.
|
|
||||||
// case Response::MODEL_USAGE_BUCKETS:
|
|
||||||
// $parsedResponse = $this->parseUsageBuckets($parsedResponse);
|
|
||||||
// break;
|
|
||||||
// case Response::MODEL_USAGE_COLLECTION:
|
|
||||||
// $parsedResponse = $this->parseUsageCollection($parsedResponse);
|
|
||||||
// break;
|
|
||||||
// case Response::MODEL_USAGE_DATABASE:
|
|
||||||
// $parsedResponse = $this->parseUsageDatabase($parsedResponse);
|
|
||||||
// break;
|
|
||||||
// case Response::MODEL_USAGE_DATABASES:
|
|
||||||
// $parsedResponse = $this->parseUsageDatabases($parsedResponse);
|
|
||||||
// break;
|
|
||||||
// case Response::MODEL_USAGE_FUNCTION:
|
|
||||||
// $parsedResponse = $this->parseUsageFunction($parsedResponse);
|
|
||||||
// break;
|
|
||||||
// case Response::MODEL_USAGE_FUNCTIONS:
|
|
||||||
// $parsedResponse = $this->parseUsageFunctions($parsedResponse);
|
|
||||||
// break;
|
|
||||||
// case Response::MODEL_USAGE_PROJECT:
|
|
||||||
// $parsedResponse = $this->parseUsageProject($parsedResponse);
|
|
||||||
// break;
|
|
||||||
// case Response::MODEL_USAGE_STORAGE:
|
|
||||||
// $parsedResponse = $this->parseUsageStorage($parsedResponse);
|
|
||||||
// break;
|
|
||||||
// case Response::MODEL_USAGE_USERS:
|
|
||||||
// $parsedResponse = $this->parseUsageUsers($parsedResponse);
|
|
||||||
// break;
|
|
||||||
case Response::MODEL_VARIABLE:
|
case Response::MODEL_VARIABLE:
|
||||||
$parsedResponse = $this->parseVariable($parsedResponse);
|
$parsedResponse = $this->parseVariable($parsedResponse);
|
||||||
break;
|
break;
|
||||||
|
@ -126,234 +97,6 @@ class V16 extends Filter
|
||||||
return $content;
|
return $content;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function parseUsageBuckets(array $content)
|
|
||||||
{
|
|
||||||
if (isset($content['filesTotal'])) {
|
|
||||||
$content['filesCount'] = $content['filesTotal'];
|
|
||||||
unset($content['filesTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$attributesToInit = ['filesCreate', 'filesRead', 'filesUpdate', 'filesDelete'];
|
|
||||||
foreach ($attributesToInit as $attribute) {
|
|
||||||
$content[$attribute] = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
return $content;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function parseUsageCollection(array $content)
|
|
||||||
{
|
|
||||||
if (isset($content['documentsTotal'])) {
|
|
||||||
$content['documentsCount'] = $content['documentsTotal'];
|
|
||||||
unset($content['documentsTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$attributesToInit = ['documentsCreate', 'documentsRead', 'documentsUpdate', 'documentsDelete'];
|
|
||||||
foreach ($attributesToInit as $attribute) {
|
|
||||||
$content[$attribute] = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
return $content;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function parseUsageDatabase(array $content)
|
|
||||||
{
|
|
||||||
if (isset($content['documentsTotal'])) {
|
|
||||||
$content['documentsCount'] = $content['documentsTotal'];
|
|
||||||
unset($content['documentsTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($content['collectionsTotal'])) {
|
|
||||||
$content['collectionsCount'] = $content['collectionsTotal'];
|
|
||||||
unset($content['collectionsTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$attributesToInit = [
|
|
||||||
'documentsCreate',
|
|
||||||
'documentsRead',
|
|
||||||
'documentsUpdate',
|
|
||||||
'documentsDelete',
|
|
||||||
'collectionsCreate',
|
|
||||||
'collectionsRead',
|
|
||||||
'collectionsUpdate',
|
|
||||||
'collectionsDelete',
|
|
||||||
];
|
|
||||||
foreach ($attributesToInit as $attribute) {
|
|
||||||
$content[$attribute] = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
return $content;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function parseUsageDatabases(array $content)
|
|
||||||
{
|
|
||||||
if (isset($content['documentsTotal'])) {
|
|
||||||
$content['documentsCount'] = $content['documentsTotal'];
|
|
||||||
unset($content['documentsTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($content['collectionsTotal'])) {
|
|
||||||
$content['collectionsCount'] = $content['collectionsTotal'];
|
|
||||||
unset($content['collectionsTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($content['databasesTotal'])) {
|
|
||||||
$content['databasesCount'] = $content['databasesTotal'];
|
|
||||||
unset($content['databasesTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$attributesToInit = [
|
|
||||||
'documentsCreate',
|
|
||||||
'documentsRead',
|
|
||||||
'documentsUpdate',
|
|
||||||
'documentsDelete',
|
|
||||||
'collectionsCreate',
|
|
||||||
'collectionsRead',
|
|
||||||
'collectionsUpdate',
|
|
||||||
'collectionsDelete',
|
|
||||||
'databasesCreate',
|
|
||||||
'databasesRead',
|
|
||||||
'databasesUpdate',
|
|
||||||
'databasesDelete',
|
|
||||||
];
|
|
||||||
foreach ($attributesToInit as $attribute) {
|
|
||||||
$content[$attribute] = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
return $content;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function parseUsageFunction(array $content)
|
|
||||||
{
|
|
||||||
$attributesToInit = [
|
|
||||||
'buildsFailure',
|
|
||||||
'buildsSuccess',
|
|
||||||
'executionsFailure',
|
|
||||||
'executionsSuccess',
|
|
||||||
];
|
|
||||||
foreach ($attributesToInit as $attribute) {
|
|
||||||
$content[$attribute] = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
return $content;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function parseUsageFunctions(array $content)
|
|
||||||
{
|
|
||||||
$attributesToInit = [
|
|
||||||
'buildsFailure',
|
|
||||||
'buildsSuccess',
|
|
||||||
'executionsFailure',
|
|
||||||
'executionsSuccess',
|
|
||||||
];
|
|
||||||
foreach ($attributesToInit as $attribute) {
|
|
||||||
$content[$attribute] = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
return $content;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function parseUsageProject(array $content)
|
|
||||||
{
|
|
||||||
if (isset($content['requestsTotal'])) {
|
|
||||||
$content['requests'] = $content['requestsTotal'];
|
|
||||||
unset($content['requestsTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($content['executionsTotal'])) {
|
|
||||||
$content['executions'] = $content['executionsTotal'];
|
|
||||||
unset($content['executionsTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($content['documentsTotal'])) {
|
|
||||||
$content['documents'] = $content['documentsTotal'];
|
|
||||||
unset($content['documentsTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($content['databasesTotal'])) {
|
|
||||||
$content['databases'] = $content['databasesTotal'];
|
|
||||||
unset($content['databasesTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($content['usersTotal'])) {
|
|
||||||
$content['users'] = $content['usersTotal'];
|
|
||||||
unset($content['usersTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($content['filesStorage'])) {
|
|
||||||
$content['storage'] = $content['filesStorage'];
|
|
||||||
unset($content['filesStorage']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($content['bucketsTotal'])) {
|
|
||||||
$content['buckets'] = $content['bucketsTotal'];
|
|
||||||
unset($content['bucketsTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $content;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function parseUsageStorage(array $content)
|
|
||||||
{
|
|
||||||
if (isset($content['bucketsTotal'])) {
|
|
||||||
$content['bucketsCount'] = $content['bucketsTotal'];
|
|
||||||
unset($content['bucketsTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($content['filesTotal'])) {
|
|
||||||
$content['filesCount'] = $content['filesTotal'];
|
|
||||||
unset($content['filesTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($content['filesStorage'])) {
|
|
||||||
$content['storage'] = $content['filesStorage'];
|
|
||||||
unset($content['filesStorage']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$attributesToInit = [
|
|
||||||
'bucketsCreate',
|
|
||||||
'bucketsRead',
|
|
||||||
'bucketsUpdate',
|
|
||||||
'bucketsDelete',
|
|
||||||
'filesCreate',
|
|
||||||
'filesRead',
|
|
||||||
'filesUpdate',
|
|
||||||
'filesDelete',
|
|
||||||
];
|
|
||||||
foreach ($attributesToInit as $attribute) {
|
|
||||||
$content[$attribute] = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
return $content;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function parseUsageUsers(array $content)
|
|
||||||
{
|
|
||||||
if (isset($content['usersTotal'])) {
|
|
||||||
$content['usersCount'] = $content['usersTotal'];
|
|
||||||
unset($content['usersTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($content['sessionsTotal'])) {
|
|
||||||
$content['sessionsCreate'] = $content['sessionsTotal'];
|
|
||||||
unset($content['sessionsTotal']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$attributesToInit = [
|
|
||||||
'usersCreate',
|
|
||||||
'usersRead',
|
|
||||||
'usersUpdate',
|
|
||||||
'usersDelete',
|
|
||||||
'sessionsProviderCreate',
|
|
||||||
'sessionsDelete',
|
|
||||||
];
|
|
||||||
foreach ($attributesToInit as $attribute) {
|
|
||||||
$content[$attribute] = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
return $content;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function parseVariable(array $content)
|
protected function parseVariable(array $content)
|
||||||
{
|
{
|
||||||
if (isset($content['resourceId'])) {
|
if (isset($content['resourceId'])) {
|
||||||
|
|
|
@ -200,492 +200,6 @@ class V16Test extends TestCase
|
||||||
$this->assertEquals($expected, $result);
|
$this->assertEquals($expected, $result);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function usageBucketsProvider(): array
|
|
||||||
{
|
|
||||||
$metrics = [
|
|
||||||
[
|
|
||||||
'value' => 123,
|
|
||||||
'date' => Model::TYPE_DATETIME_EXAMPLE,
|
|
||||||
]
|
|
||||||
];
|
|
||||||
return [
|
|
||||||
'filesCount and deleted usage' => [
|
|
||||||
[
|
|
||||||
'filesTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'filesCount' => $metrics,
|
|
||||||
'filesCreate' => [],
|
|
||||||
'filesRead' => [],
|
|
||||||
'filesUpdate' => [],
|
|
||||||
'filesDelete' => [],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @dataProvider usageBucketsProvider
|
|
||||||
*/
|
|
||||||
public function testUsageBuckets(array $content, array $expected): void
|
|
||||||
{
|
|
||||||
$model = Response::MODEL_USAGE_BUCKETS;
|
|
||||||
|
|
||||||
$result = $this->filter->parse($content, $model);
|
|
||||||
|
|
||||||
$this->assertEquals($expected, $result);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function usageCollectionProvider(): array
|
|
||||||
{
|
|
||||||
$metrics = [
|
|
||||||
[
|
|
||||||
'value' => 123,
|
|
||||||
'date' => Model::TYPE_DATETIME_EXAMPLE,
|
|
||||||
]
|
|
||||||
];
|
|
||||||
return [
|
|
||||||
'documentsCount and deleted usage' => [
|
|
||||||
[
|
|
||||||
'documentsTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'documentsCount' => $metrics,
|
|
||||||
'documentsCreate' => [],
|
|
||||||
'documentsRead' => [],
|
|
||||||
'documentsUpdate' => [],
|
|
||||||
'documentsDelete' => [],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @dataProvider usageCollectionProvider
|
|
||||||
*/
|
|
||||||
public function testUsageCollection(array $content, array $expected): void
|
|
||||||
{
|
|
||||||
$model = Response::MODEL_USAGE_COLLECTION;
|
|
||||||
|
|
||||||
$result = $this->filter->parse($content, $model);
|
|
||||||
|
|
||||||
$this->assertEquals($expected, $result);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function usageDatabaseProvider(): array
|
|
||||||
{
|
|
||||||
$metrics = [
|
|
||||||
[
|
|
||||||
'value' => 123,
|
|
||||||
'date' => Model::TYPE_DATETIME_EXAMPLE,
|
|
||||||
]
|
|
||||||
];
|
|
||||||
return [
|
|
||||||
'collectionsCount and deleted usage' => [
|
|
||||||
[
|
|
||||||
'collectionsTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'collectionsCount' => $metrics,
|
|
||||||
'documentsCreate' => [],
|
|
||||||
'documentsRead' => [],
|
|
||||||
'documentsUpdate' => [],
|
|
||||||
'documentsDelete' => [],
|
|
||||||
'collectionsCreate' => [],
|
|
||||||
'collectionsRead' => [],
|
|
||||||
'collectionsUpdate' => [],
|
|
||||||
'collectionsDelete' => [],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'documentsCount and deleted usage' => [
|
|
||||||
[
|
|
||||||
'documentsTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'documentsCount' => $metrics,
|
|
||||||
'documentsCreate' => [],
|
|
||||||
'documentsRead' => [],
|
|
||||||
'documentsUpdate' => [],
|
|
||||||
'documentsDelete' => [],
|
|
||||||
'collectionsCreate' => [],
|
|
||||||
'collectionsRead' => [],
|
|
||||||
'collectionsUpdate' => [],
|
|
||||||
'collectionsDelete' => [],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @dataProvider usageDatabaseProvider
|
|
||||||
*/
|
|
||||||
public function testUsageDatabase(array $content, array $expected): void
|
|
||||||
{
|
|
||||||
$model = Response::MODEL_USAGE_DATABASE;
|
|
||||||
|
|
||||||
$result = $this->filter->parse($content, $model);
|
|
||||||
|
|
||||||
$this->assertEquals($expected, $result);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function usageDatabasesProvider(): array
|
|
||||||
{
|
|
||||||
$metrics = [
|
|
||||||
[
|
|
||||||
'value' => 123,
|
|
||||||
'date' => Model::TYPE_DATETIME_EXAMPLE,
|
|
||||||
]
|
|
||||||
];
|
|
||||||
return [
|
|
||||||
'databasesCount and deleted usage' => [
|
|
||||||
[
|
|
||||||
'databasesTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'databasesCount' => $metrics,
|
|
||||||
'documentsCreate' => [],
|
|
||||||
'documentsRead' => [],
|
|
||||||
'documentsUpdate' => [],
|
|
||||||
'documentsDelete' => [],
|
|
||||||
'collectionsCreate' => [],
|
|
||||||
'collectionsRead' => [],
|
|
||||||
'collectionsUpdate' => [],
|
|
||||||
'collectionsDelete' => [],
|
|
||||||
'databasesCreate' => [],
|
|
||||||
'databasesRead' => [],
|
|
||||||
'databasesUpdate' => [],
|
|
||||||
'databasesDelete' => [],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'collectionsCount and deleted usage' => [
|
|
||||||
[
|
|
||||||
'collectionsTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'collectionsCount' => $metrics,
|
|
||||||
'documentsCreate' => [],
|
|
||||||
'documentsRead' => [],
|
|
||||||
'documentsUpdate' => [],
|
|
||||||
'documentsDelete' => [],
|
|
||||||
'collectionsCreate' => [],
|
|
||||||
'collectionsRead' => [],
|
|
||||||
'collectionsUpdate' => [],
|
|
||||||
'collectionsDelete' => [],
|
|
||||||
'databasesCreate' => [],
|
|
||||||
'databasesRead' => [],
|
|
||||||
'databasesUpdate' => [],
|
|
||||||
'databasesDelete' => [],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'documentsCount and deleted usage' => [
|
|
||||||
[
|
|
||||||
'documentsTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'documentsCount' => $metrics,
|
|
||||||
'documentsCreate' => [],
|
|
||||||
'documentsRead' => [],
|
|
||||||
'documentsUpdate' => [],
|
|
||||||
'documentsDelete' => [],
|
|
||||||
'collectionsCreate' => [],
|
|
||||||
'collectionsRead' => [],
|
|
||||||
'collectionsUpdate' => [],
|
|
||||||
'collectionsDelete' => [],
|
|
||||||
'databasesCreate' => [],
|
|
||||||
'databasesRead' => [],
|
|
||||||
'databasesUpdate' => [],
|
|
||||||
'databasesDelete' => [],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @dataProvider usageDatabasesProvider
|
|
||||||
*/
|
|
||||||
public function testUsageDatabases(array $content, array $expected): void
|
|
||||||
{
|
|
||||||
$model = Response::MODEL_USAGE_DATABASES;
|
|
||||||
|
|
||||||
$result = $this->filter->parse($content, $model);
|
|
||||||
|
|
||||||
$this->assertEquals($expected, $result);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function usageFunctionProvider(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'deleted usage' => [
|
|
||||||
[
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'buildsFailure' => [],
|
|
||||||
'buildsSuccess' => [],
|
|
||||||
'executionsFailure' => [],
|
|
||||||
'executionsSuccess' => [],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @dataProvider usageFunctionProvider
|
|
||||||
*/
|
|
||||||
public function testUsageFunction(array $content, array $expected): void
|
|
||||||
{
|
|
||||||
$model = Response::MODEL_USAGE_FUNCTION;
|
|
||||||
|
|
||||||
$result = $this->filter->parse($content, $model);
|
|
||||||
|
|
||||||
$this->assertEquals($expected, $result);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function usageFunctionsProvider(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'deleted usage' => [
|
|
||||||
[
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'buildsFailure' => [],
|
|
||||||
'buildsSuccess' => [],
|
|
||||||
'executionsFailure' => [],
|
|
||||||
'executionsSuccess' => [],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @dataProvider usageFunctionsProvider
|
|
||||||
*/
|
|
||||||
public function testUsageFunctions(array $content, array $expected): void
|
|
||||||
{
|
|
||||||
$model = Response::MODEL_USAGE_FUNCTIONS;
|
|
||||||
|
|
||||||
$result = $this->filter->parse($content, $model);
|
|
||||||
|
|
||||||
$this->assertEquals($expected, $result);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function usageProjectProvider(): array
|
|
||||||
{
|
|
||||||
$metrics = [
|
|
||||||
[
|
|
||||||
'value' => 123,
|
|
||||||
'date' => Model::TYPE_DATETIME_EXAMPLE,
|
|
||||||
]
|
|
||||||
];
|
|
||||||
return [
|
|
||||||
'requests usage' => [
|
|
||||||
[
|
|
||||||
'requestsTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'requests' => $metrics,
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'executions usage' => [
|
|
||||||
[
|
|
||||||
'executionsTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'executions' => $metrics,
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'documents usage' => [
|
|
||||||
[
|
|
||||||
'documentsTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'documents' => $metrics,
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'databases usage' => [
|
|
||||||
[
|
|
||||||
'databasesTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'databases' => $metrics,
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'users usage' => [
|
|
||||||
[
|
|
||||||
'usersTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'users' => $metrics,
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'storage usage' => [
|
|
||||||
[
|
|
||||||
'filesStorage' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'storage' => $metrics,
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'buckets usage' => [
|
|
||||||
[
|
|
||||||
'bucketsTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'buckets' => $metrics,
|
|
||||||
],
|
|
||||||
],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @dataProvider usageProjectProvider
|
|
||||||
*/
|
|
||||||
public function testUsageProject(array $content, array $expected): void
|
|
||||||
{
|
|
||||||
$model = Response::MODEL_USAGE_PROJECT;
|
|
||||||
|
|
||||||
$result = $this->filter->parse($content, $model);
|
|
||||||
|
|
||||||
$this->assertEquals($expected, $result);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function usageStorageProvider(): array
|
|
||||||
{
|
|
||||||
$metrics = [
|
|
||||||
[
|
|
||||||
'value' => 123,
|
|
||||||
'date' => Model::TYPE_DATETIME_EXAMPLE,
|
|
||||||
]
|
|
||||||
];
|
|
||||||
return [
|
|
||||||
'bucketsCount usage' => [
|
|
||||||
[
|
|
||||||
'bucketsTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'bucketsCount' => $metrics,
|
|
||||||
'bucketsCreate' => [],
|
|
||||||
'bucketsRead' => [],
|
|
||||||
'bucketsUpdate' => [],
|
|
||||||
'bucketsDelete' => [],
|
|
||||||
'filesCreate' => [],
|
|
||||||
'filesRead' => [],
|
|
||||||
'filesUpdate' => [],
|
|
||||||
'filesDelete' => [],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'filesCount usage' => [
|
|
||||||
[
|
|
||||||
'filesTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'filesCount' => $metrics,
|
|
||||||
'bucketsCreate' => [],
|
|
||||||
'bucketsRead' => [],
|
|
||||||
'bucketsUpdate' => [],
|
|
||||||
'bucketsDelete' => [],
|
|
||||||
'filesCreate' => [],
|
|
||||||
'filesRead' => [],
|
|
||||||
'filesUpdate' => [],
|
|
||||||
'filesDelete' => [],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'storage usage' => [
|
|
||||||
[
|
|
||||||
'filesStorage' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'storage' => $metrics,
|
|
||||||
'bucketsCreate' => [],
|
|
||||||
'bucketsRead' => [],
|
|
||||||
'bucketsUpdate' => [],
|
|
||||||
'bucketsDelete' => [],
|
|
||||||
'filesCreate' => [],
|
|
||||||
'filesRead' => [],
|
|
||||||
'filesUpdate' => [],
|
|
||||||
'filesDelete' => [],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @dataProvider usageStorageProvider
|
|
||||||
*/
|
|
||||||
public function testUsageStorage(array $content, array $expected): void
|
|
||||||
{
|
|
||||||
$model = Response::MODEL_USAGE_STORAGE;
|
|
||||||
|
|
||||||
$result = $this->filter->parse($content, $model);
|
|
||||||
|
|
||||||
$this->assertEquals($expected, $result);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function usageUsersProvider(): array
|
|
||||||
{
|
|
||||||
$metrics = [
|
|
||||||
[
|
|
||||||
'value' => 123,
|
|
||||||
'date' => Model::TYPE_DATETIME_EXAMPLE,
|
|
||||||
]
|
|
||||||
];
|
|
||||||
return [
|
|
||||||
'usersCount usage' => [
|
|
||||||
[
|
|
||||||
'usersTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'usersCount' => $metrics,
|
|
||||||
'usersCreate' => [],
|
|
||||||
'usersRead' => [],
|
|
||||||
'usersUpdate' => [],
|
|
||||||
'usersDelete' => [],
|
|
||||||
'sessionsProviderCreate' => [],
|
|
||||||
'sessionsDelete' => [],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'sessionsCreate usage' => [
|
|
||||||
[
|
|
||||||
'sessionsTotal' => $metrics,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'sessionsCreate' => $metrics,
|
|
||||||
'usersCreate' => [],
|
|
||||||
'usersRead' => [],
|
|
||||||
'usersUpdate' => [],
|
|
||||||
'usersDelete' => [],
|
|
||||||
'sessionsProviderCreate' => [],
|
|
||||||
'sessionsDelete' => [],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @dataProvider usageUsersProvider
|
|
||||||
*/
|
|
||||||
public function testUsageUsers(array $content, array $expected): void
|
|
||||||
{
|
|
||||||
$model = Response::MODEL_USAGE_USERS;
|
|
||||||
|
|
||||||
$result = $this->filter->parse($content, $model);
|
|
||||||
|
|
||||||
$this->assertEquals($expected, $result);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function usageVariableProvider(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'functionId' => [
|
|
||||||
[
|
|
||||||
'resourceId' => '5e5ea5c16897e',
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'functionId' => '5e5ea5c16897e',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @dataProvider usageVariableProvider
|
* @dataProvider usageVariableProvider
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue