Files: 50a0ebc04208fbb22e6da71e180399a8fc00b3a3 / tests / index.js
1875 bytesRaw
1 | const tape = require('tape') |
2 | const IPFS = require('ipfs') |
3 | const Hypervisor = require('../') |
4 | const Message = require('primea-message') |
5 | |
6 | const node = new IPFS() |
7 | node.on('error', err => { |
8 | console.log(err) |
9 | }) |
10 | |
11 | node.on('start', () => { |
12 | tape('basic', async t => { |
13 | const message = new Message() |
14 | const state = { |
15 | messages: [], |
16 | id: { |
17 | '/': { |
18 | nonce: new Buffer([0]), |
19 | parent: { |
20 | '/': null |
21 | } |
22 | } |
23 | }, |
24 | type: 'test', |
25 | vm: { |
26 | '/': { |
27 | ports: {} |
28 | } |
29 | } |
30 | } |
31 | const expectedState = { '/': 'zdpuAnCsh9tVFa3asqkC7iNkwK6dYyZqJDxQrB7PMt8foLRKJ' } |
32 | |
33 | class testVMContainer { |
34 | run (m) { |
35 | t.true(m === message, 'should recive a message') |
36 | } |
37 | } |
38 | |
39 | try { |
40 | const hypervisor = new Hypervisor({ |
41 | dag: node.dag |
42 | }) |
43 | hypervisor.addVM('test', testVMContainer) |
44 | |
45 | await hypervisor.send(state, message) |
46 | await hypervisor.createStateRoot(state, Infinity) |
47 | console.log('state root') |
48 | t.deepEquals(state, expectedState, 'expected') |
49 | t.end() |
50 | } catch (e) { |
51 | console.log(e) |
52 | } |
53 | }) |
54 | |
55 | tape('one child contract', t => { |
56 | t.end() |
57 | node.stop(() => { |
58 | process.exit() |
59 | }) |
60 | |
61 | const message = new Message() |
62 | class testVMContainer { |
63 | constuctor (kernel) { |
64 | this.kernel = kernel |
65 | } |
66 | |
67 | run (m) { |
68 | |
69 | } |
70 | } |
71 | |
72 | // const state = { |
73 | // id: {}, |
74 | // ports: { |
75 | // first: { |
76 | // id: { |
77 | // nonce: 1, |
78 | // parent: 'hash' |
79 | // }, |
80 | // code: 'js code', |
81 | // type: 'test', |
82 | // ports: { |
83 | |
84 | // } |
85 | // } |
86 | // } |
87 | // } |
88 | // const message = new Message({ |
89 | // type: 'create', |
90 | // path: 'first', |
91 | // data: jsCode |
92 | // }) |
93 | // hypervisor.send(port, message) |
94 | |
95 | }) |
96 | }) |
97 |
Built with git-ssb-web