add http test server

This commit is contained in:
Simon Larsen
2023-05-09 17:03:03 +01:00
parent 71bea4e8ff
commit fd7b2d3db2
19 changed files with 22280 additions and 0 deletions

39
TestServer/API/Main.ts Normal file
View File

@@ -0,0 +1,39 @@
import LocalCache from 'CommonServer/Infrastructure/LocalCache';
import Express, {
ExpressRequest,
ExpressResponse,
ExpressRouter,
NextFunction,
} from 'CommonServer/Utils/Express';
import Response from 'CommonServer/Utils/Response';
import Sleep from 'Common/Types/Sleep';
const router: ExpressRouter = Express.getRouter();
router.get(
'/',
async (
req: ExpressRequest,
res: ExpressResponse,
next: NextFunction
): Promise<void> => {
try {
const responseCode: number | undefined =LocalCache.getNumber('TestServer', 'responseCode') || 200;
const responseTime: number | undefined =LocalCache.getNumber('TestServer', 'responseTime') || 0;
const responseBody: string | undefined =LocalCache.getString('TestServer', 'responseBody') || '';
if(responseTime > 0){
await Sleep.sleep(responseTime);
}
// middleware marks the probe as alive.
// so we dont need to do anything here.
return Response.sendCustomResponse(req, res, responseCode, responseBody);
} catch (err) {
return next(err);
}
}
);
export default router;

View File

@@ -0,0 +1,45 @@
import LocalCache from 'CommonServer/Infrastructure/LocalCache';
import Express, {
ExpressRequest,
ExpressResponse,
ExpressRouter,
NextFunction,
} from 'CommonServer/Utils/Express';
import Response from 'CommonServer/Utils/Response';
import { JSONObject} from 'Common/Types/JSON';
const router: ExpressRouter = Express.getRouter();
router.post(
'/settings',
async (
req: ExpressRequest,
res: ExpressResponse,
next: NextFunction
): Promise<void> => {
try {
const data: JSONObject = req.body;
const responseType: string | undefined = data['responseType'] as string | undefined;
const responseCode: number | undefined = data['responseCode'] as number | undefined;
const responseTime: number | undefined = data['responseTime'] as number | undefined;
const responseBody: string | undefined = data['responseBody'] as string | undefined;
LocalCache.setString('TestServer', 'responseType', responseType || 'JSON');
LocalCache.setNumber('TestServer', 'responseCode', responseCode || 200);
LocalCache.setNumber('TestServer', 'responseTime', responseTime || 0);
LocalCache.setString('TestServer', 'responseBody', responseBody || '');
// middleware marks the probe as alive.
// so we dont need to do anything here.
return Response.sendEmptyResponse(req, res);
} catch (err) {
return next(err);
}
}
);
export default router;