/
waysToRun.spec.js
53 lines (46 loc) · 1.38 KB
/
waysToRun.spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
const test = require('ava')
const util = require('node:util')
const execFile = util.promisify(require('node:child_process').execFile)
const { runLava } = require('../src/index')
test('use lavamoat cli', async (t) => {
const projectRoot = `${__dirname}/projects/2`
const entryPath = './index.js'
const lavamoatPath = `${__dirname}/../src/cli.js`
const output = await execFile(lavamoatPath, [entryPath], { cwd: projectRoot })
t.deepEqual(
output.stdout.split('\n'),
[
'keccak256: 5cad7cf49f610ec53189e06d3c8668789441235613408f8fabcb4ad8dad94db5',
'',
],
'should return expected output'
)
})
test('use lavamoat programmatically', async (t) => {
const projectRoot = `${__dirname}/projects/2`
const entryPath = './index.js'
await runLava({
entryPath,
projectRoot,
debugMode: true,
})
// TODO: add means to endow entry with new references and pass a callback to assert it's been called.
t.pass()
})
test('use lavamoat-run-command', async (t) => {
const projectRoot = `${__dirname}/projects/2`
const lavamoatPath = `${__dirname}/../src/run-command.js`
const output = await execFile(
lavamoatPath,
[
'--autorun',
'--policyPath',
'./atob.policy.json',
'--',
'atob',
'MTIzNDU2Cg==',
],
{ cwd: projectRoot }
)
t.is(output.stdout.split('\n')[0], '123456', 'should return expected output')
})