From 194b73c293f20499edab50b8d66f8e4a692595a2 Mon Sep 17 00:00:00 2001 From: Chris Clark Date: Thu, 6 Aug 2015 14:31:39 -0700 Subject: [PATCH] Test compiled code in dist/npm on CI server --- bin/ci.sh | 6 ++++++ src/api/index.js | 13 ++++++++++--- test/api-test.js | 13 ++++++------- test/node_modules/ripple-api | 1 + test/setup-api.js | 2 +- 5 files changed, 24 insertions(+), 11 deletions(-) create mode 120000 test/node_modules/ripple-api diff --git a/bin/ci.sh b/bin/ci.sh index 511dd870..a0bd0140 100755 --- a/bin/ci.sh +++ b/bin/ci.sh @@ -16,8 +16,14 @@ lint() { } unittest() { + # test "src" npm test --coverage npm run coveralls + + # test compiled version in "dist/npm" + ln -nfs ../../dist/npm/core test/node_modules/ripple-lib + ln -nfs ../../dist/npm test/node_modules/ripple-api + npm test } oneNode() { diff --git a/src/api/index.js b/src/api/index.js index b7753772..3ae625a1 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -2,7 +2,7 @@ 'use strict'; const _ = require('lodash'); -const core = require('./common').core; +const common = require('./common'); const server = require('./server/server'); const connect = server.connect; const disconnect = server.disconnect; @@ -28,11 +28,11 @@ const sign = require('./transaction/sign'); const submit = require('./transaction/submit'); const errors = require('./common').errors; const convertExceptions = require('./common').convertExceptions; -const generateWallet = convertExceptions(core.Wallet.generate); +const generateWallet = convertExceptions(common.core.Wallet.generate); function RippleAPI(options: {}) { const _options = _.assign({}, options, {automatic_resubmission: false}); - this.remote = new core.Remote(_options); + this.remote = new common.core.Remote(_options); } RippleAPI.prototype = { @@ -65,4 +65,11 @@ RippleAPI.prototype = { errors }; +// these are exposed only for use by unit tests; they are not part of the API +RippleAPI._PRIVATE = { + common: common, + ledgerUtils: require('./ledger/utils'), + schemaValidator: require('./common/schema-validator') +}; + module.exports = RippleAPI; diff --git a/test/api-test.js b/test/api-test.js index 74101a58..de2fb018 100644 --- a/test/api-test.js +++ b/test/api-test.js @@ -4,21 +4,20 @@ const _ = require('lodash'); const assert = require('assert-diff'); const path = require('path'); const setupAPI = require('./setup-api'); -const RippleAPI = require('../src').RippleAPI; +const RippleAPI = require('ripple-api').RippleAPI; +const common = RippleAPI._PRIVATE.common; const fixtures = require('./fixtures/api'); const requests = fixtures.requests; const responses = fixtures.responses; const addresses = require('./fixtures/addresses'); const hashes = require('./fixtures/hashes'); const MockPRNG = require('./mock-prng'); -const sjcl = require('../src/core').sjcl; +const sjcl = common.core.sjcl; const address = addresses.ACCOUNT; -const common = require('../src/api/common'); const validate = common.validate; -const RippleError = require('../src/core/rippleerror').RippleError; -const utils = require('../src/api/ledger/utils'); +const utils = RippleAPI._PRIVATE.ledgerUtils; const ledgerClosed = require('./fixtures/api/rippled/ledger-close-newer'); -const schemaValidator = require('../src/api/common/schema-validator'); +const schemaValidator = RippleAPI._PRIVATE.schemaValidator; const orderbook = { base: { @@ -394,7 +393,7 @@ describe('RippleAPI', function() { return this.api.getTransactions(address, options).then(() => { assert(false, 'Should throw RippleError'); }).catch(error => { - assert(error instanceof RippleError); + assert(error instanceof common.core.RippleError); }); }); diff --git a/test/node_modules/ripple-api b/test/node_modules/ripple-api new file mode 120000 index 00000000..929cb3dc --- /dev/null +++ b/test/node_modules/ripple-api @@ -0,0 +1 @@ +../../src \ No newline at end of file diff --git a/test/setup-api.js b/test/setup-api.js index 33371eb3..8a8c8f5e 100644 --- a/test/setup-api.js +++ b/test/setup-api.js @@ -1,6 +1,6 @@ 'use strict'; const net = require('net'); -const RippleAPI = require('../src').RippleAPI; +const RippleAPI = require('ripple-api').RippleAPI; const ledgerClosed = require('./fixtures/api/rippled/ledger-close'); const createMockRippled = require('./mock-rippled');