go-vise

Constrained Size Output Virtual Machine
Info | Log | Files | Refs | README | LICENSE

dump_test.go (1484B)


      1 package gdbm
      2 
      3 import (
      4 	"bytes"
      5 	"context"
      6 	"io/ioutil"
      7 	"testing"
      8 
      9 	"git.defalsify.org/vise.git/db"
     10 )
     11 
     12 func TestDumpGdbm(t *testing.T) {
     13 	ctx := context.Background()
     14 
     15 	store := NewGdbmDb()
     16 	f, err := ioutil.TempFile("", "vise-db-gdbm-*")
     17 	if err != nil {
     18 		t.Fatal(err)
     19 	}
     20 	err = store.Connect(ctx, f.Name())
     21 	if err != nil {
     22 		t.Fatal(err)
     23 	}
     24 
     25 	store.SetPrefix(db.DATATYPE_USERDATA)
     26 	err = store.Put(ctx, []byte("bar"), []byte("inky"))
     27 	if err != nil {
     28 		t.Fatal(err)
     29 	}
     30 	err = store.Put(ctx, []byte("foobar"), []byte("pinky"))
     31 	if err != nil {
     32 		t.Fatal(err)
     33 	}
     34 	err = store.Put(ctx, []byte("foobarbaz"), []byte("blinky"))
     35 	if err != nil {
     36 		t.Fatal(err)
     37 	}
     38 	err = store.Put(ctx, []byte("xyzzy"), []byte("clyde"))
     39 	if err != nil {
     40 		t.Fatal(err)
     41 	}
     42 
     43 	o, err := store.Dump(ctx, []byte("foo"))
     44 	if err != nil {
     45 		t.Fatal(err)
     46 	}
     47 	k, v := o.Next(ctx)
     48 	//if !bytes.Equal(k, append([]byte{db.DATATYPE_USERDATA}, []byte("foobar")...)) {
     49 	if !bytes.Equal(k, []byte("foobar")) {
     50 		t.Fatalf("expected key 'foobar', got '%s'", k)
     51 	}
     52 	if !bytes.Equal(v, []byte("pinky")) {
     53 		t.Fatalf("expected val 'pinky', got %s", v)
     54 	}
     55 	k, v = o.Next(ctx)
     56 	//if !bytes.Equal(k, append([]byte{db.DATATYPE_USERDATA}, []byte("foobarbaz")...)) {
     57 	if !bytes.Equal(k, []byte("foobarbaz")) {
     58 		t.Fatalf("expected key 'foobarbaz', got %s", k)
     59 	}
     60 	if !bytes.Equal(v, []byte("blinky")) {
     61 		t.Fatalf("expected val 'blinky', got %s", v)
     62 	}
     63 	k, v = o.Next(ctx)
     64 	if k != nil {
     65 		t.Fatalf("expected nil, got %s", k)
     66 	}
     67 }