From be4011c310eab76d3010da2e6354a953396f85f5 Mon Sep 17 00:00:00 2001 From: frankiebee Date: Tue, 8 Aug 2017 18:30:03 -0400 Subject: create a provider stub --- test/stub/provider.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 test/stub/provider.js (limited to 'test/stub/provider.js') diff --git a/test/stub/provider.js b/test/stub/provider.js new file mode 100644 index 000000000..8a306f6d9 --- /dev/null +++ b/test/stub/provider.js @@ -0,0 +1,25 @@ +const JsonRpcEngine = require('json-rpc-engine') +const scaffoldMiddleware = require('eth-json-rpc-middleware/scaffold') + +module.exports = { + createEngineForTestData, + providerFromEngine, + scaffoldMiddleware, + createStubedProvider +} + + +function createEngineForTestData () { + return new JsonRpcEngine() +} + +function providerFromEngine (engine) { + const provider = { sendAsync: engine.handle.bind(engine) } + return provider +} + +function createStubedProvider (resultStub) { + const engine = createEngineForTestData() + engine.push(scaffoldMiddleware(resultStub)) + return providerFromEngine(engine) +} \ No newline at end of file -- cgit From 409b49b411fee4c3f6f9106d99e2bba915bb5f0f Mon Sep 17 00:00:00 2001 From: frankiebee Date: Sun, 14 Jan 2018 14:00:59 -0800 Subject: test - create ethJsQuery stub --- test/stub/provider.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'test/stub/provider.js') diff --git a/test/stub/provider.js b/test/stub/provider.js index 8a306f6d9..85e1da707 100644 --- a/test/stub/provider.js +++ b/test/stub/provider.js @@ -5,7 +5,8 @@ module.exports = { createEngineForTestData, providerFromEngine, scaffoldMiddleware, - createStubedProvider + createEthJsQueryStub, + createStubedProvider, } @@ -18,6 +19,18 @@ function providerFromEngine (engine) { return provider } +function createEthJsQueryStub (stubProvider) { + return new Proxy({}, { + get: (obj, method) => { + return (...params) => { + return new Promise((resolve, reject) => { + stubProvider.sendAsync({ method: `eth_${method}`, params }, (err, ress) => resolve(ress.result)) + }) + } + }, + }) +} + function createStubedProvider (resultStub) { const engine = createEngineForTestData() engine.push(scaffoldMiddleware(resultStub)) -- cgit From 3cbf2b7e3e8608ec5f79ffd64cc15bc633ef2466 Mon Sep 17 00:00:00 2001 From: kumavis Date: Wed, 17 Jan 2018 19:44:11 -0800 Subject: test - remove createEthJsQueryStub --- test/stub/provider.js | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) (limited to 'test/stub/provider.js') diff --git a/test/stub/provider.js b/test/stub/provider.js index 85e1da707..9f1405c9e 100644 --- a/test/stub/provider.js +++ b/test/stub/provider.js @@ -5,7 +5,6 @@ module.exports = { createEngineForTestData, providerFromEngine, scaffoldMiddleware, - createEthJsQueryStub, createStubedProvider, } @@ -19,20 +18,8 @@ function providerFromEngine (engine) { return provider } -function createEthJsQueryStub (stubProvider) { - return new Proxy({}, { - get: (obj, method) => { - return (...params) => { - return new Promise((resolve, reject) => { - stubProvider.sendAsync({ method: `eth_${method}`, params }, (err, ress) => resolve(ress.result)) - }) - } - }, - }) -} - function createStubedProvider (resultStub) { const engine = createEngineForTestData() engine.push(scaffoldMiddleware(resultStub)) return providerFromEngine(engine) -} \ No newline at end of file +} -- cgit From d1d745eef4f8270a144e13af23c009773c3f3598 Mon Sep 17 00:00:00 2001 From: kumavis Date: Wed, 17 Jan 2018 19:47:35 -0800 Subject: test - typo - fix spelling of word stubbed --- test/stub/provider.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'test/stub/provider.js') diff --git a/test/stub/provider.js b/test/stub/provider.js index 9f1405c9e..e1e6ffce6 100644 --- a/test/stub/provider.js +++ b/test/stub/provider.js @@ -5,7 +5,7 @@ module.exports = { createEngineForTestData, providerFromEngine, scaffoldMiddleware, - createStubedProvider, + createStubbedProvider, } @@ -18,7 +18,7 @@ function providerFromEngine (engine) { return provider } -function createStubedProvider (resultStub) { +function createStubbedProvider (resultStub) { const engine = createEngineForTestData() engine.push(scaffoldMiddleware(resultStub)) return providerFromEngine(engine) -- cgit From 899e839e7c695ff55572d3eb35a9fee98eff8ca1 Mon Sep 17 00:00:00 2001 From: kumavis Date: Wed, 17 Jan 2018 21:43:34 -0800 Subject: test - createTestProviderTools includes block tracker layer --- test/stub/provider.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'test/stub/provider.js') diff --git a/test/stub/provider.js b/test/stub/provider.js index e1e6ffce6..e77db4e28 100644 --- a/test/stub/provider.js +++ b/test/stub/provider.js @@ -1,11 +1,12 @@ const JsonRpcEngine = require('json-rpc-engine') const scaffoldMiddleware = require('eth-json-rpc-middleware/scaffold') +const TestBlockchain = require('eth-block-tracker/test/util/testBlockMiddleware') module.exports = { createEngineForTestData, providerFromEngine, scaffoldMiddleware, - createStubbedProvider, + createTestProviderTools, } @@ -18,8 +19,13 @@ function providerFromEngine (engine) { return provider } -function createStubbedProvider (resultStub) { +function createTestProviderTools (opts = {}) { const engine = createEngineForTestData() - engine.push(scaffoldMiddleware(resultStub)) - return providerFromEngine(engine) + const testBlockchain = new TestBlockchain() + // handle provided hooks + engine.push(scaffoldMiddleware(opts.scaffold || {})) + // handle block tracker methods + engine.push(testBlockchain.createMiddleware()) + const provider = providerFromEngine(engine) + return { provider, engine, testBlockchain } } -- cgit