Skip to content

Commit e070c5a

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

File tree

6 files changed

+185
-25
lines changed

6 files changed

+185
-25
lines changed

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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 52 additions & 7 deletions
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

Lines changed: 70 additions & 10 deletions
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

Lines changed: 58 additions & 5 deletions
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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 3 additions & 1 deletion
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy