solidity/jsonrpc.isValidResponse.js
Marek Kotewicz 792c3e7094 Squashed 'libjsqrc/ethereumjs/' changes from 7d6b35a..9926e27
9926e27 upgraded version to 0.1.0
7a44f76 add shh post formatting
27d5421 merged from ethereum again
3848d3a fixed logs
18e1367 gulp
f831dde Merge branch 'apiOverhaul' of https://github.com/frozeman/ethereum.js into apiOverhaul
27fca17 common fixes
1c9f50f changed topic to topics
8d7d00d fixed input parser test
1269731 Merge branch 'apiOverhaul' of https://github.com/frozeman/ethereum.js into apiOverhaul
2c740b0 add filter value conversion
38f6567 fixed examples
fa5d4b5 Merge branch 'apiOverhaul' of https://github.com/frozeman/ethereum.js into apiOverhaul
8a2444b add default paramter for getBlock
2850bee fixed eth_getFilterChanges
b454587 Merge branch 'develop' of https://github.com/ethereum/ethereum.js into apiOverhaul
ede88f8 Merge pull request #105 from jorisbontje/balance-example
51a075c add in-output until eth_getBlockByHash
9c0d3e3 fixed to/fromWei
a0b5353 changed outputs up to storageAt
c2ed233 update balance example for new api
1f6c195 fixed toBigNumber
e5cc501 updated readme
4eb857e increased meteor package version
c7f8373 separated formatters files
068bdd7 changed project structure
ddb90c2 refactoring formatters
a6110a5 common changes
d3569e4 more coverage tests
e2352b4 utils.js docs
344428b tests...
9fe105e fixed from decimal;
50fc611 test for utils.toBigNumber
60ae274 code comments
b8505d1 common changes
ccb3775 new api method names
2b17ad6 refactoring
0a995e1 common changes in utils, fixing code complexity
3f63109 fix all failing karma tests
1fd1a31 Merge branch 'develop' into apiOverhaul
0b9d450 fixed karma test
75e92c8 Merge branch 'master' into develop
a869780 Merge branch 'master' into apiOverhaul
2cdf08b Merge pull request #101 from chevdor/master
437e273 Helping travis a bit... old boy!
d88effa Add node 0.12 + virtual screen for browsers/karma.
743eb30 Including Karma to Travis
f0da6ef Merge remote-tracking branch 'upstream/master'
cbb1efe test(eth): Disable few tests
b819391 fixed tests
c1136a0 Merge branch 'master' into develop
1b475aa downgrade to unreachable-branch-transform 0.1.0
636fb4b updated outdated deps
cf3fa10 Merge branch 'ch'
96f3076 karma
9c72d43 Merge pull request #100 from chevdor/master
96fede8 Merge pull request #98 from kumavis/develop
833b810 doc(readme): Information about Karma in the readme
e46f6f1 test(utils): Add test for the toEth() function
1e0d76e Remove phantomjs
af5fef0 test(karma): Add Karma support
20c4e28 Move envify and unreachable-branch-transform to normal dependencies for external browserify support.
333c3ff merged develop
b07ddb4 add defualt block
024433f Merge branch 'master' into develop
601c8ab ignore for maxcomplexity warning
d9d190e Merge branch 'master' into develop
a05742f Add internal defaultBlock
6cd96c9 add net object
48c107e update meteor package
9c4080b made filter polling async
869bb66 add optional callback
4096fb8 merged develop
5c4a36b working on adding callbacks
30111f7 Merge pull request #87 from kumavis/develop
f2029b4 Merge pull request #85 from ethers/abiString
ee686b0 Move browserify transforms to package.json
4b9bc17 constants should be before (dynamic) string contents
1c136e3 merged develop
aef0171 add shh topic auto transformation for filter options
37e6d11 add shh output formatters and test
c03a949 add package-init.js
a69c04d add version file
487e0ac mdae it a meteor package
8cf8b9e gulp
fd85749 Merge pull request #81 from ethers/arraySupport
fcab219 vary the length of the arrays
f8db634 need to save/concat per iteration
ce664d6 fix test descriptions
66196ee constants should be before array contents, fixes #30
2cd4f02 add build files
47412c3 add more tests for blocks
545de25 add more tests
2e9a411 Merge pull request #71 from frozeman/apiOverhaul
30518ae fixed complexities
84900e6 merged with solved conflicts
eaef1a2 merged develop
9981b97 fixed )
8128342 fixed small change request
5ea5be2 add deprecated transact
181f109 changed getCode to getData
1fa7fa6 toFromWei fix
ee65b2c add input formatter for transactions
fec54d8 add depreaction warnring to contractFromAbi
684c495 changed contract API
36ca47f Changed watch to filter for eth and shh
7fde77d add formatter
b41d7b3 Merge branch 'master' into develop
5424406 Merge pull request #69 from frozeman/apiOverhaul
1e3edbb Merge branch 'develop' of https://github.com/ethereum/ethereum.js into apiOverhaul
60cda4e fixed tests
91c015e Made to/fromWei return strings instead of numbers
85c843e Merge pull request #67 from frozeman/apiOverhaul
ed7d473 Removed enumerable from methods, fixed number property
ce141d8 Removed circular dependencies
188e9e5 Add toWei/fromWei and isAddress
5c994ff changed most of the function names
REVERT: 7d6b35a Merge branch 'master' into cpp
REVERT: ea250e6 Merge commit 'be3bfb76bef1d1f113033cd9093e03a00066d5d1' into ethereumjs_timeout
REVERT: c08cea1 Improvement to AZ - confirmation disabler. Fix network crash.

git-subtree-dir: libjsqrc/ethereumjs
git-subtree-split: 9926e27a84fe21f3e7250e7e245977a7125ddf63
2015-03-10 17:41:32 +01:00

144 lines
3.5 KiB
JavaScript

var assert = require('assert');
var jsonrpc = require('../lib/web3/jsonrpc');
describe('jsonrpc', function () {
describe('isValidResponse', function () {
it('should validate basic jsonrpc response', function () {
// given
var response = {
jsonrpc: '2.0',
id: 1,
result: []
};
// when
var valid = jsonrpc.isValidResponse(response);
// then
assert.equal(valid, true);
});
it('should validate basic undefined response', function () {
// given
var response = undefined;
// when
var valid = jsonrpc.isValidResponse(response);
// then
assert.equal(valid, false);
});
it('should validate jsonrpc response without jsonrpc field', function () {
// given
var response = {
id: 1,
result: []
};
// when
var valid = jsonrpc.isValidResponse(response);
// then
assert.equal(valid, false);
});
it('should validate jsonrpc response with wrong jsonrpc version', function () {
// given
var response = {
jsonrpc: '1.0',
id: 1,
result: []
};
// when
var valid = jsonrpc.isValidResponse(response);
// then
assert.equal(valid, false);
});
it('should validate jsonrpc response without id number', function () {
// given
var response = {
jsonrpc: '2.0',
result: []
};
// when
var valid = jsonrpc.isValidResponse(response);
// then
assert.equal(valid, false);
});
it('should validate jsonrpc response with wrong id field', function () {
// given
var response = {
jsonrpc: '2.0',
id: 'x',
result: []
};
// when
var valid = jsonrpc.isValidResponse(response);
// then
assert.equal(valid, false);
});
it('should validate jsonrpc response without result field', function () {
// given
var response = {
jsonrpc: '2.0',
id: 1
};
// when
var valid = jsonrpc.isValidResponse(response);
// then
assert.equal(valid, false);
});
it('should validate jsonrpc response with result field === false', function () {
// given
var response = {
jsonrpc: '2.0',
id: 1,
result: false
};
// when
var valid = jsonrpc.isValidResponse(response);
// then
assert.equal(valid, true);
});
it('should validate jsonrpc response with result field === 0', function () {
// given
var response = {
jsonrpc: '2.0',
id: 1,
result: 0
};
// when
var valid = jsonrpc.isValidResponse(response);
// then
assert.equal(valid, true);
});
});
});