云函数 examples
This commit is contained in:
39
examples/serverless-faas/backend/test/api/data.test.ts
Normal file
39
examples/serverless-faas/backend/test/api/data.test.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import assert from 'assert';
|
||||
import { HttpClient, TsrpcError } from 'tsrpc';
|
||||
import { serviceProto } from '../../src/shared/protocols/serviceProto';
|
||||
|
||||
// 1. EXECUTE `npm run dev` TO START A LOCAL DEV SERVER
|
||||
// 2. EXECUTE `npm test` TO START UNIT TEST
|
||||
|
||||
describe('ApiGetData', function () {
|
||||
let client = new HttpClient(serviceProto, {
|
||||
server: 'http://127.0.0.1:3000',
|
||||
logger: console
|
||||
});
|
||||
|
||||
it('AddData & GetData', async function () {
|
||||
// Get data before add
|
||||
let ret1 = await client.callApi('GetData', {});
|
||||
assert.strictEqual(ret1.isSucc, true);
|
||||
|
||||
// AddData
|
||||
let ret2 = await client.callApi('AddData', { content: 'AABBCC' });
|
||||
assert.strictEqual(ret2.isSucc, true);
|
||||
|
||||
// Get data again, the new data should appear
|
||||
let ret3 = await client.callApi('GetData', {});
|
||||
assert.strictEqual(ret3.isSucc, true);
|
||||
assert.strictEqual(ret3.res!.data.length, ret1.res!.data.length + 1);
|
||||
assert.strictEqual(ret3.res!.data[0].content, 'AABBCC');
|
||||
});
|
||||
|
||||
it('AddData: Check content is empty', async function () {
|
||||
let ret = await client.callApi('AddData', {
|
||||
content: ''
|
||||
});
|
||||
assert.deepStrictEqual(ret, {
|
||||
isSucc: false,
|
||||
err: new TsrpcError('Content is empty')
|
||||
});
|
||||
})
|
||||
})
|
15
examples/serverless-faas/backend/test/tsconfig.json
Normal file
15
examples/serverless-faas/backend/test/tsconfig.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"lib": [
|
||||
"es2018"
|
||||
],
|
||||
"module": "commonjs",
|
||||
"target": "es2018",
|
||||
"outDir": "dist",
|
||||
"strict": true,
|
||||
"esModuleInterop": true,
|
||||
"skipLibCheck": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"moduleResolution": "node"
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user