Browse Source

Fixed errors of test cases;

tags/1.1.2^2
huanghaiquan 5 years ago
parent
commit
4c5c61e764
2 changed files with 13 additions and 11 deletions
  1. +10
    -9
      source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/ContractInvokingTest.java
  2. +3
    -2
      source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Dataset.java

+ 10
- 9
source/ledger/ledger-core/src/test/java/test/com/jd/blockchain/ledger/core/ContractInvokingTest.java View File

@@ -307,8 +307,8 @@ public class ContractInvokingTest {
0);
assertEquals(0, kv1.getVersion());
assertEquals(0, kv2.getVersion());
assertEquals("V1-0", kv1.getValue());
assertEquals("V2-0", kv2.getValue());
assertEquals("V1-0", kv1.getValue().stringValue());
assertEquals("V2-0", kv2.getValue().stringValue());

// 构建基于接口调用合约的交易请求,用于测试合约调用;
buildBlock(ledgerRepo, ledgerManager, opReg, new TxDefinitor() {
@@ -326,8 +326,8 @@ public class ContractInvokingTest {
kv2 = ledgerRepo.getDataAccountSet().getAccount(kpDataAccount.getAddress()).getDataset().getDataEntry("K2", 1);
assertEquals(1, kv1.getVersion());
assertEquals(1, kv2.getVersion());
assertEquals("V1-1", kv1.getValue());
assertEquals("V2-1", kv2.getValue());
assertEquals("V1-1", kv1.getValue().stringValue());
assertEquals("V2-1", kv2.getValue().stringValue());

// 构建基于接口调用合约的交易请求,用于测试合约调用;
buildBlock(ledgerRepo, ledgerManager, opReg, new TxDefinitor() {
@@ -337,16 +337,17 @@ public class ContractInvokingTest {
contractProxy.testRollbackWhileVersionConfliction(kpDataAccount.getAddress().toBase58(), "K1", "V1-2",
1);
contractProxy.testRollbackWhileVersionConfliction(kpDataAccount.getAddress().toBase58(), "K2", "V2-2",
0);
0);//预期会回滚;
}
});
// 预期数据都能够正常写入
// 预期数据回滚,账本没有发生变更
kv1 = ledgerRepo.getDataAccountSet().getAccount(kpDataAccount.getAddress()).getDataset().getDataEntry("K1", 1);
assertEquals(1, kv1.getVersion());
assertEquals("V1-1", kv1.getValue());
assertEquals("V1-1", kv1.getValue().stringValue());
kv1 = ledgerRepo.getDataAccountSet().getAccount(kpDataAccount.getAddress()).getDataset().getDataEntry("K1", 2);
assertEquals(-1, kv1.getVersion());
assertEquals(null, kv1.getValue());
assertNull(kv1);
kv2 = ledgerRepo.getDataAccountSet().getAccount(kpDataAccount.getAddress()).getDataset().getDataEntry("K2", 1);
assertEquals(1, kv2.getVersion());

}



+ 3
- 2
source/utils/utils-common/src/main/java/com/jd/blockchain/utils/Dataset.java View File

@@ -68,7 +68,7 @@ public interface Dataset<K, V> {
long getVersion(K key);

/**
* Return data entry
* Return the data entry with the specified key;
*
* @param key
* @return Null if the key doesn't exist!
@@ -76,10 +76,11 @@ public interface Dataset<K, V> {
DataEntry<K, V> getDataEntry(K key);

/**
* Return the data entry with the specified key and version;
*
* @param key
* @param version
* @return
* @return Null if the key doesn't exist!
*/
DataEntry<K, V> getDataEntry(K key, long version);



Loading…
Cancel
Save