mirror of
https://github.com/aljazceru/ark.git
synced 2025-12-17 12:14:21 +01:00
* Update protos * Update handlers * Support macaroons and TLS * Add arkd cli * Minor fixes * Update deps * Fixes * Update makefile * Fixes * Fix * Fix * Fix * Remove trusted onboarding from client * Completely remove trusted onboarding * Fix compose files and add --no-macaroon flag to arkd cli * Lint * Remove e2e for trusted onboarding * Add sleep time
50 lines
1.2 KiB
Go
50 lines
1.2 KiB
Go
package kvdb
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/btcsuite/btcwallet/walletdb"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func testTxManualCommit(t *testing.T, db walletdb.DB) {
|
|
tx, err := db.BeginReadWriteTx()
|
|
require.NoError(t, err)
|
|
require.NotNil(t, tx)
|
|
|
|
committed := false
|
|
|
|
tx.OnCommit(func() {
|
|
committed = true
|
|
})
|
|
|
|
apple, err := tx.CreateTopLevelBucket([]byte("apple"))
|
|
require.NoError(t, err)
|
|
require.NotNil(t, apple)
|
|
require.NoError(t, apple.Put([]byte("testKey"), []byte("testVal")))
|
|
|
|
banana, err := tx.CreateTopLevelBucket([]byte("banana"))
|
|
require.NoError(t, err)
|
|
require.NotNil(t, banana)
|
|
require.NoError(t, banana.Put([]byte("testKey"), []byte("testVal")))
|
|
require.NoError(t, tx.DeleteTopLevelBucket([]byte("banana")))
|
|
|
|
require.NoError(t, tx.Commit())
|
|
require.True(t, committed)
|
|
}
|
|
|
|
func testTxRollback(t *testing.T, db walletdb.DB) {
|
|
tx, err := db.BeginReadWriteTx()
|
|
require.Nil(t, err)
|
|
require.NotNil(t, tx)
|
|
|
|
apple, err := tx.CreateTopLevelBucket([]byte("apple"))
|
|
require.Nil(t, err)
|
|
require.NotNil(t, apple)
|
|
|
|
require.NoError(t, apple.Put([]byte("testKey"), []byte("testVal")))
|
|
|
|
require.NoError(t, tx.Rollback())
|
|
require.Error(t, walletdb.ErrTxClosed, tx.Commit())
|
|
}
|