1
0
Fork 0
mirror of synced 2024-09-29 08:51:28 +13:00

Fix V15 response format for functions and executions

This commit is contained in:
Steven Nguyen 2022-09-13 20:43:46 +00:00
parent eca5aa3c2b
commit 717abccd10
2 changed files with 59 additions and 7 deletions

View file

@ -317,8 +317,23 @@ class V15 extends Filter
private function parseExecution($content)
{
unset($content['stdout']);
$content = $this->parsePermissions($content);
$content = $this->parseDatetimeAttributes($content, ['$createdAt', '$updatedAt', 'startTime', 'endTime']);
if (isset($content['$permissions'])) {
$read = [];
foreach ($content['$permissions'] as $role) {
$read[] = $this->parseRole($role);
}
$content['$read'] = $read;
unset($content['$permissions']);
}
if (isset($content['duration'])) {
$content['time'] = $content['duration'];
unset($content['duration']);
}
$content = $this->parseDatetimeAttributes($content, ['$createdAt', '$updatedAt']);
return $content;
}
@ -344,7 +359,13 @@ class V15 extends Filter
$content['vars'] = $vars;
}
if (isset($content['enabled'])) {
$content['status'] = $content['enabled'] ? 'enabled' : 'disabled';
unset($content['enabled']);
}
$content = $this->parseDatetimeAttributes($content, ['$createdAt', '$updatedAt', 'scheduleNext', 'schedulePrevious']);
return $content;
}

View file

@ -576,15 +576,43 @@ class V15Test extends TestCase
{
return [
'basic execution' => [
['stdout' => ''],
[],
[
'$id' => '5e5ea5c16897e',
'$createdAt' => '2020-06-24T06:47:30.000Z',
'$updatedAt' => '2020-06-24T06:47:30.000Z',
'$permissions' => [
"any"
],
'functionId' => '5e5ea6g16897e',
'trigger' => 'http',
'status' => 'processing',
'statusCode' => 0,
'response' => '',
'stdout' => '',
'stderr' => '',
'duration' => 0.4
],
[
'$id' => '5e5ea5c16897e',
'$createdAt' => 1592981250,
'$updatedAt' => 1592981250,
'$read' => [
"role:all"
],
'functionId' => '5e5ea6g16897e',
'trigger' => 'http',
'status' => 'processing',
'statusCode' => 0,
'response' => '',
'stderr' => '',
'time' => 0.4
],
],
];
}
/**
* @dataProvider createdAtUpdatedAtProvider
* @dataProvider permissionsProvider
* @dataProvider executionProvider
*/
public function testExecution(array $content, array $expected): void
@ -598,7 +626,6 @@ class V15Test extends TestCase
/**
* @dataProvider createdAtUpdatedAtProvider
* @dataProvider permissionsProvider
* @dataProvider executionProvider
*/
public function testExecutionList(array $content, array $expected): void
@ -668,7 +695,7 @@ class V15Test extends TestCase
Role::users()->toString(),
],
'name' => 'My Function',
'status' => 'enabled',
'enabled' => true,
'runtime' => 'python-3.8',
'deployment' => '5e5ea5c16897e',
'vars' => [
@ -712,6 +739,10 @@ class V15Test extends TestCase
'timeout' => 1592981237
],
],
'enabled false' => [
['enabled' => false],
['status' => 'disabled'],
],
];
}