From e6b5fdc30e0398dfe0c08355babf397fb8bfc470 Mon Sep 17 00:00:00 2001 From: Ben Johnson Date: Fri, 11 Apr 2014 13:23:11 -0600 Subject: Add import/export to CLI. This commit adds two new commands: bolt import --input INPUT PATH bolt export PATH This exports the database in a simple, nested, key/value JSON document. Each node in the document has a "key", a "value", and an optional "type". The key and value fields are both base64 encoded. --- cmd/bolt/keys_test.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'cmd/bolt/keys_test.go') diff --git a/cmd/bolt/keys_test.go b/cmd/bolt/keys_test.go index c426836..ea530f6 100644 --- a/cmd/bolt/keys_test.go +++ b/cmd/bolt/keys_test.go @@ -11,7 +11,7 @@ import ( // Ensure that a list of keys can be retrieved for a given bucket. func TestKeys(t *testing.T) { SetTestMode(true) - open(func(db *bolt.DB) { + open(func(db *bolt.DB, path string) { db.Update(func(tx *bolt.Tx) error { tx.CreateBucket("widgets") tx.Bucket("widgets").Put([]byte("0002"), []byte("")) @@ -19,7 +19,8 @@ func TestKeys(t *testing.T) { tx.Bucket("widgets").Put([]byte("0003"), []byte("")) return nil }) - output := run("keys", db.Path(), "widgets") + db.Close() + output := run("keys", path, "widgets") assert.Equal(t, "0001\n0002\n0003", output) }) } @@ -34,8 +35,9 @@ func TestKeysDBNotFound(t *testing.T) { // Ensure that an error is reported if the bucket is not found. func TestKeysBucketNotFound(t *testing.T) { SetTestMode(true) - open(func(db *bolt.DB) { - output := run("keys", db.Path(), "widgets") + open(func(db *bolt.DB, path string) { + db.Close() + output := run("keys", path, "widgets") assert.Equal(t, "bucket not found: widgets", output) }) } -- cgit v1.2.3