Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e070c5a

Browse files
committed
Some test improvements
1 parent 3795b6d commit e070c5a

6 files changed

+185
-25
lines changed

‎src/test/java/io/api/etherscan/account/AccountBalanceListTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919
public class AccountBalanceListTest extends Assert {
2020

21-
private final EtherScanApi api = new EtherScanApi();
21+
private EtherScanApi api = new EtherScanApi();
2222

2323
@Test
2424
public void correct() {

‎src/test/java/io/api/etherscan/account/AccountMinedBlocksTest.java

+52-7
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,15 @@
33
import io.api.etherscan.core.impl.EtherScanApi;
44
import io.api.etherscan.error.InvalidAddressException;
55
import io.api.etherscan.model.Block;
6+
import io.api.etherscan.model.EthNetwork;
67
import org.junit.Assert;
78
import org.junit.Test;
9+
import org.junit.runner.RunWith;
10+
import org.junit.runners.Parameterized;
11+
import org.junit.runners.Parameterized.Parameters;
812

13+
import java.util.Arrays;
14+
import java.util.Collection;
915
import java.util.List;
1016

1117
/**
@@ -14,31 +20,70 @@
1420
* @author GoodforGod
1521
* @since 03.11.2018
1622
*/
23+
@RunWith(Parameterized.class)
1724
public class AccountMinedBlocksTest extends Assert {
1825

19-
private final EtherScanApi api = new EtherScanApi();
26+
private EtherScanApi api;
27+
private int blocksMined;
28+
private String addressCorrect;
29+
private String addressInvalid;
30+
private String addressNoResponse;
31+
32+
public AccountMinedBlocksTest(EtherScanApi api,
33+
int blocksMined,
34+
String addressCorrect,
35+
String addressInvalid,
36+
String addressNoResponse) {
37+
this.api = api;
38+
this.blocksMined = blocksMined;
39+
this.addressCorrect = addressCorrect;
40+
this.addressInvalid = addressInvalid;
41+
this.addressNoResponse = addressNoResponse;
42+
}
43+
44+
@Parameters
45+
public static Collection data() {
46+
return Arrays.asList(new Object[][]{
47+
{
48+
new EtherScanApi(),
49+
223,
50+
"0xE4C6175183029A0f039bf2DFffa5C6e8F3cA9B23",
51+
"xE4C6175183029A0f039bf2DFffa5C6e8F3cA9B23",
52+
"0xE1C6175183029A0f039bf2DFffa5C6e8F3cA9B23",
53+
},
54+
{
55+
new EtherScanApi(EthNetwork.ROPSTEN),
56+
1,
57+
"0x0923DafEB5A5d11a83E188d5dbCdEd14f9b161a7",
58+
"00923DafEB5A5d11a83E188d5dbCdEd14f9b161a7",
59+
"0x1923DafEB5A5d11a83E188d5dbCdEd14f9b161a7",
60+
}
61+
// Other netWorks not presented due to 30k+ mined blocks, tests runs forever
62+
});
63+
}
2064

2165
@Test
2266
public void correct() {
23-
List<Block> blocks = api.account().minedBlocks("0xE4C6175183029A0f039bf2DFffa5C6e8F3cA9B23");
67+
List<Block> blocks = api.account().minedBlocks(addressCorrect);
2468
assertNotNull(blocks);
25-
assertEquals(223, blocks.size());
26-
assertTxs(blocks);
69+
70+
assertEquals(blocksMined, blocks.size());
71+
assertBlocks(blocks);
2772
}
2873

2974
@Test(expected = InvalidAddressException.class)
3075
public void invalidParamWithError() {
31-
List<Block> txs = api.account().minedBlocks("0xEC6175183029A0f039bf2DFffa5C6e8F3cA9B23");
76+
List<Block> txs = api.account().minedBlocks(addressInvalid);
3277
}
3378

3479
@Test
3580
public void correctParamWithEmptyExpectedResult() {
36-
List<Block> txs = api.account().minedBlocks("0xE1C6175183029A0f039bf2DFffa5C6e8F3cA9B23");
81+
List<Block> txs = api.account().minedBlocks(addressNoResponse);
3782
assertNotNull(txs);
3883
assertTrue(txs.isEmpty());
3984
}
4085

41-
private void assertTxs(List<Block> blocks) {
86+
private void assertBlocks(List<Block> blocks) {
4287
for (Block block : blocks) {
4388
assertNotEquals(0, block.getBlockNumber());
4489
assertNotNull(block.getBlockReward());

‎src/test/java/io/api/etherscan/account/AccountTokenBalanceTest.java

+70-10
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,88 @@
33
import io.api.etherscan.core.impl.EtherScanApi;
44
import io.api.etherscan.error.InvalidAddressException;
55
import io.api.etherscan.model.Balance;
6+
import io.api.etherscan.model.EthNetwork;
67
import io.api.etherscan.model.TokenBalance;
78
import org.junit.Assert;
89
import org.junit.Test;
10+
import org.junit.runner.RunWith;
11+
import org.junit.runners.Parameterized;
12+
import org.junit.runners.Parameterized.Parameters;
13+
14+
import java.util.Arrays;
15+
import java.util.Collection;
916

1017
/**
1118
* ! NO DESCRIPTION !
1219
*
1320
* @author GoodforGod
1421
* @since 03.11.2018
1522
*/
23+
@RunWith(Parameterized.class)
1624
public class AccountTokenBalanceTest extends Assert {
1725

18-
private final EtherScanApi api = new EtherScanApi();
26+
private EtherScanApi api;
27+
private String contractValid;
28+
private String addressValid;
29+
private String contractInvalid;
30+
private String addressInvalid;
31+
private String addressEmpty;
32+
33+
public AccountTokenBalanceTest(EtherScanApi api,
34+
String contractValid,
35+
String addressValid,
36+
String contractInvalid,
37+
String addressInvalid,
38+
String addressEmpty) {
39+
this.api = api;
40+
this.contractValid = contractValid;
41+
this.addressValid = addressValid;
42+
this.contractInvalid = contractInvalid;
43+
this.addressInvalid = addressInvalid;
44+
this.addressEmpty = addressEmpty;
45+
}
46+
47+
@Parameters
48+
public static Collection data() {
49+
return Arrays.asList(new Object[][]{
50+
{
51+
new EtherScanApi(),
52+
"0x5EaC95ad5b287cF44E058dCf694419333b796123",
53+
"0x5d807e7F124EC2103a59c5249187f772c0b8D6b2",
54+
"0xEaC95ad5b287cF44E058dCf694419333b796123",
55+
"0x5807e7F124EC2103a59c5249187f772c0b8D6b2",
56+
"0x1d807e7F124EC2103a59c5249187f772c0b8D6b2",
57+
},
58+
{
59+
new EtherScanApi(EthNetwork.ROPSTEN),
60+
"0x60a5aa08619bd5f71c6d20bfaefb5ac2c2806745",
61+
"0x0923dafeb5a5d11a83e188d5dbcded14f9b161a7",
62+
"0x0a5aa08619bd5f71c6d20bfaefb5ac2c2806745",
63+
"0x923dafeb5a5d11a83e188d5dbcded14f9b161a7",
64+
"0x1923dafeb5a5d11a83e188d5dbcded14f9b161a7",
65+
},
66+
{
67+
new EtherScanApi(EthNetwork.RINKEBY),
68+
"0xb8b6f3fb67403c90652dc5f085ba4a62ab1ef5ce",
69+
"0x7ffc57839b00206d1ad20c69a1981b489f772031",
70+
"0x8b6f3fb67403c90652dc5f085ba4a62ab1ef5ce",
71+
"0x7fc57839b00206d1ad20c69a1981b489f772031",
72+
"0x1ffc57839b00206d1ad20c69a1981b489f772031",
73+
},
74+
{
75+
new EtherScanApi(EthNetwork.KOVAN),
76+
"0xde0eaa632f071069214f1c1ad7eb609ff8152dfe",
77+
"0x00e6d2b931f55a3f1701c7389d592a7778897879",
78+
"0xd0eaa632f071069214f1c1ad7eb609ff8152dfe",
79+
"0x0e6d2b931f55a3f1701c7389d592a7778897879",
80+
"0x10e6d2b931f55a3f1701c7389d592a7778897879",
81+
},
82+
});
83+
}
1984

2085
@Test
2186
public void correct() {
22-
TokenBalance balance = api.account().balance("0x5d807e7F124EC2103a59c5249187f772c0b8D6b2", "0x5EaC95ad5b287cF44E058dCf694419333b796123");
87+
TokenBalance balance = api.account().balance(addressValid, contractValid);
2388
assertNotNull(balance);
2489
assertNotNull(balance.getWei());
2590
assertNotNull(balance.getAddress());
@@ -29,26 +94,21 @@ public void correct() {
2994

3095
@Test(expected = InvalidAddressException.class)
3196
public void invalidAddressParamWithError() {
32-
Balance balance = api.account().balance("5d807e7F124EC2103a59c5249187f772c0b8D6b2", "0x5EaC95ad5b287cF44E058dCf694419333b796123");
97+
Balance balance = api.account().balance(addressInvalid, contractValid);
3398
}
3499

35100
@Test(expected = InvalidAddressException.class)
36101
public void invalidContractParamWithError() {
37-
Balance balance = api.account().balance("0x5d807e7F124EC2103a59c5249187f772c0b8D6b2", "5EaC95ad5b287cF44E058dCf694419333b796123");
102+
Balance balance = api.account().balance(addressValid, contractInvalid);
38103
}
39104

40105
@Test
41106
public void correctParamWithEmptyExpectedResult() {
42-
TokenBalance balance = api.account().balance("0x5d807e7F124EC2103a51c5249187f772c0b8D6b2", "0x5EaC95ad5b287cF44E058dCf694419333b796123");
107+
TokenBalance balance = api.account().balance(addressEmpty, contractValid);
43108
assertNotNull(balance);
44109
assertNotNull(balance.getWei());
45110
assertNotNull(balance.getAddress());
46111
assertNotNull(balance.getContract());
47112
assertEquals(0, balance.getWei().intValue());
48113
}
49-
50-
@Test
51-
public void errorStatusExpected() {
52-
53-
}
54114
}

‎src/test/java/io/api/etherscan/account/AccountTxInternalByHashTest.java

+58-5
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,17 @@
22

33
import io.api.etherscan.core.impl.EtherScanApi;
44
import io.api.etherscan.error.InvalidTxHashException;
5+
import io.api.etherscan.model.EthNetwork;
56
import io.api.etherscan.model.TxInternal;
67
import io.api.etherscan.util.BasicUtils;
78
import org.junit.Assert;
89
import org.junit.Test;
10+
import org.junit.runner.RunWith;
11+
import org.junit.runners.Parameterized;
12+
import org.junit.runners.Parameterized.Parameters;
913

14+
import java.util.Arrays;
15+
import java.util.Collection;
1016
import java.util.List;
1117

1218
/**
@@ -15,15 +21,62 @@
1521
* @author GoodforGod
1622
* @since 03.11.2018
1723
*/
24+
@RunWith(Parameterized.class)
1825
public class AccountTxInternalByHashTest extends Assert {
1926

20-
private final EtherScanApi api = new EtherScanApi();
27+
private EtherScanApi api;
28+
private int txAmount;
29+
private String validTx;
30+
private String invalidTx;
31+
private String emptyTx;
32+
33+
public AccountTxInternalByHashTest(EtherScanApi api, int txAmount, String validTx, String invalidTx, String emptyTx) {
34+
this.api = api;
35+
this.txAmount = txAmount;
36+
this.validTx = validTx;
37+
this.invalidTx = invalidTx;
38+
this.emptyTx = emptyTx;
39+
}
40+
41+
@Parameters
42+
public static Collection data() {
43+
return Arrays.asList(new Object[][]{
44+
{
45+
new EtherScanApi(),
46+
1,
47+
"0x1b513dd971aad228eb31f54489803639de167309ac72de68ecdaeb022a7ab42b",
48+
"0xb513dd971aad228eb31f54489803639de167309ac72de68ecdaeb022a7ab42b",
49+
"0x2b513dd971aad228eb31f54489803639de167309ac72de68ecdaeb022a7ab42b",
50+
},
51+
{
52+
new EtherScanApi(EthNetwork.ROPSTEN),
53+
1,
54+
"0x8bc5504517d40ad7b4f32d008d82436cc118e856593f61d23c70eec73c10322a",
55+
"0x8c5504517d40ad7b4f32d008d82436cc118e856593f61d23c70eec73c10322a",
56+
"0x7bc5504517d40ad7b4f32d008d82436cc118e856593f61d23c70eec73c10322a",
57+
},
58+
{
59+
new EtherScanApi(EthNetwork.RINKEBY),
60+
10,
61+
"0x4be697e735f594038e2e70e051948896bdfd6193fc399e38d6113e96f96e8567",
62+
"0x4e697e735f594038e2e70e051948896bdfd6193fc399e38d6113e96f96e8567",
63+
"0x3be697e735f594038e2e70e051948896bdfd6193fc399e38d6113e96f96e8567",
64+
},
65+
{
66+
new EtherScanApi(EthNetwork.KOVAN),
67+
1,
68+
"0x3b85c47f2a8c5efd639a85f5233097af834c9ab6ab7965cf7cfc3ab3c8bae285",
69+
"0x385c47f2a8c5efd639a85f5233097af834c9ab6ab7965cf7cfc3ab3c8bae285",
70+
"0x2b85c47f2a8c5efd639a85f5233097af834c9ab6ab7965cf7cfc3ab3c8bae285",
71+
},
72+
});
73+
}
2174

2275
@Test
2376
public void correct() {
24-
List<TxInternal> txs = api.account().txsInternalByHash("0x1b513dd971aad228eb31f54489803639de167309ac72de68ecdaeb022a7ab42b");
77+
List<TxInternal> txs = api.account().txsInternalByHash(validTx);
2578
assertNotNull(txs);
26-
assertEquals(1, txs.size());
79+
assertEquals(txAmount, txs.size());
2780
assertTxs(txs);
2881
assertNotNull(txs.get(0).getFrom());
2982
assertNotNull(txs.get(0).getTimeStamp());
@@ -34,12 +87,12 @@ public void correct() {
3487

3588
@Test(expected = InvalidTxHashException.class)
3689
public void invalidParamWithError() {
37-
List<TxInternal> txs = api.account().txsInternalByHash("01b513dd971aad228eb31f54489803639de167309ac72de68ecdaeb022a7ab42b");
90+
List<TxInternal> txs = api.account().txsInternalByHash(invalidTx);
3891
}
3992

4093
@Test
4194
public void correctParamWithEmptyExpectedResult() {
42-
List<TxInternal> txs = api.account().txsInternalByHash("0x2b513dd971aad228eb31f54489803639de167309ac72de68ecdaeb022a7ab42b");
95+
List<TxInternal> txs = api.account().txsInternalByHash(emptyTx);
4396
assertNotNull(txs);
4497
assertTrue(txs.isEmpty());
4598
}

‎src/test/java/io/api/etherscan/account/AccountTxInternalTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
*/
1717
public class AccountTxInternalTest extends Assert {
1818

19-
private final EtherScanApi api = new EtherScanApi();
19+
private EtherScanApi api = new EtherScanApi();
2020

2121
@Test
2222
public void correct() {

‎src/test/java/io/api/etherscan/proxy/ProxyTxSendRawApiTest.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import io.api.etherscan.error.EtherScanException;
55
import io.api.etherscan.error.InvalidDataHexException;
66
import org.junit.Assert;
7+
import org.junit.Ignore;
78
import org.junit.Test;
89

910
import java.util.Optional;
@@ -14,7 +15,8 @@
1415
* @author GoodforGod
1516
* @since 03.11.2018
1617
*/
17-
//TODO contact etherscan and ask about methods
18+
@Ignore
19+
//TODO contact etherscan and ask about method behavior
1820
public class ProxyTxSendRawApiTest extends Assert {
1921

2022
private final EtherScanApi api = new EtherScanApi();

0 commit comments

Comments
 (0)