1
1
2
2
const path = require ( 'path' )
3
3
const assert = require ( 'assert' )
4
- const { FunctionEngine } = require ( '../../dist/lib/faas/index ' )
5
- const { handler } = require ( './func ' )
4
+ const { FunctionEngine } = require ( '../../dist/lib/faas/engine ' )
5
+ const ts = require ( 'typescript ' )
6
6
7
7
8
+ const source = `
9
+ import * as crypto from 'crypto'
10
+
11
+ exports.main = async function (ctx: any) {
12
+ console.log(ctx)
13
+ console.log(crypto)
14
+ return 'ok'
15
+ }
16
+ `
17
+
18
+ const source2 = `
19
+ import * as crypto from 'crypto'
20
+
21
+ export async function main (ctx: any) {
22
+ console.log(ctx)
23
+ console.log(crypto)
24
+ return 'ok'
25
+ }
26
+ `
27
+
8
28
describe ( "FaaS Engine" , ( ) => {
9
29
10
30
it ( "constructor" , async ( ) => {
11
31
const engine = new FunctionEngine ( )
12
32
assert ( engine instanceof FunctionEngine )
13
33
} )
14
34
15
- it ( "run code" , async ( ) => {
35
+ it ( "run code 1" , async ( ) => {
36
+ const engine = new FunctionEngine ( )
37
+
38
+ const result = ts . transpile ( source2 , {
39
+ module : ts . ModuleKind . CommonJS ,
40
+ target : ts . ScriptTarget . ES2017
41
+ } )
42
+
43
+ const code = result
44
+ const ret = await engine . run ( code , {
45
+ context : { }
46
+ } )
47
+ assert . strictEqual ( ret . data , 'ok' )
48
+ } )
49
+
50
+ it ( "run code 2" , async ( ) => {
16
51
const engine = new FunctionEngine ( )
17
52
18
- const code = handler . toString ( )
19
- const ret = await engine . run ( code , { } )
20
- assert . strictEqual ( ret , 'ok' )
53
+ const result = ts . transpile ( source2 , {
54
+ module : ts . ModuleKind . CommonJS ,
55
+ target : ts . ScriptTarget . ES2017
56
+ } )
57
+
58
+ const code = result
59
+ const ret = await engine . run ( code , {
60
+ context : { }
61
+ } )
62
+ assert . strictEqual ( ret . data , 'ok' )
21
63
} )
22
64
23
65
} )
0 commit comments