1
0
Fork 0
mirror of synced 2024-06-01 18:39:57 +12:00

Updated mock controller

This commit is contained in:
Eldad Fux 2020-12-26 14:19:53 +02:00
parent 55e758b4c4
commit 713e44c4cc

View file

@ -174,6 +174,7 @@ App::post('/v1/mock/tests/general/upload')
->param('y', '', new Numeric(), 'Sample numeric param')
->param('z', null, new ArrayList(new Text(256)), 'Sample array param')
->param('file', [], new File(), 'Sample file param', false)
->inject('request')
->action(function ($x, $y, $z, $file, $request) {
/** @var Utopia\Swoole\Request $request */
@ -199,7 +200,7 @@ App::post('/v1/mock/tests/general/upload')
throw new Exception('Wrong file uploaded', 400);
}
}
}, ['request']);
});
App::get('/v1/mock/tests/general/redirect')
->desc('Mock a post request for SDK tests')
@ -210,11 +211,12 @@ App::get('/v1/mock/tests/general/redirect')
->label('sdk.method', 'redirect')
->label('sdk.description', 'Mock a redirect request for SDK tests')
->label('sdk.mock', true)
->inject('response')
->action(function ($response) {
/** @var Appwrite\Utopia\Response $response */
$response->redirect('/v1/mock/tests/general/redirect/done');
}, ['response']);
});
App::get('/v1/mock/tests/general/redirect/done')
->desc('Mock a post request for SDK tests')
@ -237,11 +239,12 @@ App::get('/v1/mock/tests/general/set-cookie')
->label('sdk.method', 'setCookie')
->label('sdk.description', 'Mock a set cookie request for SDK tests')
->label('sdk.mock', true)
->inject('response')
->action(function ($response) {
/** @var Appwrite\Utopia\Response $response */
$response->addCookie('cookieName', 'cookieValue', \time() + 31536000, '/', 'localhost', true, true);
}, ['response']);
});
App::get('/v1/mock/tests/general/get-cookie')
->desc('Mock a cookie request for SDK tests')
@ -252,13 +255,14 @@ App::get('/v1/mock/tests/general/get-cookie')
->label('sdk.method', 'getCookie')
->label('sdk.description', 'Mock a get cookie request for SDK tests')
->label('sdk.mock', true)
->inject('request')
->action(function ($request) {
/** @var Utopia\Swoole\Request $request */
if ($request->getCookie('cookieName', '') !== 'cookieValue') {
throw new Exception('Missing cookie value', 400);
}
}, ['request']);
});
App::get('/v1/mock/tests/general/empty')
->desc('Mock a post request for SDK tests')
@ -269,12 +273,12 @@ App::get('/v1/mock/tests/general/empty')
->label('sdk.method', 'empty')
->label('sdk.description', 'Mock a redirected request for SDK tests')
->label('sdk.mock', true)
->inject('response')
->action(function ($response) {
/** @var Appwrite\Utopia\Response $response */
$response->noContent();
exit();
}, ['response']);
});
App::get('/v1/mock/tests/general/oauth2')
->desc('Mock an OAuth2 login route')
@ -286,11 +290,12 @@ App::get('/v1/mock/tests/general/oauth2')
->param('redirect_uri', '', new Host(['localhost']), 'OAuth2 Redirect URI.') // Important to deny an open redirect attack
->param('scope', '', new Text(100), 'OAuth2 scope list.')
->param('state', '', new Text(1024), 'OAuth2 state.')
->inject('response')
->action(function ($clientId, $redirectURI, $scope, $state, $response) {
/** @var Appwrite\Utopia\Response $response */
$response->redirect($redirectURI.'?'.\http_build_query(['code' => 'abcdef', 'state' => $state]));
}, ['response']);
});
App::get('/v1/mock/tests/general/oauth2/token')
->desc('Mock an OAuth2 login route')
@ -302,6 +307,7 @@ App::get('/v1/mock/tests/general/oauth2/token')
->param('redirect_uri', '', new Host(['localhost']), 'OAuth2 Redirect URI.')
->param('client_secret', '', new Text(100), 'OAuth2 scope list.')
->param('code', '', new Text(100), 'OAuth2 state.')
->inject('response')
->action(function ($clientId, $redirectURI, $clientSecret, $code, $response) {
/** @var Appwrite\Utopia\Response $response */
@ -318,7 +324,7 @@ App::get('/v1/mock/tests/general/oauth2/token')
}
$response->json(['access_token' => '123456']);
}, ['response']);
});
App::get('/v1/mock/tests/general/oauth2/user')
->desc('Mock an OAuth2 user route')
@ -326,6 +332,7 @@ App::get('/v1/mock/tests/general/oauth2/user')
->label('scope', 'public')
->label('docs', false)
->param('token', '', new Text(100), 'OAuth2 Access Token.')
->inject('response')
->action(function ($token, $response) {
/** @var Appwrite\Utopia\Response $response */
@ -338,24 +345,26 @@ App::get('/v1/mock/tests/general/oauth2/user')
'name' => 'User Name',
'email' => 'user@localhost.test',
]);
}, ['response']);
});
App::get('/v1/mock/tests/general/oauth2/success')
->label('scope', 'public')
->groups(['mock'])
->label('docs', false)
->inject('response')
->action(function ($response) {
/** @var Appwrite\Utopia\Response $response */
$response->json([
'result' => 'success',
]);
}, ['response']);
});
App::get('/v1/mock/tests/general/oauth2/failure')
->groups(['mock'])
->label('scope', 'public')
->label('docs', false)
->inject('response')
->action(function ($response) {
/** @var Appwrite\Utopia\Response $response */
@ -364,7 +373,7 @@ App::get('/v1/mock/tests/general/oauth2/failure')
->json([
'result' => 'failure',
]);
}, ['response']);
});
App::shutdown(function($utopia, $response, $request) {
/** @var Utopia\App $utopia */