From 49cfe56f3f4f79590bf2ebd594c6c2387f514d52 Mon Sep 17 00:00:00 2001 From: Eduardo Nunes Pereira Date: Tue, 28 Aug 2018 13:29:59 -0300 Subject: [PATCH 1/9] Testing past events --- .../e2e/loom-provider-web3-pastevents.ts | 124 ++++++++++++++++++ src/tests/e2e_tests.ts | 3 +- 2 files changed, 126 insertions(+), 1 deletion(-) create mode 100644 src/tests/e2e/loom-provider-web3-pastevents.ts diff --git a/src/tests/e2e/loom-provider-web3-pastevents.ts b/src/tests/e2e/loom-provider-web3-pastevents.ts new file mode 100644 index 00000000..a4bdb6a3 --- /dev/null +++ b/src/tests/e2e/loom-provider-web3-pastevents.ts @@ -0,0 +1,124 @@ +import test from 'tape' + +import { LocalAddress, CryptoUtils } from '../../index' +import { createTestClient, waitForMillisecondsAsync } from '../helpers' + +import { LoomProvider } from '../../loom-provider' +import { deployContract } from '../evm-helpers' + +// import Web3 from 'web3' +const Web3 = require('web3') + +/** + * Requires the SimpleStore solidity contract deployed on a loomchain. + * go-loom/examples/plugins/evmexample/contract/SimpleStore.sol + * + * pragma solidity ^0.4.22; + * + * contract SimpleStore { + * uint value; + * constructor() public { + * value = 10; + * } + * + * event NewValueSet(uint indexed _value); + * + * function set(uint _value) public { + * value = _value; + * emit NewValueSet(value); + * } + * + * function get() public view returns (uint) { + * return value; + * } + * } + * + * + */ + +const newContractAndClient = async () => { + const privKey = CryptoUtils.generatePrivateKey() + const client = createTestClient() + const from = LocalAddress.fromPublicKey(CryptoUtils.publicKeyFromPrivateKey(privKey)).toString() + const loomProvider = new LoomProvider(client, privKey) + const web3 = new Web3(loomProvider) + + const contractData = + '0x608060405234801561001057600080fd5b50600a60008190555061010e806100286000396000f3006080604052600436106049576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806360fe47b114604e5780636d4ce63c146078575b600080fd5b348015605957600080fd5b5060766004803603810190808035906020019092919050505060a0565b005b348015608357600080fd5b50608a60d9565b6040518082815260200191505060405180910390f35b806000819055506000547fb922f092a64f1a076de6f21e4d7c6400b6e55791cc935e7bb8e7e90f7652f15b60405160405180910390a250565b600080549050905600a165627a7a72305820b76f6c855a1f95260fc70490b16774074225da52ea165a58e95eb7a72a59d1700029' + + const ABI = [ + { + constant: false, + inputs: [{ name: '_value', type: 'uint256' }], + name: 'set', + outputs: [], + payable: false, + stateMutability: 'nonpayable', + type: 'function' + }, + { + constant: true, + inputs: [], + name: 'get', + outputs: [{ name: '', type: 'uint256' }], + payable: false, + stateMutability: 'view', + type: 'function' + }, + { inputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor' }, + { + anonymous: false, + inputs: [{ indexed: true, name: '_value', type: 'uint256' }], + name: 'NewValueSet', + type: 'event' + } + ] + + const result = await deployContract(loomProvider, contractData) + + const contract = new web3.eth.Contract(ABI, result.contractAddress, { from }) + + return { + contract, + client + } +} + +test('LoomProvider + Web3 past events', async t => { + try { + const { contract, client } = await newContractAndClient() + const numEvents = 5 + + for (let v = 1; v <= numEvents; v++) { + const tx = await contract.methods.set(v).send() + t.equal(tx.status, true, `SimpleStore.set should return correct status for ${v}`) + + const resultOfGet = await contract.methods.get().call() + t.equal(+resultOfGet, v, `SimpleStore.get should return correct value for ${v}`) + } + + await waitForMillisecondsAsync(2000) + + contract.getPastEvents( + { + fromBlock: 0, + toBlock: 'latest' + }, + (_err: Error, events: any) => { + t.assert( + events.every((event: any) => event.event === 'NewValueSet'), + `NewValueSet in ${numEvents} events` + ) + t.equal(events.length, numEvents, `Should have ${numEvents} events registered`) + } + ) + + await waitForMillisecondsAsync(2000) + + client.disconnect() + } catch (err) { + console.log(err) + } + + t.end() +}) diff --git a/src/tests/e2e_tests.ts b/src/tests/e2e_tests.ts index 26797d18..9ba3c2b0 100644 --- a/src/tests/e2e_tests.ts +++ b/src/tests/e2e_tests.ts @@ -14,4 +14,5 @@ import './e2e/loom-provider-eth-filters' import './e2e/loom-provider-eth-filters-2' import './e2e/loom-provider-subscribe' import './e2e/coin-tests' -import './e2e/dpos-tests' \ No newline at end of file +import './e2e/dpos-tests' +import './e2e/loom-provider-web3-pastevents' From 84b11ec14913eb14bb5ea63eed7fca455969a732 Mon Sep 17 00:00:00 2001 From: Eduardo Nunes Pereira Date: Wed, 29 Aug 2018 12:15:10 -0300 Subject: [PATCH 2/9] Testing past events with ganache too --- .../e2e/loom-provider-web3-pastevents.ts | 203 ++++++++++++------ src/tests/e2e_tests.ts | 34 +-- 2 files changed, 150 insertions(+), 87 deletions(-) diff --git a/src/tests/e2e/loom-provider-web3-pastevents.ts b/src/tests/e2e/loom-provider-web3-pastevents.ts index a4bdb6a3..80098ea2 100644 --- a/src/tests/e2e/loom-provider-web3-pastevents.ts +++ b/src/tests/e2e/loom-provider-web3-pastevents.ts @@ -1,4 +1,4 @@ -import test from 'tape' +import test, { Test } from 'tape' import { LocalAddress, CryptoUtils } from '../../index' import { createTestClient, waitForMillisecondsAsync } from '../helpers' @@ -6,119 +6,182 @@ import { createTestClient, waitForMillisecondsAsync } from '../helpers' import { LoomProvider } from '../../loom-provider' import { deployContract } from '../evm-helpers' -// import Web3 from 'web3' const Web3 = require('web3') /** * Requires the SimpleStore solidity contract deployed on a loomchain. * go-loom/examples/plugins/evmexample/contract/SimpleStore.sol * - * pragma solidity ^0.4.22; + * pragma solidity 0.4.24; * - * contract SimpleStore { - * uint value; - * constructor() public { - * value = 10; - * } + * interface ContractB { + * function callEvent(uint256 v) external; + * } * - * event NewValueSet(uint indexed _value); + * contract ContractA { + * event ContractAEvent(uint256 v); * - * function set(uint _value) public { - * value = _value; - * emit NewValueSet(value); + * function doEmit(uint256 _v, address _contractBAddr) public { + * emit ContractAEvent(_v); + * ContractB(_contractBAddr).callEvent(_v); * } + * } + * + * pragma solidity 0.4.24; * - * function get() public view returns (uint) { - * return value; + * contract ContractB { + * event ContractBEvent(uint256 v); + * + * function callEvent(uint256 _v) public { + * emit ContractBEvent(_v); * } * } * - * */ -const newContractAndClient = async () => { - const privKey = CryptoUtils.generatePrivateKey() - const client = createTestClient() - const from = LocalAddress.fromPublicKey(CryptoUtils.publicKeyFromPrivateKey(privKey)).toString() - const loomProvider = new LoomProvider(client, privKey) - const web3 = new Web3(loomProvider) +function contractABIAndBinary() { + const contractBData = + '6080604052348015600f57600080fd5b5060db8061001e6000396000f300608060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063f88d0dfc146044575b600080fd5b348015604f57600080fd5b50606c60048036038101908080359060200190929190505050606e565b005b806000819055507f8611c0f1e10aa104c81817ff1befe6e3677acee7991f16f99a8c375ca0793120816040518082815260200191505060405180910390a1505600a165627a7a723058203819249ad266695de9c923df5f4b3d2b244d3f6ba4297db60b92c4955bec2c230029' - const contractData = - '0x608060405234801561001057600080fd5b50600a60008190555061010e806100286000396000f3006080604052600436106049576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806360fe47b114604e5780636d4ce63c146078575b600080fd5b348015605957600080fd5b5060766004803603810190808035906020019092919050505060a0565b005b348015608357600080fd5b50608a60d9565b6040518082815260200191505060405180910390f35b806000819055506000547fb922f092a64f1a076de6f21e4d7c6400b6e55791cc935e7bb8e7e90f7652f15b60405160405180910390a250565b600080549050905600a165627a7a72305820b76f6c855a1f95260fc70490b16774074225da52ea165a58e95eb7a72a59d1700029' + const contractAData = + '608060405234801561001057600080fd5b50610181806100206000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063a045846314610046575b600080fd5b34801561005257600080fd5b5061009160048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610093565b005b7fbb6ecd3f0ef42d655786d77b262f49bee128d78f171832c1ea73b1383674c23a826040518082815260200191505060405180910390a18073ffffffffffffffffffffffffffffffffffffffff1663f88d0dfc836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b15801561013957600080fd5b505af115801561014d573d6000803e3d6000fd5b5050505050505600a165627a7a72305820101762f1d82f0bc7e12cf1b12098f2dfda892ad477dfd98760c2efab436ae3600029' - const ABI = [ + const ABIContractB = [ { constant: false, - inputs: [{ name: '_value', type: 'uint256' }], - name: 'set', + inputs: [{ name: '_v', type: 'uint256' }], + name: 'callEvent', outputs: [], payable: false, stateMutability: 'nonpayable', type: 'function' }, { - constant: true, - inputs: [], - name: 'get', - outputs: [{ name: '', type: 'uint256' }], + anonymous: false, + inputs: [{ indexed: false, name: 'v', type: 'uint256' }], + name: 'ContractBEvent', + type: 'event' + } + ] + + const ABIContractA = [ + { + constant: false, + inputs: [{ name: '_v', type: 'uint256' }, { name: '_contractBAddr', type: 'address' }], + name: 'doEmit', + outputs: [], payable: false, - stateMutability: 'view', + stateMutability: 'nonpayable', type: 'function' }, - { inputs: [], payable: false, stateMutability: 'nonpayable', type: 'constructor' }, { anonymous: false, - inputs: [{ indexed: true, name: '_value', type: 'uint256' }], - name: 'NewValueSet', + inputs: [{ indexed: false, name: 'v', type: 'uint256' }], + name: 'ContractAEvent', type: 'event' } ] - const result = await deployContract(loomProvider, contractData) - - const contract = new web3.eth.Contract(ABI, result.contractAddress, { from }) - - return { - contract, - client - } + return { contractBData, contractAData, ABIContractB, ABIContractA } } -test('LoomProvider + Web3 past events', async t => { +async function testContracts(t: Test, contractB: any, contractA: any) { try { - const { contract, client } = await newContractAndClient() - const numEvents = 5 + const value = 5 - for (let v = 1; v <= numEvents; v++) { - const tx = await contract.methods.set(v).send() - t.equal(tx.status, true, `SimpleStore.set should return correct status for ${v}`) + let tx = await contractB.methods.callEvent(value).send() + t.equal(tx.status, true, `callEvent should return correct status for ${value}`) - const resultOfGet = await contract.methods.get().call() - t.equal(+resultOfGet, v, `SimpleStore.get should return correct value for ${v}`) - } + await waitForMillisecondsAsync(1000) + + contractB.getPastEvents('ContractBEvent', (err: Error, events: any) => { + t.assert(!err) + const [event] = events + t.equal(+event.returnValues.v, value, `Should return value ${value}`) + }) + + tx = await contractA.methods.doEmit(value, contractB.options.address).send() + t.equal(tx.status, true, `doEmit should return correct status for ${value}`) + + await waitForMillisecondsAsync(1000) + + contractA.getPastEvents('ContractAEvent', (err: Error, events: any) => { + t.assert(!err) + const [event] = events + t.equal(+event.returnValues.v, value, `Should return value ${value}`) + }) - await waitForMillisecondsAsync(2000) - - contract.getPastEvents( - { - fromBlock: 0, - toBlock: 'latest' - }, - (_err: Error, events: any) => { - t.assert( - events.every((event: any) => event.event === 'NewValueSet'), - `NewValueSet in ${numEvents} events` - ) - t.equal(events.length, numEvents, `Should have ${numEvents} events registered`) - } - ) - - await waitForMillisecondsAsync(2000) - - client.disconnect() + await waitForMillisecondsAsync(1000) } catch (err) { console.log(err) } +} + +async function deployContractGanache(web3Provider: any, contractData: string) { + const web3 = new Web3(web3Provider) + const fromAddr = '0x90f8bf6a479f320ead074411a4b0e7944ea8c9c1' + + const ethSendTransactionDeployResult = await web3.eth.sendTransaction({ + from: fromAddr, + data: contractData, + gas: '300000', + gasPrice: '0x1' + }) + + if (!ethSendTransactionDeployResult.status) { + throw Error('Cant deploy contract on ganache') + } + + const ethGetTransactionReceiptResult = await web3.eth.getTransactionReceipt( + ethSendTransactionDeployResult.transactionHash + ) + + return ethGetTransactionReceiptResult +} + +async function testGanache(t: Test) { + const from = '0x90f8bf6a479f320ead074411a4b0e7944ea8c9c1' + + const websocketProvider = new Web3.providers.WebsocketProvider('ws://127.0.0.1:8545') + const web3 = new Web3(websocketProvider) + + const { contractBData, contractAData, ABIContractB, ABIContractA } = contractABIAndBinary() + + const resultB = await deployContractGanache(websocketProvider, contractBData) + const resultA = await deployContractGanache(websocketProvider, contractAData) + + const contractB = new web3.eth.Contract(ABIContractB, resultB.contractAddress, { from }) + const contractA = new web3.eth.Contract(ABIContractA, resultA.contractAddress, { from }) + + t.comment('Testing Ganache') + await testContracts(t, contractB, contractA) + + web3.currentProvider.connection.close() +} + +async function testLoomProvider(t: Test) { + const privKey = CryptoUtils.generatePrivateKey() + const client = createTestClient() + const from = LocalAddress.fromPublicKey(CryptoUtils.publicKeyFromPrivateKey(privKey)).toString() + const loomProvider = new LoomProvider(client, privKey) + const web3 = new Web3(loomProvider) + + const { contractBData, contractAData, ABIContractB, ABIContractA } = contractABIAndBinary() + + const resultB = await deployContract(loomProvider, contractBData) + const resultA = await deployContract(loomProvider, contractAData) + + const contractB = new web3.eth.Contract(ABIContractB, resultB.contractAddress, { from }) + const contractA = new web3.eth.Contract(ABIContractA, resultA.contractAddress, { from }) + + t.comment('Testing Loom Provider') + await testContracts(t, contractB, contractA) + + client.disconnect() +} +test('Test Web3 + PastEvents', async t => { + await testGanache(t) + await testLoomProvider(t) t.end() }) diff --git a/src/tests/e2e_tests.ts b/src/tests/e2e_tests.ts index 9ba3c2b0..8c872c23 100644 --- a/src/tests/e2e_tests.ts +++ b/src/tests/e2e_tests.ts @@ -1,18 +1,18 @@ -import './e2e/ws-rpc-client-tests' -import './e2e/client-tests' -import './e2e/client-evm-tests' -import './e2e/client-evm-event-tests' -import './e2e/client-evm-event-tests-2' -import './e2e/contract-tests' -import './e2e/evm-contract-tests' -import './e2e/address-mapper-tests' -import './e2e/multiple-events-nd-tests' -import './e2e/loom-provider-web3-tests' -import './e2e/loom-provider-tests' -import './e2e/loom-provider-eth-get-logs' -import './e2e/loom-provider-eth-filters' -import './e2e/loom-provider-eth-filters-2' -import './e2e/loom-provider-subscribe' -import './e2e/coin-tests' -import './e2e/dpos-tests' +// import './e2e/ws-rpc-client-tests' +// import './e2e/client-tests' +// import './e2e/client-evm-tests' +// import './e2e/client-evm-event-tests' +// import './e2e/client-evm-event-tests-2' +// import './e2e/contract-tests' +// import './e2e/evm-contract-tests' +// import './e2e/address-mapper-tests' +// import './e2e/multiple-events-nd-tests' +// import './e2e/loom-provider-web3-tests' +// import './e2e/loom-provider-tests' +// import './e2e/loom-provider-eth-get-logs' +// import './e2e/loom-provider-eth-filters' +// import './e2e/loom-provider-eth-filters-2' +// import './e2e/loom-provider-subscribe' +// import './e2e/coin-tests' +// import './e2e/dpos-tests' import './e2e/loom-provider-web3-pastevents' From 0d837e7fa31e1214db06bf6fb61f917ecaf111f4 Mon Sep 17 00:00:00 2001 From: Eduardo Nunes Pereira Date: Wed, 29 Aug 2018 13:19:53 -0300 Subject: [PATCH 3/9] Test updated with the error --- src/tests/e2e/loom-provider-web3-pastevents.ts | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/tests/e2e/loom-provider-web3-pastevents.ts b/src/tests/e2e/loom-provider-web3-pastevents.ts index 80098ea2..2cd20e6e 100644 --- a/src/tests/e2e/loom-provider-web3-pastevents.ts +++ b/src/tests/e2e/loom-provider-web3-pastevents.ts @@ -89,23 +89,19 @@ async function testContracts(t: Test, contractB: any, contractA: any) { try { const value = 5 - let tx = await contractB.methods.callEvent(value).send() - t.equal(tx.status, true, `callEvent should return correct status for ${value}`) + let tx = await contractA.methods.doEmit(value, contractB.options.address).send() + t.equal(tx.status, true, `doEmit should return correct status for ${value}`) await waitForMillisecondsAsync(1000) - contractB.getPastEvents('ContractBEvent', (err: Error, events: any) => { + contractA.getPastEvents('ContractAEvent', (err: Error, events: any) => { t.assert(!err) const [event] = events t.equal(+event.returnValues.v, value, `Should return value ${value}`) }) - tx = await contractA.methods.doEmit(value, contractB.options.address).send() - t.equal(tx.status, true, `doEmit should return correct status for ${value}`) - - await waitForMillisecondsAsync(1000) - - contractA.getPastEvents('ContractAEvent', (err: Error, events: any) => { + // Should not Work + contractB.getPastEvents('ContractBEvent', (err: Error, events: any) => { t.assert(!err) const [event] = events t.equal(+event.returnValues.v, value, `Should return value ${value}`) From ec35a8828ab5afc67a74fe2961ccbc75c4c265e4 Mon Sep 17 00:00:00 2001 From: Eduardo Nunes Pereira Date: Wed, 29 Aug 2018 13:30:49 -0300 Subject: [PATCH 4/9] Adding another assert --- src/tests/e2e/loom-provider-web3-pastevents.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/tests/e2e/loom-provider-web3-pastevents.ts b/src/tests/e2e/loom-provider-web3-pastevents.ts index 2cd20e6e..b48ef9c5 100644 --- a/src/tests/e2e/loom-provider-web3-pastevents.ts +++ b/src/tests/e2e/loom-provider-web3-pastevents.ts @@ -96,6 +96,7 @@ async function testContracts(t: Test, contractB: any, contractA: any) { contractA.getPastEvents('ContractAEvent', (err: Error, events: any) => { t.assert(!err) + t.assert(events.length > 0, 'should have at least one event') const [event] = events t.equal(+event.returnValues.v, value, `Should return value ${value}`) }) @@ -103,6 +104,7 @@ async function testContracts(t: Test, contractB: any, contractA: any) { // Should not Work contractB.getPastEvents('ContractBEvent', (err: Error, events: any) => { t.assert(!err) + t.assert(events.length > 0, 'Should have at least one event') const [event] = events t.equal(+event.returnValues.v, value, `Should return value ${value}`) }) From 009d9a3663c31c05de042f5747ba0e8afc0f08d0 Mon Sep 17 00:00:00 2001 From: Eduardo Pereira Date: Wed, 12 Dec 2018 11:57:04 -0200 Subject: [PATCH 5/9] Testing fixes on travis --- .travis_e2e_test.sh | 2 +- e2e_tests.sh | 3 +++ src/tests/e2e/loom-provider-web3-pastevents.ts | 10 +++++++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.travis_e2e_test.sh b/.travis_e2e_test.sh index ecf50c69..d316cbfb 100755 --- a/.travis_e2e_test.sh +++ b/.travis_e2e_test.sh @@ -4,7 +4,7 @@ set -euxo pipefail eval "$(GIMME_GO_VERSION=1.10.2 gimme)" -export BUILD_NUMBER=607 +export BUILD_NUMBER=651 bash e2e_tests.sh bash e2e_plasma_cash_test.sh diff --git a/e2e_tests.sh b/e2e_tests.sh index 26183e3f..c0a288d0 100755 --- a/e2e_tests.sh +++ b/e2e_tests.sh @@ -37,6 +37,7 @@ setup_weave_blueprint() { cd $LOOM_DIR git clone https://github.com/loomnetwork/weave-blueprint.git cd weave-blueprint + git checkout fix-go-plugin LOOM_BLUEPRINT_DIR=`pwd` make deps make @@ -60,6 +61,8 @@ start_chains() { sleep 5 $LOOM_BIN deploy -a public_key_acc_1 -k private_key_acc_1 -n SimpleStore -b ./SimpleStore.bin + + sleep 5 } stop_chains() { diff --git a/src/tests/e2e/loom-provider-web3-pastevents.ts b/src/tests/e2e/loom-provider-web3-pastevents.ts index b48ef9c5..be139152 100644 --- a/src/tests/e2e/loom-provider-web3-pastevents.ts +++ b/src/tests/e2e/loom-provider-web3-pastevents.ts @@ -90,7 +90,11 @@ async function testContracts(t: Test, contractB: any, contractA: any) { const value = 5 let tx = await contractA.methods.doEmit(value, contractB.options.address).send() - t.equal(tx.status, true, `doEmit should return correct status for ${value}`) + t.equal( + tx.status === '0x1' ? true : tx.status, + true, + `doEmit should return correct status for ${value}` + ) await waitForMillisecondsAsync(1000) @@ -117,7 +121,7 @@ async function testContracts(t: Test, contractB: any, contractA: any) { async function deployContractGanache(web3Provider: any, contractData: string) { const web3 = new Web3(web3Provider) - const fromAddr = '0x90f8bf6a479f320ead074411a4b0e7944ea8c9c1' + const fromAddr = '0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1' const ethSendTransactionDeployResult = await web3.eth.sendTransaction({ from: fromAddr, @@ -138,7 +142,7 @@ async function deployContractGanache(web3Provider: any, contractData: string) { } async function testGanache(t: Test) { - const from = '0x90f8bf6a479f320ead074411a4b0e7944ea8c9c1' + const from = '0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1' const websocketProvider = new Web3.providers.WebsocketProvider('ws://127.0.0.1:8545') const web3 = new Web3(websocketProvider) From 5e856ef92a22002acdba0b31a1f1db276a30be41 Mon Sep 17 00:00:00 2001 From: Eduardo Pereira Date: Fri, 14 Dec 2018 11:48:21 -0200 Subject: [PATCH 6/9] Updated weave-blueprint repo target --- e2e_tests.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/e2e_tests.sh b/e2e_tests.sh index c0a288d0..7986cc53 100755 --- a/e2e_tests.sh +++ b/e2e_tests.sh @@ -37,7 +37,6 @@ setup_weave_blueprint() { cd $LOOM_DIR git clone https://github.com/loomnetwork/weave-blueprint.git cd weave-blueprint - git checkout fix-go-plugin LOOM_BLUEPRINT_DIR=`pwd` make deps make From 2a9b2d266e9bf458be2fb9974733d62a3637610d Mon Sep 17 00:00:00 2001 From: Eduardo Pereira Date: Thu, 20 Dec 2018 09:52:54 -0200 Subject: [PATCH 7/9] Bump build --- .travis_e2e_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis_e2e_test.sh b/.travis_e2e_test.sh index 8618512c..4b16f17e 100755 --- a/.travis_e2e_test.sh +++ b/.travis_e2e_test.sh @@ -4,7 +4,7 @@ set -euxo pipefail eval "$(GIMME_GO_VERSION=1.10.2 gimme)" -export BUILD_NUMBER=653 +export BUILD_NUMBER=690 bash e2e_tests.sh bash e2e_plasma_cash_test.sh From 990df4c928cb63db98818fcdc534d90052273dd1 Mon Sep 17 00:00:00 2001 From: Eduardo Pereira Date: Thu, 10 Oct 2019 16:37:06 -0300 Subject: [PATCH 8/9] Test only one test --- src/tests/e2e/loom-provider-web3-pastevents.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/tests/e2e/loom-provider-web3-pastevents.ts b/src/tests/e2e/loom-provider-web3-pastevents.ts index be139152..55776bbe 100644 --- a/src/tests/e2e/loom-provider-web3-pastevents.ts +++ b/src/tests/e2e/loom-provider-web3-pastevents.ts @@ -89,6 +89,8 @@ async function testContracts(t: Test, contractB: any, contractA: any) { try { const value = 5 + await waitForMillisecondsAsync(2000) + let tx = await contractA.methods.doEmit(value, contractB.options.address).send() t.equal( tx.status === '0x1' ? true : tx.status, @@ -182,7 +184,7 @@ async function testLoomProvider(t: Test) { client.disconnect() } -test('Test Web3 + PastEvents', async t => { +test.only('Test Web3 + PastEvents', async t => { await testGanache(t) await testLoomProvider(t) t.end() From ed25658e7cc84800a4af440c2c6a1383f7a12425 Mon Sep 17 00:00:00 2001 From: Eduardo Pereira Date: Fri, 11 Oct 2019 08:03:34 -0300 Subject: [PATCH 9/9] Fix past event test --- src/tests/e2e/loom-provider-web3-pastevents.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/tests/e2e/loom-provider-web3-pastevents.ts b/src/tests/e2e/loom-provider-web3-pastevents.ts index 55776bbe..736fbf5b 100644 --- a/src/tests/e2e/loom-provider-web3-pastevents.ts +++ b/src/tests/e2e/loom-provider-web3-pastevents.ts @@ -1,7 +1,7 @@ import test, { Test } from 'tape' import { LocalAddress, CryptoUtils } from '../../index' -import { createTestClient, waitForMillisecondsAsync } from '../helpers' +import { createTestClient, waitForMillisecondsAsync, createWeb3TestClient } from '../helpers' import { LoomProvider } from '../../loom-provider' import { deployContract } from '../evm-helpers' @@ -165,7 +165,7 @@ async function testGanache(t: Test) { async function testLoomProvider(t: Test) { const privKey = CryptoUtils.generatePrivateKey() - const client = createTestClient() + const client = createWeb3TestClient() const from = LocalAddress.fromPublicKey(CryptoUtils.publicKeyFromPrivateKey(privKey)).toString() const loomProvider = new LoomProvider(client, privKey) const web3 = new Web3(loomProvider) @@ -184,7 +184,7 @@ async function testLoomProvider(t: Test) { client.disconnect() } -test.only('Test Web3 + PastEvents', async t => { +test('Test Web3 + PastEvents', async t => { await testGanache(t) await testLoomProvider(t) t.end()