Fix V15 response format for functions and executions
This commit is contained in:
parent
eca5aa3c2b
commit
717abccd10
2 changed files with 59 additions and 7 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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'],
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue