@Test
    public void containsKeyTest() throws Exception {
        final byte[] key = makeKey("contains_key_test");
        Boolean isContains = new SyncKVStore<Boolean>() {
            @Override
            public void execute(RawKVStore kvStore, KVStoreClosure closure) {
                kvStore.containsKey(key, closure);
            }
        }.apply(this.kvStore);
        assertFalse(isContains);

        final byte[] value = makeValue("contains_key_test_value");
        this.kvStore.put(key, value, null);

        isContains = new SyncKVStore<Boolean>() {
            @Override
            public void execute(RawKVStore kvStore, KVStoreClosure closure) {
                kvStore.containsKey(key, closure);
            }
        }.apply(this.kvStore);
        assertTrue(isContains);

        final String snapshotPath = TestUtil.mkTempDir();
        final RocksDBBackupInfo backupInfo = this.kvStore.backupDB(snapshotPath);
        this.kvStore.restoreBackup(snapshotPath, backupInfo);

        isContains = new SyncKVStore<Boolean>() {
            @Override
            public void execute(RawKVStore kvStore, KVStoreClosure closure) {
                kvStore.containsKey(key, closure);
            }
        }.apply(this.kvStore);
        assertTrue(isContains);
    }
Test method: {@link RocksRawKVStore#containsKey(byte[], KVStoreClosure)}
jraft-rheakv/rheakv-core/src/test/java/com/alipay/sofa/jraft/rhea/storage/rocksdb/RocksKVStoreTest.java