1 |
|
2 | 'use strict'
|
3 |
|
4 | const chai = require('chai')
|
5 | chai.use(require('dirty-chai'))
|
6 | const expect = chai.expect
|
7 |
|
8 | const libp2pRecord = require('../src')
|
9 | const Record = libp2pRecord.Record
|
10 |
|
11 | const fixture = require('./fixtures/go-record.js')
|
12 |
|
13 | const date = new Date(Date.UTC(2012, 1, 25, 10, 10, 10, 10))
|
14 |
|
15 | describe('record', () => {
|
16 | it('new', () => {
|
17 | const rec = new Record(
|
18 | Buffer.from('hello'),
|
19 | Buffer.from('world')
|
20 | )
|
21 |
|
22 | expect(rec).to.have.property('key').eql(Buffer.from('hello'))
|
23 | expect(rec).to.have.property('value').eql(Buffer.from('world'))
|
24 | })
|
25 |
|
26 | it('serialize & deserialize', () => {
|
27 | const rec = new Record(Buffer.from('hello'), Buffer.from('world'), date)
|
28 | const dec = Record.deserialize(rec.serialize())
|
29 |
|
30 | expect(dec).to.have.property('key').eql(Buffer.from('hello'))
|
31 | expect(dec).to.have.property('value').eql(Buffer.from('world'))
|
32 | expect(dec.timeReceived).to.be.eql(date)
|
33 | })
|
34 |
|
35 | describe('go interop', () => {
|
36 | it('no signature', () => {
|
37 | const dec = Record.deserialize(fixture.serialized)
|
38 | expect(dec).to.have.property('key').eql(Buffer.from('hello'))
|
39 | expect(dec).to.have.property('value').eql(Buffer.from('world'))
|
40 | })
|
41 | })
|
42 | })
|