Commit 66c545deb943d0b40249722b3d1b125249d6bcde
porting test/accept to use easy apis
Dominic Tarr committed on 12/15/2018, 9:27:16 PMParent: ebb44118dbe9df4ad9cb50d03ea1a58be585f9ec
Files changed
test/accept2.js | added |
test/accept2.js | ||
---|---|---|
@@ -1,0 +1,123 @@ | ||
1 … | +//WARNING: this test currently only passes | |
2 … | +//if the computer has a network. | |
3 … | +var crypto = require('crypto') | |
4 … | +var I = require('../valid') | |
5 … | +var createClient = require('ssb-client') | |
6 … | + | |
7 … | + | |
8 … | +var ssbKeys = require('ssb-keys') | |
9 … | +var tape = require('tape') | |
10 … | +//var explain = require('explain-error') | |
11 … | +var pull = require('pull-stream') | |
12 … | +//var u = require('../lib/util') | |
13 … | +var ref = require('ssb-ref') | |
14 … | + | |
15 … | +var createSbot = require('scuttlebot') | |
16 … | + .use(require('ssb-links')) | |
17 … | + .use({ | |
18 … | + name: 'replicate', version: '1.0.0', | |
19 … | + manifest: { request: 'sync' }, | |
20 … | + init: function () { | |
21 … | + return { request: function () {} } | |
22 … | + } | |
23 … | + }) | |
24 … | + .use(require('ssb-query')) | |
25 … | + .use(require('ssb-device-address')) | |
26 … | + .use(require('ssb-identities')) | |
27 … | + .use(require('ssb-friends')) | |
28 … | + .use(require('../')) | |
29 … | + | |
30 … | +function all(stream, cb) { | |
31 … | + return pull(stream, pull.collect(cb)) | |
32 … | +} | |
33 … | + | |
34 … | +var alice = createSbot({ | |
35 … | + temp: true, | |
36 … | + timeout: 1000, | |
37 … | + port: 12342, | |
38 … | + keys:ssbKeys.generate(), | |
39 … | +}) | |
40 … | +var bob = createSbot({ | |
41 … | + temp: true, | |
42 … | + timeout: 1000, | |
43 … | + port: 12343, | |
44 … | + keys:ssbKeys.generate(), | |
45 … | +}) | |
46 … | + | |
47 … | +function toId(msg) { | |
48 … | + return '%'+ssbKeys.hash(JSON.stringify(msg, null, 2)) | |
49 … | +} | |
50 … | + | |
51 … | +tape('create an invite', function (t) { | |
52 … | + | |
53 … | + var seed = crypto.randomBytes(32) | |
54 … | + | |
55 … | + var content = I.createInvite(seed, alice.id, {name: 'bob'}, {text: 'welcome to ssb!'}) | |
56 … | +// alice.publish(content, function (err, msg) { | |
57 … | + // I.verifyInvitePublic(msg.value) | |
58 … | + | |
59 … | + alice.userInvites.create({}, function (err, invite) { | |
60 … | + if(err) throw err | |
61 … | + var seed = invite.seed | |
62 … | + var invite_id = invite.invite | |
63 … | + | |
64 … | + createClient( | |
65 … | + ssbKeys.generate(null, seed), | |
66 … | + { | |
67 … | + remote: alice.getAddress(), | |
68 … | + caps: require('ssb-config').caps, | |
69 … | + manifest: { | |
70 … | + userInvites: { | |
71 … | + getInvite: 'async', | |
72 … | + confirm: 'async' | |
73 … | + } | |
74 … | + } | |
75 … | + }, | |
76 … | + function (err, _bob) { | |
77 … | + if(err) throw err | |
78 … | + _bob.userInvites.getInvite(invite_id, function (err, invite_msg) { | |
79 … | + if(err) throw err | |
80 … | + t.ok(invite) | |
81 … | + t.equal(toId(invite_msg), invite_id) | |
82 … | + var data = I.verifyInvitePrivate(invite_msg, seed) | |
83 … | + t.deepEqual(data, {reveal: undefined, private: undefined}) | |
84 … | + //check this invite is valid. would throw if it wasn't. | |
85 … | + | |
86 … | + //bob chooses to accept this invite. | |
87 … | + var accept_content = I.createAccept(invite_msg, seed, bob.id) | |
88 … | + | |
89 … | + bob.publish(accept_content, function (err, accept) { | |
90 … | + if(err) throw err | |
91 … | + _bob.userInvites.confirm(accept.value, function (err, msg) { | |
92 … | + if(err) throw err | |
93 … | + t.ok(msg) | |
94 … | + var confirm_id = toId(msg) | |
95 … | + alice.get(confirm_id, function (err, _msg) { | |
96 … | + if(err) throw err | |
97 … | + t.deepEqual(msg, _msg) | |
98 … | + | |
99 … | + | |
100 … | + //calling accept again should return the previous accept message. | |
101 … | + _bob.userInvites.confirm(accept.value, function (err, msg2) { | |
102 … | + if(err) throw err | |
103 … | + t.deepEqual(msg2, msg) | |
104 … | + alice.close() | |
105 … | + bob.close() | |
106 … | + t.end() | |
107 … | + }) | |
108 … | + }) | |
109 … | + }) | |
110 … | + }) | |
111 … | + }) | |
112 … | + } | |
113 … | + ) | |
114 … | + }) | |
115 … | +}) | |
116 … | + | |
117 … | + | |
118 … | + | |
119 … | + | |
120 … | + | |
121 … | + | |
122 … | + | |
123 … | + |
Built with git-ssb-web