UNPKG

@node-lightning/wire

Version:
77 lines (66 loc) 3.05 kB
// tslint:disable: no-unused-expression import { expect } from "chai"; import { InitMessage } from "../../lib/messages/InitMessage"; describe("InitMessage", () => { it("should have correct default values", () => { const obj = new InitMessage(); expect(obj.type).to.equal(16); expect(obj.features.toNumber()).to.equal(0); }); describe(".serialize", () => { it("should serialize type", () => { const obj = new InitMessage(); const result = obj.serialize(); expect(result.toString("hex")).to.equal("001000000000"); }); it("should serialize features", () => { const obj = new InitMessage(); obj.features.set(3); const result = obj.serialize(); expect(result.toString("hex")).to.equal("00100000000108"); }); it("should serialize network tlv", () => { const obj = new InitMessage(); obj.chainHashes.push(Buffer.alloc(32, 255)); const result = obj.serialize(); expect(result.toString("hex")).to.equal( "0010000000000120ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", ); }); it("should serialize network tlv", () => { const obj = new InitMessage(); obj.chainHashes.push(Buffer.alloc(32, 0xff)); obj.chainHashes.push(Buffer.alloc(32, 0xee)); const result = obj.serialize(); expect(result.toString("hex")).to.equal( "0010000000000140ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", ); }); }); describe(".deserialize", () => { const remote = "0010000102000180"; it("should deserialize type", () => { const result = InitMessage.deserialize(Buffer.from(remote, "hex")); expect(result.type).to.equal(16); }); it("should deserialize globalFeatures", () => { const result = InitMessage.deserialize(Buffer.from(remote, "hex")); expect(result.features.toNumber()).to.equal(0x82); }); it("should deserialize localFeatures", () => { const result = InitMessage.deserialize(Buffer.from(remote, "hex")); expect(result.features.toNumber()).to.equal(0x82); }); it("should deserialize network tlv", () => { const result = InitMessage.deserialize( Buffer.from( "0010000000000140ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", "hex", ), ); expect(result.chainHashes.length).to.equal(2); expect(result.chainHashes[0].toString("hex")).to.equal("ff".repeat(32)); expect(result.chainHashes[1].toString("hex")).to.equal("ee".repeat(32)); }); }); });