Files: 3d269c98d409d84e87895f410008a8df9e94f15d / test / master.js
1302 bytesRaw
1 | var tape = require('tape') |
2 | var util = require('../lib/util') |
3 | var ssbKeys = require('ssb-keys') |
4 | var ssbClient = require('ssb-client') |
5 | |
6 | var aliceKeys = ssbKeys.generate() |
7 | var bobKeys = ssbKeys.generate() |
8 | var carolKeys = ssbKeys.generate() |
9 | |
10 | var createSbot = require('../') |
11 | .use(require('../plugins/master')) |
12 | var caps = { |
13 | shs: require('crypto').randomBytes(32).toString('base64') |
14 | } |
15 | |
16 | var alice = createSbot({ |
17 | port: 45451, timeout: 2001, |
18 | temp: 'master', |
19 | host: 'localhost', |
20 | master: bobKeys.id, |
21 | keys: aliceKeys, |
22 | caps: caps |
23 | }) |
24 | |
25 | tape('connect remote master', function (t) { |
26 | console.log(alice.config) |
27 | ssbClient(bobKeys, { |
28 | remote: alice.getAddress(), |
29 | manifest: alice.manifest(), |
30 | caps: caps, |
31 | }, function (err, rpc) { |
32 | if(err) throw err |
33 | rpc.publish({ |
34 | type: 'msg', value: 'written by bob', from: bobKeys.id |
35 | }, function (err) { |
36 | if(err) throw err |
37 | t.end() |
38 | }) |
39 | }) |
40 | }) |
41 | |
42 | tape('non-master cannot use same methods', function (t) { |
43 | ssbClient(carolKeys, { |
44 | remote: alice.getAddress(), |
45 | manifest: alice.manifest(), |
46 | caps: caps |
47 | }, function (err, rpc) { |
48 | if(err) throw err |
49 | rpc.publish({ |
50 | type: 'msg', value: 'written by ca', from: bobKeys.id |
51 | }, function (err) { |
52 | t.ok(err) |
53 | alice.close(true) |
54 | t.end() |
55 | }) |
56 | }) |
57 | }) |
58 | |
59 |
Built with git-ssb-web