From eb41fe26c818a387acf9717652c3c2df88d3ab64 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Mon, 27 May 2019 19:45:22 -0700 Subject: [PATCH] Removed v1 tests --- package.json | 1 - test/v1/RawTransactions.js | 287 ------------------ test/v1/address.js | 203 ------------- test/v1/block.js | 101 ------- test/v1/blockchain.js | 593 ------------------------------------- test/v1/control.js | 64 ---- test/v1/dataRetrieval.js | 485 ------------------------------ test/v1/generating.js | 44 --- test/v1/health-check.js | 24 -- test/v1/mining.js | 114 ------- test/v1/network.js | 120 -------- test/v1/payloadCreation.js | 308 ------------------- test/v1/slp.js | 191 ------------ test/v1/transaction.js | 96 ------ test/v1/util.js | 53 ---- 15 files changed, 2684 deletions(-) delete mode 100644 test/v1/RawTransactions.js delete mode 100644 test/v1/address.js delete mode 100644 test/v1/block.js delete mode 100644 test/v1/blockchain.js delete mode 100644 test/v1/control.js delete mode 100644 test/v1/dataRetrieval.js delete mode 100644 test/v1/generating.js delete mode 100644 test/v1/health-check.js delete mode 100644 test/v1/mining.js delete mode 100644 test/v1/network.js delete mode 100644 test/v1/payloadCreation.js delete mode 100644 test/v1/slp.js delete mode 100644 test/v1/transaction.js delete mode 100644 test/v1/util.js diff --git a/package.json b/package.json index 9bd47d1..9f5e5ce 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,6 @@ "build": "node ./node_modules/gulp/bin/gulp.js build && ./node_modules/typescript/bin/tsc", "dev": "nodemon ./dist/app.js", "test": "npm run test-v2", - "test-v1": "npm run build && nyc --reporter=text mocha --require babel-core/register --timeout 15000 test/v1/", "test-v2": "export NETWORK=testnet && npm run build && nyc --reporter=text mocha --require babel-core/register --timeout 25000 test/v2/", "test-v2-no-build": "export NETWORK=testnet && nyc --reporter=text mocha --require babel-core/register --timeout 25000 test/v2/", "test-all": "TEST=integration nyc --reporter=text mocha --require babel-core/register --timeout 15000 test/v1/ test/v2/", diff --git a/test/v1/RawTransactions.js b/test/v1/RawTransactions.js deleted file mode 100644 index 760f637..0000000 --- a/test/v1/RawTransactions.js +++ /dev/null @@ -1,287 +0,0 @@ -"use strict" - -//const chai = require("chai"); -const assert = require("assert") -const httpMocks = require("node-mocks-http") -const rawTransactionsRoute = require("../../dist/routes/v1/rawtransactions") - -// Used for debugging. -const util = require("util") -util.inspect.defaultOptions = { - showHidden: true, - colors: true -} - -describe("#RawTransactionsRouter", () => { - describe("#root", () => { - it("should return 'rawtransactions' for GET /", () => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/" - }) - const mockResponse = httpMocks.createResponse() - rawTransactionsRoute(mockRequest, mockResponse) - const actualResponseBody = mockResponse._getData() - const expectedResponseBody = { - status: "rawtransactions" - } - assert.deepEqual(JSON.parse(actualResponseBody), expectedResponseBody) - }) - }) - - describe("#DecodeRawTransaction", () => { - it("should GET /decodeRawTransaction/:hex", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - '/decodeRawTransaction/["0200000001d0ba1330194111747e0b1784ab62126871c87acad3b6dc3a339b261ad974e940010000006b483045022100a284b4ac5ed55ac0e2baa02b6bdabbf06f98d2bf6b3fdcea1aea50f55766afd002206181c8e60f738116ba6e16177f3d408e8da2c463c69b27c2531fab84b63a63b24121022d426ef365d6480b127b4980afa4b9415cad5e6f0a9e11b1536d3523597197f3ffffffff02011d0000000000001976a91479d3297d1823149f4ec61df31d19f2fad5390c0288ac0000000000000000116a0f23424348466f7245766572796f6e6500000000"%5D' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - rawTransactionsRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData())[0] - ) - //console.log(`actualResponseBody: ${util.inspect(actualResponseBody)}`) - assert.deepEqual(actualResponseBody, [ - "txid", - "hash", - "size", - "version", - "locktime", - "vin", - "vout" - ]) - done() - }) - }) - }) - - describe("#DecodeScript", () => { - it("should GET /decodeScript/:script", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - '/decodeScript/["4830450221009a51e00ec3524a7389592bc27bea4af5104a59510f5f0cfafa64bbd5c164ca2e02206c2a8bbb47eabdeed52f17d7df668d521600286406930426e3a9415fe10ed592012102e6e1423f7abde8b70bca3e78a7d030e5efabd3eb35c19302542b5fe7879c1a16"%5D' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - rawTransactionsRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData())[0] - ) - assert.deepEqual(actualResponseBody, ["asm", "type", "p2sh"]) - done() - }) - }) - }) - - describe("#GetRawTransaction", () => { - it("should GET /getRawTransaction/:txid", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - '/getRawTransaction/["0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098"%5D' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - rawTransactionsRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.equal( - actualResponseBody, - "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0704ffff001d0104ffffffff0100f2052a0100000043410496b538e853519c726a2c91e61ec11600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781e62294721166bf621e73a82cbf2342c858eeac00000000" - ) - done() - }) - }) - }) - - describe("#SendRawTransaction", () => { - it("should POST /sendRawTransaction/:hex single tx hex", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: - '/sendRawTransaction/["01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0704ffff001d0104ffffffff0100f2052a0100000043410496b538e853519c726a2c91e61ec11600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781e62294721166bf621e73a82cbf2342c858eeac00000000"%5D' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - rawTransactionsRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData())[0] - assert.equal(actualResponseBody, "transaction already in block chain") - done() - }) - }) - // - // it("should POST /sendRawTransaction/:hex array", (done) => { - // let hex1 = '020000000148735fcdac94c51459f7d8f787cf363c618125bc0f9092092ed2ebccd0f5557e0000000069463043021f4e3dd1fadb3e8fabdbd94b125d7e97932f72bb08118407e49cf505e7f5f63b022062eee3c5d94b4bc6b68ab0018876e9661b257f1e8487173876faccf7d3a2220541210313299e9ec7a9e62789094b850ab6f71df7c39af7c03568027c24d0bc9eda930dffffffff017b140000000000001976a914e11ed7fd6416d8f5c58a1cb3e1b0005c3cab092f88ac00000000'; - // let hex2 = '0200000001a1b5849a5026642d5e28abdb4e98aa483adc20daab44c39e2f41acf72aa8c845000000006b483045022100994ab28c7df64852057c3ab965148ef2b5456233c12774087e88a62bbc27d4230220504d1096ac52915d32d2356ba5ae82f202543b88c24b4643800919e85da333984121039c48c06ce551810a2eeedf516c77995a922ca65c4e9e9a0a07288a6fae149eb2ffffffff013b1e0000000000001976a9140377597dd75d41398259c36d05a5a68ba0af782d88ac00000000'; - // let arr = [hex1, hex2]; - // let mockRequest = httpMocks.createRequest({ - // method: "POST", - // url: '/sendRawTransaction/' + arr - // }); - // let mockResponse = httpMocks.createResponse({ - // eventEmitter: require('events').EventEmitter - // }); - // rawTransactionsRoute(mockRequest, mockResponse); - // - // mockResponse.on('end', () => { - // let actualResponseBody = mockResponse._getData(); - // assert.equal(actualResponseBody, 'transaction already in block chain'); - // done(); - // }); - // }); - }) - - /* - describe("#change", () => { - it("should POST /change/:rawtx/:prevTxs/:destination/:fee", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: - '/change/0100000001b15ee60431ef57ec682790dec5a3c0d83a0c360633ea8308fbf6d5fc10a779670400000000ffffffff025c0d00000000000047512102f3e471222bb57a7d416c82bf81c627bfcd2bdc47f36e763ae69935bba4601ece21021580b888ff56feb27f17f08802ebed26258c23697d6a462d43fc13b565fda2dd52aeaa0a0000000000001976a914946cb2e08075bcbaf157e47bcb67eb2b2339d24288ac00000000/[{"txid":"6779a710fcd5f6fb0883ea3306360c3ad8c0a3c5de902768ec57ef3104e65eb1","vout":4,"scriptPubKey":"76a9147b25205fd98d462880a3e5b0541235831ae959e588ac","value":0.00068257}]/bchtest:qq2j9gp97gm9a6lwvhxc4zu28qvqm0x4j5e72v7ejg/0.00003500' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - rawTransactionsRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.equal( - actualResponseBody, - "0100000001b15ee60431ef57ec682790dec5a3c0d83a0c360633ea8308fbf6d5fc10a779670400000000ffffffff03efe40000000000001976a9141522a025f2365eebee65cd8a8b8a38180dbcd59588ac5c0d00000000000047512102f3e471222bb57a7d416c82bf81c627bfcd2bdc47f36e763ae69935bba4601ece21021580b888ff56feb27f17f08802ebed26258c23697d6a462d43fc13b565fda2dd52aeaa0a0000000000001976a914946cb2e08075bcbaf157e47bcb67eb2b2339d24288ac00000000" - ) - done() - }) - }) - }) - */ - - describe("#input", () => { - it("should POST /input/:rawTx/:txid/:n", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: - "/input/01000000000000000000/b006729017df05eda586df9ad3f8ccfee5be340aadf88155b784d1fc0e8342ee/0" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - rawTransactionsRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.equal( - actualResponseBody, - "0100000001ee42830efcd184b75581f8ad0a34bee5feccf8d39adf86a5ed05df17907206b00000000000ffffffff0000000000" - ) - done() - }) - }) - }) - - describe("#opReturn", () => { - it("should POST /opReturn/:rawTx/:payload", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: "/opReturn/01000000000000000000/00000000000000020000000006dac2c0" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - rawTransactionsRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.equal( - actualResponseBody, - "0100000000010000000000000000166a140877686300000000000000020000000006dac2c000000000" - ) - done() - }) - }) - }) - - /* - describe("#reference", () => { - it("should POST /reference/:rawTx/:destination", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: - "/reference/0100000001a7a9402ecd77f3c9f745793c9ec805bfa2e14b89877581c734c774864247e6f50400000000ffffffff03aa0a0000000000001976a9146d18edfe073d53f84dd491dae1379f8fb0dfe5d488ac5c0d0000000000004751210252ce4bdd3ce38b4ebbc5a6e1343608230da508ff12d23d85b58c964204c4cef3210294cc195fc096f87d0f813a337ae7e5f961b1c8a18f1f8604a909b3a5121f065b52aeaa0a0000000000001976a914946cb2e08075bcbaf157e47bcb67eb2b2339d24288ac00000000/bchtest:qq2j9gp97gm9a6lwvhxc4zu28qvqm0x4j5e72v7ejg?amount=0.005" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - rawTransactionsRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.equal( - actualResponseBody, - "0100000001a7a9402ecd77f3c9f745793c9ec805bfa2e14b89877581c734c774864247e6f50400000000ffffffff04aa0a0000000000001976a9146d18edfe073d53f84dd491dae1379f8fb0dfe5d488ac5c0d0000000000004751210252ce4bdd3ce38b4ebbc5a6e1343608230da508ff12d23d85b58c964204c4cef3210294cc195fc096f87d0f813a337ae7e5f961b1c8a18f1f8604a909b3a5121f065b52aeaa0a0000000000001976a914946cb2e08075bcbaf157e47bcb67eb2b2339d24288ac20a10700000000001976a9141522a025f2365eebee65cd8a8b8a38180dbcd59588ac00000000" - ) - done() - }) - }) - }) - */ - - /* - describe("#decodeTransaction", () => { - it("should POST /decodeTransaction/:rawTx", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: - '/decodeTransaction/010000000163af14ce6d477e1c793507e32a5b7696288fa89705c0d02a3f66beb3c5b8afee0100000000ffffffff02ac020000000000004751210261ea979f6a06f9dafe00fb1263ea0aca959875a7073556a088cdfadcd494b3752102a3fd0a8a067e06941e066f78d930bfc47746f097fcd3f7ab27db8ddf37168b6b52ae22020000000000001976a914946cb2e08075bcbaf157e47bcb67eb2b2339d24288ac00000000?prevTxs=[{"txid":"eeafb8c5b3be663f2ad0c00597a88f2896765b2ae30735791c7e476dce14af63","vout":1,"scriptPubKey":"76a9149084c0bd89289bc025d0264f7f23148fb683d56c88ac","value":0.0001123}]' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - rawTransactionsRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = mockResponse._getData() - assert.equal(actualResponseBody, "Not a Master Protocol transaction") - done() - }) - }) - }) -*/ - - describe("#create", () => { - it("should POST /create/:inputs/:outputs", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: - '/create/ [{"txid":"eeafb8c5b3be663f2ad0c00597a88f2896765b2ae30735791c7e476dce14af63","vout":1}]/{}' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - rawTransactionsRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.equal( - actualResponseBody, - "020000000163af14ce6d477e1c793507e32a5b7696288fa89705c0d02a3f66beb3c5b8afee0100000000ffffffff0000000000" - ) - done() - }) - }) - }) -}) diff --git a/test/v1/address.js b/test/v1/address.js deleted file mode 100644 index 2057c8f..0000000 --- a/test/v1/address.js +++ /dev/null @@ -1,203 +0,0 @@ -"use strict" - -//const chai = require("chai"); -const assert = require("assert") -const httpMocks = require("node-mocks-http") -const addressRoute = require("../../dist/routes/v1/address") - -const util = require("util") -util.inspect.defaultOptions = { - showHidden: true, - colors: true -} - -describe("#AddressRouter", () => { - describe("#root", () => { - it("should return 'address' for GET /", () => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/" - }) - const mockResponse = httpMocks.createResponse() - addressRoute(mockRequest, mockResponse) - const actualResponseBody = mockResponse._getData() - const expectedResponseBody = { - status: "address" - } - assert.deepEqual(JSON.parse(actualResponseBody), expectedResponseBody) - }) - }) - - describe("#AddressDetails", () => { - it("should GET /details/:address single address", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: '/details/["qzs02v05l7qs5s24srqju498qu55dwuj0cx5ehjm2c"%5D' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - addressRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData())[0] - ) - assert.deepEqual(actualResponseBody, [ - "balance", - "balanceSat", - "totalReceived", - "totalReceivedSat", - "totalSent", - "totalSentSat", - "unconfirmedBalance", - "unconfirmedBalanceSat", - "unconfirmedTxAppearances", - "txAppearances", - "transactions", - "legacyAddress", - "cashAddress" - ]) - done() - }) - }) - - it("should GET /details/:address array of addresses", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - '/details/["qql6r7khtjgwy3ufnjtsczvaf925hyw49cudht57tr", "qzs02v05l7qs5s24srqju498qu55dwuj0cx5ehjm2c"%5D' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - addressRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData())[0] - ) - assert.deepEqual(actualResponseBody, [ - "balance", - "balanceSat", - "totalReceived", - "totalReceivedSat", - "totalSent", - "totalSentSat", - "unconfirmedBalance", - "unconfirmedBalanceSat", - "unconfirmedTxAppearances", - "txAppearances", - "transactions", - "legacyAddress", - "cashAddress" - ]) - done() - }) - }) - }) - - describe("#AddressUtxo", () => { - it("should GET /utxo/:address single address", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: '/utxo/["qpk4hk3wuxe2uqtqc97n8atzrrr6r5mleczf9sur4h"%5D' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - addressRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData())[0][0] - ) - assert.deepEqual(actualResponseBody, [ - "txid", - "vout", - "scriptPubKey", - "amount", - "satoshis", - "height", - "confirmations", - "legacyAddress", - "cashAddress" - ]) - done() - }) - }) - - it("should GET /utxo/:address array of addresses", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - '/utxo/["qz4q7h2jxmfhg3l7r7zeumzgeh7gyp6shuqmq5h6np", "qzqlp044n3qn7kntlc0mr5tp2a0ee0vvyq9yyyyjh0"%5D' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - addressRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData())[1][0] - ) - assert.deepEqual(actualResponseBody, [ - "txid", - "vout", - "scriptPubKey", - "amount", - "satoshis", - "height", - "confirmations", - "legacyAddress", - "cashAddress" - ]) - done() - }) - }) - }) - - describe("#AddressUnconfirmed", () => { - it("should GET /unconfirmed/:address single address", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: '/unconfirmed/["qql6r7khtjgwy3ufnjtsczvaf925hyw49cudht57tr"%5D' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - addressRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData())[0] - ) - assert.deepEqual(actualResponseBody, []) - // assert.deepEqual(actualResponseBody, [ 'txid', 'vout', 'scriptPubKey', 'amount', 'satoshis', 'height', 'confirmations', 'legacyAddress', 'cashAddress']); - done() - }) - }) - - it("should GET /unconfirmed/:address array of addresses", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - '/unconfirmed/["qql6r7khtjgwy3ufnjtsczvaf925hyw49cudht57tr", "qzs02v05l7qs5s24srqju498qu55dwuj0cx5ehjm2c"%5D' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - addressRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData())[0] - ) - assert.deepEqual(actualResponseBody, []) - // assert.deepEqual(actualResponseBody, [ 'txid', 'vout', 'scriptPubKey', 'amount', 'satoshis', 'height', 'confirmations', 'legacyAddress', 'cashAddress']); - done() - }) - }) - }) -}) diff --git a/test/v1/block.js b/test/v1/block.js deleted file mode 100644 index 96aef17..0000000 --- a/test/v1/block.js +++ /dev/null @@ -1,101 +0,0 @@ -"use strict" - -//const chai = require("chai"); -const assert = require("assert") -const httpMocks = require("node-mocks-http") -const blockRoute = require("../../dist/routes/v1/block") - -describe("#BlockRouter", () => { - describe("#root", () => { - it("should return 'block' for GET /", () => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/" - }) - const mockResponse = httpMocks.createResponse() - blockRoute(mockRequest, mockResponse) - const actualResponseBody = mockResponse._getData() - const expectedResponseBody = { - status: "block" - } - assert.deepEqual(JSON.parse(actualResponseBody), expectedResponseBody) - }) - }) - - describe("#BlockDetails", () => { - it("should GET /details/:id height", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/details/549608" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockRoute(mockRequest, mockResponse) - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - - assert.deepEqual(actualResponseBody, [ - "hash", - "size", - "height", - "version", - "merkleroot", - "tx", - "time", - "nonce", - "bits", - "difficulty", - "chainwork", - "confirmations", - "previousblockhash", - "nextblockhash", - "reward", - "isMainChain", - "poolInfo" - ]) - done() - }) - }) - - it("should GET /details/:id hash", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - "/details/00000000000000000182bf5782f3d43b1a8fceccb50253eb61e58cba7b240edc" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert.deepEqual(actualResponseBody, [ - "hash", - "size", - "height", - "version", - "merkleroot", - "tx", - "time", - "nonce", - "bits", - "difficulty", - "chainwork", - "confirmations", - "previousblockhash", - "nextblockhash", - "reward", - "isMainChain", - "poolInfo" - ]) - done() - }) - }) - }) -}) diff --git a/test/v1/blockchain.js b/test/v1/blockchain.js deleted file mode 100644 index f3e82f4..0000000 --- a/test/v1/blockchain.js +++ /dev/null @@ -1,593 +0,0 @@ -"use strict" - -//const chai = require("chai"); -const assert = require("assert") -const httpMocks = require("node-mocks-http") -const blockchainRoute = require("../../dist/routes/v1/blockchain") - -describe("#BlockchainRouter", () => { - describe("#root", () => { - it("should return 'blockchain' for GET /", () => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/" - }) - const mockResponse = httpMocks.createResponse() - blockchainRoute(mockRequest, mockResponse) - const actualResponseBody = mockResponse._getData() - const expectedResponseBody = { - status: "blockchain" - } - assert.deepEqual(JSON.parse(actualResponseBody), expectedResponseBody) - }) - }) - - describe("#BlockchainGetBestBlockHash", () => { - it("should GET /getBestBlockHash ", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/getBestBlockHash" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.equal(actualResponseBody.length, 64) - done() - }) - }) - }) - - describe("#BlockchainGetBlock", () => { - it("should GET /getBlock/:id w/ verbose=true", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - "/getblock/00000000000000000182bf5782f3d43b1a8fceccb50253eb61e58cba7b240edc?verbose=true" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert.deepEqual(actualResponseBody, [ - "hash", - "confirmations", - "size", - "height", - "version", - "versionHex", - "merkleroot", - "tx", - "time", - "mediantime", - "nonce", - "bits", - "difficulty", - "chainwork", - "previousblockhash", - "nextblockhash" - ]) - done() - }) - }) - - it("should GET /getBlock/:id w/ verbose=false", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - "/getblock/00000000000000000182bf5782f3d43b1a8fceccb50253eb61e58cba7b240edc?verbose=false" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = mockResponse._getData() - assert.equal(actualResponseBody.length, 34638) - done() - }) - }) - }) - // TODO - Why is this test failing? - // describe("#BlockchainGetBlockchainInfo", () => { - // it("should GET /getBlockchainInfo ", done => { - // const mockRequest = httpMocks.createRequest({ - // method: "GET", - // url: "/getBlockchainInfo" - // }) - // const mockResponse = httpMocks.createResponse({ - // eventEmitter: require("events").EventEmitter - // }) - // blockchainRoute(mockRequest, mockResponse) - // - // mockResponse.on("end", () => { - // const actualResponseBody = Object.keys( - // JSON.parse(mockResponse._getData()) - // ) - // assert.deepEqual(actualResponseBody, [ - // "chain", - // "blocks", - // "headers", - // "bestblockhash", - // "difficulty", - // "mediantime", - // "verificationprogress", - // "chainwork", - // "pruned", - // "softforks", - // "bip9_softforks" - // ]) - // done() - // }) - // }) - // }) - - describe("#BlockchainGetBlockCount", () => { - it("should GET /getBlockCount ", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/getBlockCount" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = parseInt(mockResponse._getData()) - assert.equal(typeof actualResponseBody, "number") - done() - }) - }) - }) - - describe("#BlockchainGetBlockHash", () => { - it("should GET /getBlockHash/:height ", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/getBlockhash/[0, 1, 2, 3, 532646]" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData())[0] - assert.equal( - actualResponseBody, - "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f" - ) - done() - }) - }) - }) - - describe("#BlockchainGetBlockHeader", () => { - it("should GET /getBlockHeader/:hash w/ verbose=true", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - '/getBlockHeader/["00000000000000000182bf5782f3d43b1a8fceccb50253eb61e58cba7b240edc"%5D?verbose=true' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData())[0] - ) - assert.deepEqual(actualResponseBody, [ - "hash", - "confirmations", - "height", - "version", - "versionHex", - "merkleroot", - "time", - "mediantime", - "nonce", - "bits", - "difficulty", - "chainwork", - "previousblockhash", - "nextblockhash" - ]) - done() - }) - }) - - it("should GET /getBlockHeader/:hash w/ verbose=false", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - '/getBlockHeader/00000000000000000182bf5782f3d43b1a8fceccb50253eb61e58cba7b240edc"%5D?verbose=false' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.deepEqual(actualResponseBody.length, 160) - done() - }) - }) - }) - - describe("#BlockchainGetChainTips", () => { - it("should GET /getChainTips ", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/getChainTips" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData())[0] - ) - assert.deepEqual(actualResponseBody, [ - "height", - "hash", - "branchlen", - "status" - ]) - done() - }) - }) - }) - - describe("#BlockchainGetDifficulty", () => { - it("should GET /getDifficulty ", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/getDifficulty" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = parseFloat(mockResponse._getData()) - assert.equal(typeof actualResponseBody, "number") - done() - }) - }) - }) - - describe("#BlockchainGetMempoolAncestors", () => { - it("should GET /getMempoolAncestors/:txid w/ verbose=true", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - '/getMempoolAncestors/["53735a4ddb828825d6e3f52d045f4c151b2b3d51d631bc581e62f31184b151d6"%5D?verbose=true' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData())[0] - assert.equal(actualResponseBody, "Transaction not in mempool") - done() - }) - }) - - it("should GET /getMempoolAncestors/:txid w/ verbose=false", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - '/getMempoolAncestors/["53735a4ddb828825d6e3f52d045f4c151b2b3d51d631bc581e62f31184b151d6"%5D?verbose=false' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData())[0] - assert.equal(actualResponseBody, "Transaction not in mempool") - done() - }) - }) - }) - - describe("#BlockchainGetMempoolDescendants", () => { - it("should GET /getMempoolDescendants/:txid w/ verbose=true", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - '/getMempoolDescendants/["53735a4ddb828825d6e3f52d045f4c151b2b3d51d631bc581e62f31184b151d6"%5D?verbose=true' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData())[0] - assert.equal(actualResponseBody, "Transaction not in mempool") - done() - }) - }) - - it("should GET /getMempoolDescendants/:txid w/ verbose=false", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - '/getMempoolDescendants/["53735a4ddb828825d6e3f52d045f4c151b2b3d51d631bc581e62f31184b151d6"%5D?verbose=false' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData())[0] - assert.equal(actualResponseBody, "Transaction not in mempool") - done() - }) - }) - }) - - describe("#BlockchainGetMempoolEntry", () => { - it("should GET /getMempoolEntry/:txid ", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - '/getMempoolEntry/["53735a4ddb828825d6e3f52d045f4c151b2b3d51d631bc581e62f31184b151d6"%5D' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData())[0] - // TODO: create a tx send it to mempool. Then spend the utxo in another tx and call that enpoind w/ the 2nd txid. - assert.equal(actualResponseBody, "Transaction not in mempool") - done() - }) - }) - }) - - describe("#BlockchainGetMempoolInfo", () => { - it("should GET /getMempoolInfo ", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/getMempoolInfo" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert.deepEqual(actualResponseBody, [ - "size", - "bytes", - "usage", - "maxmempool", - "mempoolminfee" - ]) - done() - }) - }) - }) - - describe("#BlockchainGetRawMempool", () => { - it("should GET /getRawMempool w/ verbose=true", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/getRawMempool?verbose=true" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert(actualResponseBody.length > 1) - done() - }) - }) - - it("should GET /getRawMempool w/ verbose=false", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/getRawMempool?verbose=false" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert(actualResponseBody.length > 1) - done() - }) - }) - }) - // TODO - Why is this test failing? - // describe("#BlockchainGetTxOut", () => { - // it("should GET /getTxOut/:txid/:n w/ verbose=true", done => { - // const mockRequest = httpMocks.createRequest({ - // method: "GET", - // url: - // "/getTxOut/ac0e82ea84f93444602a99199dd80793f79a8ece5ac86156d2fff34f0bad44b2/0?verbose=true" - // }) - // const mockResponse = httpMocks.createResponse({ - // eventEmitter: require("events").EventEmitter - // }) - // blockchainRoute(mockRequest, mockResponse) - // - // mockResponse.on("end", () => { - // const actualResponseBody = Object.keys( - // JSON.parse(mockResponse._getData()) - // ) - // assert.deepEqual(actualResponseBody, [ - // "bestblock", - // "confirmations", - // "value", - // "scriptPubKey", - // "coinbase" - // ]) - // done() - // }) - // }) - // - // it("should GET /getTxOut/:txid/:n w/ verbose=false", done => { - // const mockRequest = httpMocks.createRequest({ - // method: "GET", - // url: - // "/getTxOut/ac0e82ea84f93444602a99199dd80793f79a8ece5ac86156d2fff34f0bad44b2/0?verbose=false" - // }) - // const mockResponse = httpMocks.createResponse({ - // eventEmitter: require("events").EventEmitter - // }) - // blockchainRoute(mockRequest, mockResponse) - // - // mockResponse.on("end", () => { - // const actualResponseBody = Object.keys( - // JSON.parse(mockResponse._getData()) - // ) - // assert.deepEqual(actualResponseBody, [ - // "bestblock", - // "confirmations", - // "value", - // "scriptPubKey", - // "coinbase" - // ]) - // done() - // }) - // }) - // }) - - describe("#BlockchainGetTxOutProof", () => { - it("should GET /getTxOutProof/:txid", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - "/getTxOutProof/53735a4ddb828825d6e3f52d045f4c151b2b3d51d631bc581e62f31184b151d6" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = mockResponse._getData() - assert.equal( - actualResponseBody.message, - "JSON value is not an array as expected" - ) - done() - }) - }) - }) - // - // describe("#BlockchainPreciousBlock", () => { - // it("should GET /preciousBlock/:hash", (done) => { - // let mockRequest = httpMocks.createRequest({ - // method: "GET", - // url: "/preciousBlock/00000000000000000108641af52e01a447b1f9d801571f93a0f20a8cbf80c236" - // }); - // let mockResponse = httpMocks.createResponse({ - // eventEmitter: require('events').EventEmitter - // }); - // blockchainRoute(mockRequest, mockResponse); - // - // mockResponse.on('end', () => { - // let actualResponseBody = mockResponse._getData(); - // assert.equal(JSON.parse(actualResponseBody), "null" ); - // done(); - // }); - // }); - // }); - // - // describe("#BlockchainPruneBlockchain", () => { - // it("should POST /pruneBlockchain/:height ", (done) => { - // let mockRequest = httpMocks.createRequest({ - // method: "POST", - // url: "/pruneBlockchain/530384" - // }); - // let mockResponse = httpMocks.createResponse({ - // eventEmitter: require('events').EventEmitter - // }); - // blockchainRoute(mockRequest, mockResponse); - // - // mockResponse.on('end', () => { - // let actualResponseBody = mockResponse._getData(); - // assert.equal(actualResponseBody, "Cannot prune blocks because node is not in prune mode." ); - // done(); - // }); - // }); - // }); - // - // describe("#BlockchainVerifyChain", () => { - // it("should GET /verifyChain", (done) => { - // let mockRequest = httpMocks.createRequest({ - // method: "GET", - // url: "/verifyChain" - // }); - // let mockResponse = httpMocks.createResponse({ - // eventEmitter: require('events').EventEmitter - // }); - // blockchainRoute(mockRequest, mockResponse); - // - // mockResponse.on('end', () => { - // let actualResponseBody = JSON.parse(mockResponse._getData()); - // assert.equal(actualResponseBody, true); - // done(); - // }); - // }); - // }); - - describe("#BlockchainVerifyTxOutProof", () => { - it("should GET /verifyTxOutProof/:proof", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - "/verifyTxOutProof/53735a4ddb828825d6e3f52d045f4c151b2b3d51d631bc581e62f31184b151d6" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - blockchainRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = mockResponse._getData() - assert.equal( - actualResponseBody.message, - "CDataStream::read(): end of data: iostream error" - ) - done() - }) - }) - }) -}) diff --git a/test/v1/control.js b/test/v1/control.js deleted file mode 100644 index 42d406f..0000000 --- a/test/v1/control.js +++ /dev/null @@ -1,64 +0,0 @@ -"use strict" - -//const chai = require("chai"); -const assert = require("assert") -//const expect = chai.expect; -const httpMocks = require("node-mocks-http") -const controlRoute = require("../../dist/routes/v1/control") - -describe("#ControlRouter", () => { - describe("#root", () => { - it("should return 'control' for GET /", () => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/" - }) - const mockResponse = httpMocks.createResponse() - controlRoute(mockRequest, mockResponse) - const actualResponseBody = mockResponse._getData() - const expectedResponseBody = { - status: "control" - } - assert.deepEqual(JSON.parse(actualResponseBody), expectedResponseBody) - }) - }) - /* - describe("#GetInfo", () => { - it("should GET /getInfo", (done) => { - let mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/getInfo" - }); - let mockResponse = httpMocks.createResponse({ - eventEmitter: require('events').EventEmitter - }); - controlRoute(mockRequest, mockResponse); - - mockResponse.on('end', () => { - let actualResponseBody = Object.keys(JSON.parse(mockResponse._getData())); - assert.deepEqual(actualResponseBody, [ 'version', 'protocolversion', 'blocks', 'timeoffset', 'connections', 'proxy', 'difficulty', 'testnet', 'paytxfee', 'relayfee', 'errors' ]); - done(); - }); - }); - }); -// -// describe("#GetMemoryInfo", () => { -// it("should GET /getMemoryInfo ", (done) => { -// let mockRequest = httpMocks.createRequest({ -// method: "GET", -// url: "/getMemoryInfo" -// }); -// let mockResponse = httpMocks.createResponse({ -// eventEmitter: require('events').EventEmitter -// }); -// controlRoute(mockRequest, mockResponse); -// -// mockResponse.on('end', () => { -// let actualResponseBody = Object.keys(JSON.parse(mockResponse._getData()).locked); -// assert.deepEqual(actualResponseBody, [ 'used', 'free', 'total', 'locked', 'chunks_used', 'chunks_free' ]); -// done(); -// }); -// }); -// }); -*/ -}) diff --git a/test/v1/dataRetrieval.js b/test/v1/dataRetrieval.js deleted file mode 100644 index 9453c50..0000000 --- a/test/v1/dataRetrieval.js +++ /dev/null @@ -1,485 +0,0 @@ -"use strict" - -//const chai = require("chai"); -const assert = require("assert") -const httpMocks = require("node-mocks-http") -const dataRetrieval = require("../../dist/routes/v1/dataRetrieval") - -describe("#dataRetrievalRouter", () => { - describe("#root", () => { - it("should return 'dataRetrieval' for GET /", () => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/" - }) - const mockResponse = httpMocks.createResponse() - dataRetrieval(mockRequest, mockResponse) - const actualResponseBody = mockResponse._getData() - const expectedResponseBody = { - status: "dataRetrieval" - } - assert.deepEqual(JSON.parse(actualResponseBody), expectedResponseBody) - }) - }) - - describe("#balancesForAddress", () => { - it("should GET /balancesForAddress/:address", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - "/balancesForAddress/bitcoincash:qqnjqejdq77pjqhg2y009fck50wdzzh3mc667y7075" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - dataRetrieval(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.deepEqual(actualResponseBody[0], { - propertyid: 189, - balance: "1.0", - reserved: "0.0" - }) - done() - }) - }) - }) - /* - describe("#balancesForId", () => { - it("should GET /balancesForId/:propertyId", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/balancesForId/189" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - dataRetrieval(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData())[0] - //console.log(`actualResponseBody: ${JSON.stringify(actualResponseBody, null, 2)}`) - - assert.deepEqual(actualResponseBody, { - address: "bitcoincash:qzgvcvfkupltwn2k8c0y8hddhwffxg7p35s834qcuz", - balance: "1.0", - reserved: "0.0" - }) - done() - }) - }) - }) -*/ - describe("#balanceAddressAndPropertyId", () => { - it("should GET /balance/:address/:propertyId", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - "/balance/bitcoincash:qqnjqejdq77pjqhg2y009fck50wdzzh3mc667y7075/189" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - dataRetrieval(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.deepEqual(actualResponseBody, { - balance: "1.0", - reserved: "0.0" - }) - done() - }) - }) - }) - - describe("#balancesHash", () => { - it("should GET /balancesHash/:propertyId", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/balancesHash/127" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - dataRetrieval(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert.deepEqual(actualResponseBody, [ - "block", - "blockhash", - "propertyid", - "balanceshash" - ]) - done() - }) - }) - }) - - describe("#crowdSale", () => { - it("should GET /crowdSale/:propertyId", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/crowdSale/190" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - dataRetrieval(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - - assert.deepEqual(actualResponseBody, [ - "propertyid", - "name", - "active", - "issuer", - "propertyiddesired", - "precision", - "tokensperunit", - "earlybonus", - "starttime", - "deadline", - "amountraised", - "tokensissued", - "addedissuertokens", - "closedearly", - "maxtokens", - "endedtime", - "closetx" - ]) - done() - }) - }) - }) - - describe("#currentConsensusHash", () => { - it("should GET /currentConsensusHash", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/currentConsensusHash" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - dataRetrieval(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert.deepEqual(actualResponseBody, [ - "block", - "blockhash", - "consensushash" - ]) - done() - }) - }) - }) - - describe("#grants", () => { - it("should GET /grants/:propertyId", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/grants/189" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - dataRetrieval(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - - assert.deepEqual(actualResponseBody, [ - "propertyid", - "name", - "issuer", - "creationtxid", - "totaltokens", - "issuances" - ]) - done() - }) - }) - }) - /* - describe("#info", () => { - it("should GET /info", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/info" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - dataRetrieval(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert.deepEqual(actualResponseBody, [ - "wormholeversion_int", - "wormholeversion", - "bitcoincoreversion", - "block", - "blocktime", - "blocktransactions", - "totaltrades", - "totaltransactions", - "alerts" - ]) - done() - }) - }) - }) -*/ - describe("#payload", () => { - it("should GET /payload/:txid", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - "/payload/709d1346a781e7e0064393c9b3f0e846ee445958946352b5928084e8d9a410cc" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - dataRetrieval(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert.deepEqual(actualResponseBody, ["payload", "payloadsize"]) - done() - }) - }) - }) - - describe("#property", () => { - it("should GET /property/:propertyId", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/property/127" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - dataRetrieval(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert.deepEqual(actualResponseBody, [ - "propertyid", - "name", - "category", - "subcategory", - "data", - "url", - "precision", - "issuer", - "creationtxid", - "fixedissuance", - "managedissuance", - "totaltokens" - ]) - done() - }) - }) - }) - - describe("#seedBlocks", () => { - it("should GET /seedBlocks/:startBlock/:endBlock", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/seedBlocks/290000/300000" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - dataRetrieval(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert.deepEqual(actualResponseBody, []) - done() - }) - }) - }) - /* - describe("#STO", () => { - it("should GET /STO/:txid", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - //url: "/STO/ac2df919be43fa793ff4955019195481878e0f0cab39834ad911124fdacfc603/*", - url: "/STO/744b6b3c287d836814c615b532737c080d07ddb48d891f9b0159196ee910b45c/*", - }); - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter, - }); - dataRetrieval(mockRequest, mockResponse); - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys(JSON.parse(mockResponse._getData())); - assert.deepEqual(actualResponseBody, [ - "txid", - "fee", - "sendingaddress", - "ismine", - "version", - "type_int", - "type", - "propertyid", - "precision", - "ecosystem", - "category", - "subcategory", - "propertyname", - "data", - "url", - "amount", - "valid", - "blockhash", - "blocktime", - "positioninblock", - "block", - "confirmations", - ]); - done(); - }); - }); - }); -*/ - describe("#transaction", () => { - it("should GET /transaction/:txid", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - //url: "/transaction/ac2df919be43fa793ff4955019195481878e0f0cab39834ad911124fdacfc603", - url: - "/transaction/744b6b3c287d836814c615b532737c080d07ddb48d891f9b0159196ee910b45c" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - dataRetrieval(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - - assert.deepEqual(actualResponseBody, [ - "txid", - "fee", - "sendingaddress", - "ismine", - "version", - "type_int", - "type", - "propertyid", - "precision", - //"ecosystem", - //"category", - //"subcategory", - //"propertyname", - //"data", - //"url", - //"amount", - "valid", - "blockhash", - "blocktime", - "positioninblock", - "block", - "confirmations" - ]) - done() - }) - }) - }) - - describe("#blockTransactions", () => { - it("should GET /blockTransactions/:index", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/blockTransactions/279007" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - dataRetrieval(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert.deepEqual(actualResponseBody, []) - done() - }) - }) - }) - - describe("#pendingTransactions", () => { - it("should GET /pendingTransactions", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/pendingTransactions" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - dataRetrieval(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert.equal(Array.isArray(actualResponseBody), true) - done() - }) - }) - }) - - describe("#properties", () => { - it("should GET /properties", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/properties" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - dataRetrieval(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData())[0] - ) - assert.deepEqual(actualResponseBody, [ - "propertyid", - "name", - "category", - "subcategory", - "data", - "url", - "precision" - ]) - done() - }) - }) - }) -}) diff --git a/test/v1/generating.js b/test/v1/generating.js deleted file mode 100644 index bd2bbfa..0000000 --- a/test/v1/generating.js +++ /dev/null @@ -1,44 +0,0 @@ -"use strict" - -// const chai = require("chai"); -const assert = require("assert") -// const expect = chai.expect; -const httpMocks = require("node-mocks-http") -const generatingRoute = require("../../dist/routes/v1/generating") - -describe("#GeneratingRouter", () => { - describe("#root", () => { - it("should return 'generating' for GET /", () => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/" - }) - const mockResponse = httpMocks.createResponse() - generatingRoute(mockRequest, mockResponse) - const actualResponseBody = mockResponse._getData() - const expectedResponseBody = { - status: "generating" - } - assert.deepEqual(JSON.parse(actualResponseBody), expectedResponseBody) - }) - }) - // - // describe("#GeneratingGenerateToAddress", () => { - // it("should POST /generateToAddress/:n/:address ", (done) => { - // let mockRequest = httpMocks.createRequest({ - // method: "POST", - // url: "/generateToAddress/1/qrff52mj0ml4scljzxrex7ses2gst42k9sfz2lftjq" - // }); - // let mockResponse = httpMocks.createResponse({ - // eventEmitter: require('events').EventEmitter - // }); - // generatingRoute(mockRequest, mockResponse); - // - // mockResponse.on('end', () => { - // let actualResponseBody = mockResponse._getData(); - // assert.equal(actualResponseBody, "JSON value is not an integer as expected"); - // done(); - // }); - // }); - // }); -}) diff --git a/test/v1/health-check.js b/test/v1/health-check.js deleted file mode 100644 index 981c99d..0000000 --- a/test/v1/health-check.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict" - -//const chai = require("chai"); -const assert = require("assert") -const httpMocks = require("node-mocks-http") -const healthCheckRoute = require("../../dist/routes/v1/health-check") - -describe("#HealthCheckRouter", () => { - describe("#root", () => { - it("should return 'winning' for GET /", () => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/" - }) - const mockResponse = httpMocks.createResponse() - healthCheckRoute(mockRequest, mockResponse) - const actualResponseBody = mockResponse._getData() - const expectedResponseBody = { - status: "winning" - } - assert.deepEqual(JSON.parse(actualResponseBody), expectedResponseBody) - }) - }) -}) diff --git a/test/v1/mining.js b/test/v1/mining.js deleted file mode 100644 index a1e6665..0000000 --- a/test/v1/mining.js +++ /dev/null @@ -1,114 +0,0 @@ -"use strict" - -//const chai = require("chai"); -const assert = require("assert") -//const expect = chai.expect; -const httpMocks = require("node-mocks-http") -const miningRoute = require("../../dist/routes/v1/mining") - -describe("#MiningRouter", () => { - describe("#root", () => { - it("should return 'mining' for GET /", () => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/" - }) - const mockResponse = httpMocks.createResponse() - miningRoute(mockRequest, mockResponse) - const actualResponseBody = mockResponse._getData() - const expectedResponseBody = { - status: "mining" - } - assert.deepEqual(JSON.parse(actualResponseBody), expectedResponseBody) - }) - }) - - // - // describe("#MiningGetBlockTemplate", () => { - // it("should GET /getBlockTemplate", (done) => { - // let mockRequest = httpMocks.createRequest({ - // method: "GET", - // url: "/getBlockTemplate/{}" - // }); - // let mockResponse = httpMocks.createResponse({ - // eventEmitter: require('events').EventEmitter - // }); - // miningRoute(mockRequest, mockResponse); - // - // mockResponse.on('end', () => { - // let actualResponseBody = mockResponse._getData(); - // assert.equal(actualResponseBody, 'JSON value is not an object as expected'); - // done(); - // }); - // }); - // }); - - describe("#MiningGetMiningInfo", () => { - it("should GET /getMiningInfo", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/getMiningInfo" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - miningRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert.deepEqual(actualResponseBody, [ - "blocks", - "currentblocksize", - "currentblocktx", - "difficulty", - "blockprioritypercentage", - "errors", - "networkhashps", - "pooledtx", - "chain" - ]) - done() - }) - }) - }) - - describe("#MiningGetNetworkHashps", () => { - it("should GET /getNetworkHashps", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/getNetworkHashps" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - miningRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = parseInt(mockResponse._getData()) - assert.equal(typeof actualResponseBody, "number") - done() - }) - }) - }) - // - // describe("#MiningSubmitBlock", () => { - // it("should POST /SubmitBlock", (done) => { - // let mockRequest = httpMocks.createRequest({ - // method: "POST", - // url: "/submitBlock/000000000000000000df19ff517463e288aca3de261ece7d53f97da65f9b7b8d" - // }); - // let mockResponse = httpMocks.createResponse({ - // eventEmitter: require('events').EventEmitter - // }); - // miningRoute(mockRequest, mockResponse); - // - // mockResponse.on('end', () => { - // let actualResponseBody = mockResponse._getData(); - // assert.equal(actualResponseBody, "Block decode failed"); - // done(); - // }); - // }); - // }); -}) diff --git a/test/v1/network.js b/test/v1/network.js deleted file mode 100644 index 066e448..0000000 --- a/test/v1/network.js +++ /dev/null @@ -1,120 +0,0 @@ -"use strict" - -//const chai = require("chai"); -const assert = require("assert") -//const expect = chai.expect; -const httpMocks = require("node-mocks-http") -const networkRoute = require("../../dist/routes/v1/network") - -describe("#NetworkRouter", () => { - describe("#root", () => { - it("should return 'network' for GET /", () => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/" - }) - const mockResponse = httpMocks.createResponse() - networkRoute(mockRequest, mockResponse) - const actualResponseBody = mockResponse._getData() - const expectedResponseBody = { - status: "network" - } - assert.deepEqual(JSON.parse(actualResponseBody), expectedResponseBody) - }) - }) - // - // describe("#NetworkGetConnectionCount", () => { - // it("should GET /getConnectionCount ", (done) => { - // let mockRequest = httpMocks.createRequest({ - // method: "GET", - // url: "/getConnectionCount" - // }); - // let mockResponse = httpMocks.createResponse({ - // eventEmitter: require('events').EventEmitter - // }); - // networkRoute(mockRequest, mockResponse); - // - // mockResponse.on('end', () => { - // let actualResponseBody = parseInt(mockResponse._getData()); - // assert.equal(typeof actualResponseBody, "number"); - // done(); - // }); - // }); - // }); - // - // describe("#NetworkGetNetTotals", () => { - // it("should GET /getNetTotals ", (done) => { - // let mockRequest = httpMocks.createRequest({ - // method: "GET", - // url: "/getNetTotals" - // }); - // let mockResponse = httpMocks.createResponse({ - // eventEmitter: require('events').EventEmitter - // }); - // networkRoute(mockRequest, mockResponse); - // - // mockResponse.on('end', () => { - // let actualResponseBody = Object.keys(JSON.parse(mockResponse._getData())); - // assert.deepEqual(actualResponseBody, [ 'totalbytesrecv', 'totalbytessent', 'timemillis', 'uploadtarget' ]); - // done(); - // }); - // }); - // }); - // - // describe("#NetworkGetNetworkInfo", () => { - // it("should GET /getNetworkInfo", (done) => { - // let mockRequest = httpMocks.createRequest({ - // method: "GET", - // url: "/getNetworkInfo" - // }); - // let mockResponse = httpMocks.createResponse({ - // eventEmitter: require('events').EventEmitter - // }); - // networkRoute(mockRequest, mockResponse); - // - // mockResponse.on('end', () => { - // let actualResponseBody = Object.keys(JSON.parse(mockResponse._getData())); - // assert.deepEqual(actualResponseBody, [ 'version', 'subversion', 'protocolversion', 'localservices', 'localrelay', 'timeoffset', 'networkactive', 'connections', 'networks', 'relayfee', 'incrementalfee', 'localaddresses', 'warnings' ]); - // done(); - // }); - // }); - // }); - // - // describe("#NetworkGetPeerInfo", () => { - // it("should GET /getPeerInfo", (done) => { - // let mockRequest = httpMocks.createRequest({ - // method: "GET", - // url: "/getPeerInfo" - // }); - // let mockResponse = httpMocks.createResponse({ - // eventEmitter: require('events').EventEmitter - // }); - // networkRoute(mockRequest, mockResponse); - // - // mockResponse.on('end', () => { - // let actualResponseBody = Object.keys(JSON.parse(mockResponse._getData())[0]); - // assert.deepEqual(actualResponseBody, [ 'id', 'addr', 'addrlocal', 'services', 'relaytxes', 'lastsend', 'lastrecv', 'bytessent', 'bytesrecv', 'conntime', 'timeoffset', 'pingtime', 'minping', 'version', 'subver', 'inbound', 'addnode', 'startingheight', 'banscore', 'synced_headers', 'synced_blocks', 'inflight', 'whitelisted', 'bytessent_per_msg', 'bytesrecv_per_msg' ]); - // done(); - // }); - // }); - // }); - // - // describe("#NetworkPing", () => { - // it("should GET /ping", (done) => { - // let mockRequest = httpMocks.createRequest({ - // method: "GET", - // url: "/ping" - // }); - // let mockResponse = httpMocks.createResponse({ - // eventEmitter: require('events').EventEmitter - // }); - // networkRoute(mockRequest, mockResponse); - // - // mockResponse.on('end', () => { - // let actualResponseBody = JSON.parse(mockResponse._getData()); - // assert.equal(actualResponseBody, 'null'); - // done(); - // }); - // }); - // }); -}) diff --git a/test/v1/payloadCreation.js b/test/v1/payloadCreation.js deleted file mode 100644 index b7df1b7..0000000 --- a/test/v1/payloadCreation.js +++ /dev/null @@ -1,308 +0,0 @@ -"use strict" -//const chai = require("chai"); -const assert = require("assert") -const httpMocks = require("node-mocks-http") -const payloadCreation = require("../../dist/routes/v1/payloadCreation") - -describe("#payloadCreationRouter", () => { - describe("#root", () => { - it("should return 'payloadCreation' for GET /", () => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/" - }) - const mockResponse = httpMocks.createResponse() - payloadCreation(mockRequest, mockResponse) - const actualResponseBody = mockResponse._getData() - const expectedResponseBody = { - status: "payloadCreation" - } - assert.deepEqual(JSON.parse(actualResponseBody), expectedResponseBody) - }) - }) - - describe("#burnBCH", () => { - it("should GET /burnBCH", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/burnBCH" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - payloadCreation(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.equal(actualResponseBody, "00000044") - done() - }) - }) - }) - - describe("#changeIssuer", () => { - it("should POST /changeIssuer/:propertyId", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: "/changeIssuer/3" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - payloadCreation(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.equal(actualResponseBody, "0000004600000003") - done() - }) - }) - }) - - describe("#closeCrowdSale", () => { - it("should POST /closeCrowdSale/:propertyId", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: "/closeCrowdSale/70" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - payloadCreation(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.equal(actualResponseBody, "0000003500000046") - done() - }) - }) - }) - - describe("#grant", () => { - it("should POST /grant/:propertyId/:amount", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: "/grant/189/7000" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - payloadCreation(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - - assert.equal(actualResponseBody, "00000037000000bd000000000001117000") - done() - }) - }) - }) - - describe("#crowdsale", () => { - // CT 10/25/18: This test is commented out because I can't figure out how to - // test a thrown error with node-mocks-http. z - /* - it("should reject invalid date", done => { - try { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: - "/crowdsale/1/1/0/Companies/Bitcoin-Mining/Quantum-Miner/www.example.com/Quantum -Miner-Tokens/1/100/7308955112/30/0/192978657" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - payloadCreation(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - console.log( - `actualResponseBody: ${JSON.stringify(actualResponseBody, null, 2)}` - ) - //assert.equal( - // actualResponseBody, - // "0000003301000100000000436f6d70616e69657300426974636f696e2d4d696e696e67005175616e74756d2d4d696e6572007777772e6578616d706c652e636f6d005175616e74756d202d4d696e65722d546f6b656e73000000000100000002540be40000000000586846801e0000000000730634ca" - //) - assert.equal(true, true) - done() - }) - } catch (err) { - console.log(`Error: ${JSON.stringify(err, null, 2)}`) - assert.equal(true, true) - done() - } - }) - */ - - it("should POST /crowdsale/:ecosystem/:propertyPrecision/:previousId/:category/:subcategory/:name/:url/:data/:propertyIdDesired/:tokensPerUnit/:deadline/:earlyBonus/:undefine/:totalNumber", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: - "/crowdsale/1/1/0/Companies/Bitcoin-Mining/Quantum-Miner/www.example.com/Quantum -Miner-Tokens/1/100/1483228800/30/0/192978657" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - payloadCreation(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.equal( - actualResponseBody, - "0000003301000100000000436f6d70616e69657300426974636f696e2d4d696e696e67005175616e74756d2d4d696e6572007777772e6578616d706c652e636f6d005175616e74756d202d4d696e65722d546f6b656e73000000000100000002540be40000000000586846801e0000000000730634ca" - ) - done() - }) - }) - }) - - describe("#fixed", () => { - it("should POST /fixed/:ecosystem/:propertyPrecision/:previousId/:category/:subcategory/:name/:url/:data/:amount", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: - "/fixed/1/1/0/Companies/Bitcoin-Mining/Quantum-Miner/www.example.com/Quantum-Miner-Tokens/1000000" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - payloadCreation(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.equal( - actualResponseBody, - "0000003201000100000000436f6d70616e69657300426974636f696e2d4d696e696e67005175616e74756d2d4d696e6572007777772e6578616d706c652e636f6d005175616e74756d2d4d696e65722d546f6b656e73000000000000989680" - ) - done() - }) - }) - }) - - describe("#managed", () => { - it("should POST /managed/:ecosystem/:propertyPrecision/:previousId/:category/:subcategory/:name/:url/:data", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: - "/managed/1/1/0/Companies/Bitcoin-Mining/Quantum-Miner/www.example.com/Quantum-Miner-Tokens" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - payloadCreation(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.equal( - actualResponseBody, - "0000003601000100000000436f6d70616e69657300426974636f696e2d4d696e696e67005175616e74756d2d4d696e6572007777772e6578616d706c652e636f6d005175616e74756d2d4d696e65722d546f6b656e7300" - ) - done() - }) - }) - }) - - describe("#participateCrowdSale", () => { - it("should POST /participateCrowdSale/:amount", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: "/participateCrowdSale/100.0" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - payloadCreation(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.equal(actualResponseBody, "000000010000000100000002540be400") - done() - }) - }) - }) - - describe("#revoke", () => { - it("should POST /revoke/:propertyId/:amount", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - //url: "/revoke/3/100", // testnet - url: "/revoke/189/100" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - payloadCreation(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - //console.log(`actualResponseBody: ${JSON.stringify(actualResponseBody, null, 2)}`); - - assert.equal(actualResponseBody, "00000038000000bd00000000000003e800") - done() - }) - }) - }) - - describe("#sendAll", () => { - it("should POST /sendAll/:ecosystem", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - //url: "/sendAll/2", // testnet - url: "/sendAll/1" // mainnet - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - payloadCreation(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - //console.log(`actualResponseBody: ${JSON.stringify(actualResponseBody, null, 2)}`); - - assert.equal(actualResponseBody, "0000000401") - done() - }) - }) - }) - - describe("#simpleSend", () => { - it("should POST /simpleSend/:propertyId/:amount", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: "/simpleSend/1/100.0" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - payloadCreation(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.equal(actualResponseBody, "000000000000000100000002540be400") - done() - }) - }) - }) - - describe("#STO", () => { - it("should POST /STO/:propertyId/:amount", done => { - const mockRequest = httpMocks.createRequest({ - method: "POST", - url: "/STO/3/5000" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - payloadCreation(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = JSON.parse(mockResponse._getData()) - assert.equal( - actualResponseBody, - "0000000300000003000000000000138800000003" - ) - done() - }) - }) - }) -}) diff --git a/test/v1/slp.js b/test/v1/slp.js deleted file mode 100644 index f06f3f9..0000000 --- a/test/v1/slp.js +++ /dev/null @@ -1,191 +0,0 @@ -"use strict" - -//const chai = require("chai"); -const assert = require("assert") -const httpMocks = require("node-mocks-http") -const slpRoute = require("../../dist/routes/v1/slp") - -describe("#SlpRouter", () => { - describe("#root", () => { - it("should return 'slp' for GET /", () => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/" - }) - const mockResponse = httpMocks.createResponse() - slpRoute(mockRequest, mockResponse) - const actualResponseBody = mockResponse._getData() - const expectedResponseBody = { - status: "slp" - } - assert.deepEqual(JSON.parse(actualResponseBody), expectedResponseBody) - }) - }) - - describe("#listTokens", () => { - it("should GET /list", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/list" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - slpRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData())[0] - ) - assert.deepEqual(actualResponseBody, [ - "id", - "timestamp", - "symbol", - "name", - "document" - ]) - done() - }) - }) - }) - - describe("#listTokenById", () => { - it("should GET /list/:tokenId", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - "/list/259908ae44f46ef585edef4bcc1e50dc06e4c391ac4be929fae27235b8158cf1" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - slpRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert.deepEqual(actualResponseBody, [ - "id", - "timestamp", - "symbol", - "name", - "document" - ]) - done() - }) - }) - }) - - describe("#balancesForAddress", () => { - it("should GET /balancesForAddress/:address", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - "/balancesForAddress/simpleledger:qz9tzs6d5097ejpg279rg0rnlhz546q4fsnck9wh5m" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - slpRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert.deepEqual(actualResponseBody, [ - "satoshis_available", - "satoshis_locked_in_minting_baton", - "satoshis_locked_in_token", - "1cda254d0a995c713b7955298ed246822bee487458cd9747a91d9e81d9d28125", - "047918c612e94cce03876f1ad2bd6c9da43b586026811d9b0d02c3c3e910f972", - "slpAddress", - "cashAddress", - "legacyAddress" - ]) - done() - }) - }) - }) - - describe("#balanceForAddressById", () => { - it("should GET /balance/:address/:id", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - "/balance/simpleledger:qz9tzs6d5097ejpg279rg0rnlhz546q4fsnck9wh5m/1cda254d0a995c713b7955298ed246822bee487458cd9747a91d9e81d9d28125" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - slpRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert.deepEqual(actualResponseBody, [ - "id", - "timestamp", - "symbol", - "name", - "document", - "balance", - "slpAddress", - "cashAddress", - "legacyAddress" - ]) - done() - }) - }) - }) - // - // describe("#balancesForToken", () => { - // it("should GET /balancesForToken/:tokenId", done => { - // const mockRequest = httpMocks.createRequest({ - // method: "GET", - // url: - // "/balancesForToken/d7c32d972a21b664f60b5fc422900179d8883dec7bd61418434aa12b09b99c12" - // }) - // const mockResponse = httpMocks.createResponse({ - // eventEmitter: require("events").EventEmitter - // }) - // slpRoute(mockRequest, mockResponse) - // - // mockResponse.on("end", () => { - // const actualResponseBody = Object.keys( - // JSON.parse(mockResponse._getData())[0] - // ) - // assert.deepEqual(actualResponseBody, ["balance", "address"]) - // done() - // }) - // }) - // }) - - // TODO: Why does this test time out? - // describe("#addressConvert", () => { - // it("should GET /address/convert/:address", done => { - // const mockRequest = httpMocks.createRequest({ - // method: "GET", - // url: - // "/address/convert/simpleledger:qz9tzs6d5097ejpg279rg0rnlhz546q4fsnck9wh5m" - // }) - // const mockResponse = httpMocks.createResponse({ - // eventEmitter: require("events").EventEmitter - // }) - // slpRoute(mockRequest, mockResponse) - // - // mockResponse.on("end", () => { - // const actualResponseBody = Object.keys( - // JSON.parse(mockResponse._getData()) - // ) - // assert.deepEqual(actualResponseBody, [ - // "slpAddress", - // "cashAddress", - // "legacyAddress" - // ]) - // done() - // }) - // }) - // }) -}) diff --git a/test/v1/transaction.js b/test/v1/transaction.js deleted file mode 100644 index 2f6db29..0000000 --- a/test/v1/transaction.js +++ /dev/null @@ -1,96 +0,0 @@ -"use strict" - -//const chai = require("chai"); -const assert = require("assert") -const httpMocks = require("node-mocks-http") -const transactionRoute = require("../../dist/routes/v1/transaction") - -describe("#TransactionRouter", () => { - describe("#root", () => { - it("should return 'transaction' for GET /", () => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/" - }) - const mockResponse = httpMocks.createResponse() - transactionRoute(mockRequest, mockResponse) - const actualResponseBody = mockResponse._getData() - const expectedResponseBody = { - status: "transaction" - } - assert.deepEqual(JSON.parse(actualResponseBody), expectedResponseBody) - }) - }) - - describe("#TransactionDetails", () => { - it("should GET /details/:txid single txid", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - '/details/["78b5847f469f3e96b68c49097261d19c10ca5830c1e883333eb80e9252d9df86"%5D' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - transactionRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData())[0] - ) - assert.deepEqual(actualResponseBody, [ - "txid", - "version", - "locktime", - "vin", - "vout", - "blockhash", - "blockheight", - "confirmations", - "time", - "blocktime", - "valueOut", - "size", - "valueIn", - "fees" - ]) - done() - }) - }) - - it("should GET /details/:txid array", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - '/details/["113f1fe1c454a56436d4f93c7c6e315d1ed985d111299e9c2a3e2d3d1e9f177f", "f813f112cadd8b32670486dedcf81b4c2242c967759c9b61dee20b7e0830bb85"%5D' - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - transactionRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData())[0] - ) - assert.deepEqual(actualResponseBody, [ - "txid", - "version", - "locktime", - "vin", - "vout", - "blockhash", - "blockheight", - "confirmations", - "time", - "blocktime", - "valueOut", - "size", - "valueIn", - "fees" - ]) - done() - }) - }) - }) -}) diff --git a/test/v1/util.js b/test/v1/util.js deleted file mode 100644 index df6f17c..0000000 --- a/test/v1/util.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict" - -//const chai = require("chai"); -const assert = require("assert") -const httpMocks = require("node-mocks-http") -const utilRoute = require("../../dist/routes/v1/util") - -describe("#UtilRouter", () => { - describe("#root", () => { - it("should return 'util' for GET /", () => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: "/" - }) - const mockResponse = httpMocks.createResponse() - utilRoute(mockRequest, mockResponse) - const actualResponseBody = mockResponse._getData() - const expectedResponseBody = { - status: "util" - } - assert.deepEqual(JSON.parse(actualResponseBody), expectedResponseBody) - }) - }) - - describe("#ValidateAddress", () => { - it("should GET /validateAddress/:address", done => { - const mockRequest = httpMocks.createRequest({ - method: "GET", - url: - "/validateAddress/bitcoincash:qzs02v05l7qs5s24srqju498qu55dwuj0cx5ehjm2c" - }) - const mockResponse = httpMocks.createResponse({ - eventEmitter: require("events").EventEmitter - }) - utilRoute(mockRequest, mockResponse) - - mockResponse.on("end", () => { - const actualResponseBody = Object.keys( - JSON.parse(mockResponse._getData()) - ) - assert.deepEqual(actualResponseBody, [ - "isvalid", - "address", - "scriptPubKey", - "ismine", - "iswatchonly", - "isscript" - ]) - done() - }) - }) - }) -})