Skip to content

Commit 53324d7

Browse files
committed
test(toolkit): strengthen history assertion with actual-content check
1 parent d6d0f20 commit 53324d7

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

plugins/src/test/java/org/tron/plugins/DbLiteTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.junit.After;
1515
import org.junit.Rule;
1616
import org.junit.rules.TemporaryFolder;
17+
import org.rocksdb.RocksDBException;
1718
import org.tron.api.WalletGrpc;
1819
import org.tron.common.application.Application;
1920
import org.tron.common.application.ApplicationFactory;
@@ -26,6 +27,9 @@
2627
import org.tron.common.utils.Utils;
2728
import org.tron.core.config.DefaultConfig;
2829
import org.tron.core.config.args.Args;
30+
import org.tron.plugins.utils.db.DBInterface;
31+
import org.tron.plugins.utils.db.DBIterator;
32+
import org.tron.plugins.utils.db.DbTool;
2933
import picocli.CommandLine;
3034

3135
@Slf4j
@@ -141,6 +145,10 @@ public void testTools(String dbType, int checkpointVersion, boolean advanceSnaps
141145
Path historyDir = Paths.get(dbPath, "history");
142146
assertTrue(historyDir.resolve("balance-trace").toFile().exists());
143147
assertTrue(historyDir.resolve("account-trace").toFile().exists());
148+
if (historyBalanceLookup) {
149+
assertDbHasEntries(historyDir, "balance-trace");
150+
assertDbHasEntries(historyDir, "account-trace");
151+
}
144152
// backup original database to database_bak
145153
File database = new File(Paths.get(dbPath, databaseDir).toString());
146154
if (!database.renameTo(new File(Paths.get(dbPath, databaseDir + "_bak").toString()))) {
@@ -169,6 +177,18 @@ public void testTools(String dbType, int checkpointVersion, boolean advanceSnaps
169177
DbLite.reSetRecentBlks();
170178
}
171179

180+
private static void assertDbHasEntries(Path parent, String dbName) {
181+
try {
182+
DBInterface db = DbTool.getDB(parent.toString(), dbName);
183+
try (DBIterator it = db.iterator()) {
184+
it.seekToFirst();
185+
assertTrue(dbName + " should have at least one entry", it.hasNext());
186+
}
187+
} catch (IOException | RocksDBException e) {
188+
throw new RuntimeException(e);
189+
}
190+
}
191+
172192
private void generateSomeTransactions(int during) {
173193
during *= 1000; // ms
174194
int runTime = 0;

0 commit comments

Comments
 (0)