4
4
const chai = require ( 'chai' )
5
5
chai . use ( require ( 'dirty-chai' ) )
6
6
const expect = chai . expect
7
- const crypto = require ( 'libp2p-crypto' )
8
- const waterfall = require ( 'async/waterfall' )
9
- const parallel = require ( 'async/parallel' )
10
- const PeerId = require ( 'peer-id' )
11
7
12
8
const libp2pRecord = require ( '../src' )
13
9
const Record = libp2pRecord . Record
@@ -17,114 +13,30 @@ const fixture = require('./fixtures/go-record.js')
17
13
const date = new Date ( Date . UTC ( 2012 , 1 , 25 , 10 , 10 , 10 , 10 ) )
18
14
19
15
describe ( 'record' , ( ) => {
20
- let key
21
- let otherKey
22
- let id
23
-
24
- before ( ( done ) => {
25
- waterfall ( [
26
- ( cb ) => parallel ( [
27
- ( cb ) => crypto . keys . generateKeyPair ( 'rsa' , 1024 , cb ) ,
28
- ( cb ) => crypto . keys . generateKeyPair ( 'rsa' , 1024 , cb )
29
- ] , cb ) ,
30
- ( keys , cb ) => {
31
- otherKey = keys [ 0 ]
32
- key = keys [ 1 ]
33
-
34
- PeerId . createFromPrivKey ( key . bytes , cb )
35
- } ,
36
- ( _id , cb ) => {
37
- id = _id
38
-
39
- cb ( )
40
- }
41
- ] , done )
42
- } )
43
-
44
16
it ( 'new' , ( ) => {
45
17
const rec = new Record (
46
18
Buffer . from ( 'hello' ) ,
47
- Buffer . from ( 'world' ) ,
48
- id
19
+ Buffer . from ( 'world' )
49
20
)
50
21
51
22
expect ( rec ) . to . have . property ( 'key' ) . eql ( Buffer . from ( 'hello' ) )
52
23
expect ( rec ) . to . have . property ( 'value' ) . eql ( Buffer . from ( 'world' ) )
53
- expect ( rec ) . to . have . property ( 'author' ) . eql ( id )
54
24
} )
55
25
56
26
it ( 'serialize & deserialize' , ( ) => {
57
- const rec = new Record ( Buffer . from ( 'hello' ) , Buffer . from ( 'world' ) , id , date )
27
+ const rec = new Record ( Buffer . from ( 'hello' ) , Buffer . from ( 'world' ) , date )
58
28
const dec = Record . deserialize ( rec . serialize ( ) )
59
29
60
30
expect ( dec ) . to . have . property ( 'key' ) . eql ( Buffer . from ( 'hello' ) )
61
31
expect ( dec ) . to . have . property ( 'value' ) . eql ( Buffer . from ( 'world' ) )
62
- expect ( dec ) . to . have . property ( 'author' )
63
- expect ( dec . author . id . equals ( id . id ) ) . to . be . eql ( true )
64
32
expect ( dec . timeReceived ) . to . be . eql ( date )
65
33
} )
66
34
67
- it ( 'serializeSigned' , ( done ) => {
68
- const rec = new Record ( Buffer . from ( 'hello2' ) , Buffer . from ( 'world2' ) , id , date )
69
- rec . serializeSigned ( key , ( err , enc ) => {
70
- expect ( err ) . to . not . exist ( )
71
-
72
- const dec = Record . deserialize ( enc )
73
- expect ( dec ) . to . have . property ( 'key' ) . eql ( Buffer . from ( 'hello2' ) )
74
- expect ( dec ) . to . have . property ( 'value' ) . eql ( Buffer . from ( 'world2' ) )
75
- expect ( dec ) . to . have . property ( 'author' )
76
- expect ( dec . author . id . equals ( id . id ) ) . to . be . eql ( true )
77
- expect ( dec . timeReceived ) . to . be . eql ( date )
78
-
79
- const blob = rec . blobForSignature ( )
80
-
81
- key . sign ( blob , ( err , signature ) => {
82
- expect ( err ) . to . not . exist ( )
83
-
84
- expect ( dec . signature ) . to . be . eql ( signature )
85
- done ( )
86
- } )
87
- } )
88
- } )
89
-
90
- describe ( 'verifySignature' , ( ) => {
91
- it ( 'valid' , ( done ) => {
92
- const rec = new Record ( Buffer . from ( 'hello' ) , Buffer . from ( 'world' ) , id )
93
-
94
- rec . serializeSigned ( key , ( err , enc ) => {
95
- expect ( err ) . to . not . exist ( )
96
-
97
- rec . verifySignature ( key . public , done )
98
- } )
99
- } )
100
-
101
- it ( 'invalid' , ( done ) => {
102
- const rec = new Record ( Buffer . from ( 'hello' ) , Buffer . from ( 'world' ) , id )
103
- rec . serializeSigned ( key , ( err , enc ) => {
104
- expect ( err ) . to . not . exist ( )
105
-
106
- rec . verifySignature ( otherKey . public , ( err ) => {
107
- expect ( err ) . to . match ( / I n v a l i d r e c o r d s i g n a t u r e / )
108
- done ( )
109
- } )
110
- } )
111
- } )
112
- } )
113
-
114
35
describe ( 'go interop' , ( ) => {
115
36
it ( 'no signature' , ( ) => {
116
37
const dec = Record . deserialize ( fixture . serialized )
117
38
expect ( dec ) . to . have . property ( 'key' ) . eql ( Buffer . from ( 'hello' ) )
118
39
expect ( dec ) . to . have . property ( 'value' ) . eql ( Buffer . from ( 'world' ) )
119
- expect ( dec ) . to . have . property ( 'author' )
120
- } )
121
-
122
- it ( 'with signature' , ( ) => {
123
- const dec = Record . deserialize ( fixture . serializedSigned )
124
- expect ( dec ) . to . have . property ( 'key' ) . eql ( Buffer . from ( 'hello' ) )
125
- expect ( dec ) . to . have . property ( 'value' ) . eql ( Buffer . from ( 'world' ) )
126
- expect ( dec ) . to . have . property ( 'author' )
127
- expect ( dec ) . to . have . property ( 'signature' )
128
40
} )
129
41
} )
130
42
} )
0 commit comments