decred.org/dcrwallet/v3@v3.1.0/wallet/setup_test.go (about)

     1  // Copyright (c) 2018 The Decred developers
     2  // Use of this source code is governed by an ISC
     3  // license that can be found in the LICENSE file.
     4  
     5  package wallet
     6  
     7  import (
     8  	"context"
     9  	"os"
    10  	"testing"
    11  
    12  	_ "decred.org/dcrwallet/v3/wallet/drivers/bdb"
    13  	"decred.org/dcrwallet/v3/wallet/walletdb"
    14  	"github.com/decred/dcrd/chaincfg/v3"
    15  	"github.com/decred/dcrd/dcrutil/v4"
    16  )
    17  
    18  var basicWalletConfig = Config{
    19  	PubPassphrase: []byte(InsecurePubPassphrase),
    20  	GapLimit:      20,
    21  	RelayFee:      dcrutil.Amount(1e5),
    22  	Params:        chaincfg.SimNetParams(),
    23  }
    24  
    25  func testWallet(ctx context.Context, t *testing.T, cfg *Config) (w *Wallet, teardown func()) {
    26  	f, err := os.CreateTemp("", "dcrwallet.testdb")
    27  	if err != nil {
    28  		t.Fatal(err)
    29  	}
    30  	f.Close()
    31  	db, err := walletdb.Create("bdb", f.Name())
    32  	if err != nil {
    33  		t.Fatal(err)
    34  	}
    35  	rm := func() {
    36  		db.Close()
    37  		os.Remove(f.Name())
    38  	}
    39  	err = Create(ctx, opaqueDB{db}, []byte(InsecurePubPassphrase), []byte("private"), nil, cfg.Params)
    40  	if err != nil {
    41  		rm()
    42  		t.Fatal(err)
    43  	}
    44  	cfg.DB = opaqueDB{db}
    45  	w, err = Open(ctx, cfg)
    46  	if err != nil {
    47  		rm()
    48  		t.Fatal(err)
    49  	}
    50  	teardown = func() {
    51  		rm()
    52  	}
    53  	return
    54  }