Skip to content
This repository has been archived by the owner on Mar 28, 2023. It is now read-only.

Commit

Permalink
Update tests
Browse files Browse the repository at this point in the history
  • Loading branch information
corollari committed Sep 3, 2020
1 parent 967e4ec commit 25fccd8
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 111 deletions.
2 changes: 1 addition & 1 deletion src/lib/ElectrumClient.js
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@ export default class Client {
* @param {string} script ScriptPubKey in a hexadecimal format.
* @return {string} Script hash as a hex string.
*/
function scriptToHash(script) {
export function scriptToHash(script) {
/** @type {Buffer} */
const scriptHash = digest(Buffer.from(script, "hex")).reverse()
return scriptHash.toString("hex")
Expand Down
51 changes: 0 additions & 51 deletions test/AddressTest.js

This file was deleted.

38 changes: 16 additions & 22 deletions test/BitcoinSPVTest.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,19 @@
/*
const BitcoinSPV = require("../src/BitcoinSPV").BitcoinSPV
const ElectrumClient = require("../src/ElectrumClient")
const config = require("../../../src/config/config.json")
const fs = require("fs")
const chai = require("chai")
const assert = chai.assert
import {BitcoinSPV} from "../src/lib/BitcoinSPV.js"
import ElectrumClient from "../src/lib/ElectrumClient.js"
import fs from "fs"
import chai from "chai"

const txData = fs.readFileSync("./test/data/tx.json", "utf8")
const tx = JSON.parse(txData)
const electrumClient = new ElectrumClient({
server: "electrumx-server.test.tbtc.network",
port: 8443,
protocol: "wss"
})
const bitcoinSPV = new BitcoinSPV(electrumClient)

describe("BitcoinSPV", async () => {
let tx
let electrumClient
let bitcoinSPV
before(async () => {
const txData = fs.readFileSync("./test/data/tx.json", "utf8")
tx = JSON.parse(txData)
electrumClient = new ElectrumClient.Client(config.electrum.testnetPublic)
bitcoinSPV = new BitcoinSPV(electrumClient)
await electrumClient.connect()
})

Expand All @@ -40,7 +34,7 @@ describe("BitcoinSPV", async () => {
tx.chainHeadersNumber
)

assert.deepEqual(result, expectedResult)
chai.assert.deepEqual(result, expectedResult)
})

it("verifyMerkleProof", async () => {
Expand All @@ -55,6 +49,6 @@ describe("BitcoinSPV", async () => {
blockHeight
)

assert.isTrue(result)
chai.assert.isTrue(result)
})
})*/
})
23 changes: 8 additions & 15 deletions test/BitcoinTxParserTest.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,11 @@
/*
const BitcoinTxParser = require("../src/BitcoinTxParser.js")
import {BitcoinTxParser} from "../src/lib/BitcoinTxParser.js"
import fs from "fs"
import chai from "chai"

const chai = require("chai")
const assert = chai.assert
const fs = require("fs")
const txData = fs.readFileSync("./test/data/tx.json", "utf8")
const tx = JSON.parse(txData)

describe("BitcoinTxParser", async () => {
let tx
before(async () => {
const txData = fs.readFileSync("./test/data/tx.json", "utf8")
tx = JSON.parse(txData)
})
it("parses witness transaction details", async () => {
const result = await BitcoinTxParser.parse(tx.hex)

Expand All @@ -23,7 +16,7 @@ describe("BitcoinTxParser", async () => {
locktime: tx.locktime
}

assert.deepEqual(result, expectedResult)
chai.assert.deepEqual(result, expectedResult)
})

it("parses legacy transaction details", async () => {
Expand All @@ -41,6 +34,6 @@ describe("BitcoinTxParser", async () => {
locktime: "00000000"
}

assert.deepEqual(result, expectedResult)
chai.assert.deepEqual(result, expectedResult)
})
})*/
})
44 changes: 22 additions & 22 deletions test/ElectrumClientTest.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
/*
const ElectrumClient = require("../src/ElectrumClient")
const fs = require("fs")
const chai = require("chai")
import ElectrumClient, {scriptToHash} from "../src/lib/ElectrumClient.js"
import fs from "fs"
import chai from "chai"
const assert = chai.assert
const config = require("../../../src/config/config.json")

describe("ElectrumClient", async () => {
let client
let tx
const txData = fs.readFileSync("./test/data/tx.json", "utf8")
const tx = JSON.parse(txData)

before(async () => {
const txData = fs.readFileSync("./test/data/tx.json", "utf8")
tx = JSON.parse(txData)
const client = new ElectrumClient({
server: "electrumx-server.test.tbtc.network",
port: 8443,
protocol: "wss"
})

client = new ElectrumClient.Client(config.electrum.testnetPublic)
describe("ElectrumClient", async () => {

before(async () => {
await client.connect()
})

Expand Down Expand Up @@ -46,14 +46,14 @@ describe("ElectrumClient", async () => {
assert.deepEqual(result, expectedResult)
})

it("getMerkleProof", async () => {
const expectedResult = tx.merkleProof
it("getTransactionMerkle", async () => {
const expectedResult = tx.merkleProof.match(/.{1,64}/g).map(hex=>hex.match(/[a-fA-F0-9]{2}/g).reverse().join(''))
const expectedPosition = tx.indexInBlock
const result = await client.getMerkleProof(tx.hash, tx.blockHeight)
const result = await client.getTransactionMerkle(tx.hash, tx.blockHeight)

assert.equal(result.proof, expectedResult, "unexpected result")
assert.deepEqual(result.merkle, expectedResult, "unexpected result")

assert.equal(result.position, expectedPosition, "unexpected result")
assert.equal(result.pos, expectedPosition, "unexpected result")
})

it("getHeadersChain", async () => {
Expand Down Expand Up @@ -161,7 +161,7 @@ describe("ElectrumClient", async () => {
const mockEventEmission = function() {
client.electrumClient.subscribe.emit(
"blockchain.scripthash.subscribe",
[ElectrumClient.scriptToHash(script1), expectedStatus]
[scriptToHash(script1), expectedStatus]
)
}

Expand Down Expand Up @@ -193,12 +193,12 @@ describe("ElectrumClient", async () => {
const mockEventsEmission = function() {
client.electrumClient.subscribe.emit(
"blockchain.scripthash.subscribe",
[ElectrumClient.scriptToHash(script2), unexpectedStatus]
[scriptToHash(script2), unexpectedStatus]
)

client.electrumClient.subscribe.emit(
"blockchain.scripthash.subscribe",
[ElectrumClient.scriptToHash(script1), expectedStatus]
[scriptToHash(script1), expectedStatus]
)
}

Expand Down Expand Up @@ -249,7 +249,7 @@ describe("ElectrumClient", async () => {
// onRejected
assert.include(
reason.toString(),
"No such mempool or blockchain transaction"
"Transaction not found"
)
}
)
Expand Down Expand Up @@ -284,4 +284,4 @@ describe("ElectrumClient", async () => {
console.log("result", result)
})
})
})*/
})

0 comments on commit 25fccd8

Please sign in to comment.