...

Source file src/github.com/peterbourgon/diskv/v3/import_test.go

Documentation: github.com/peterbourgon/diskv/v3

     1  package diskv_test
     2  
     3  import (
     4  	"bytes"
     5  	"io/ioutil"
     6  	"os"
     7  
     8  	"github.com/peterbourgon/diskv/v3"
     9  
    10  	"testing"
    11  )
    12  
    13  func TestImportMove(t *testing.T) {
    14  	b := []byte(`0123456789`)
    15  	f, err := ioutil.TempFile("", "temp-test")
    16  	if err != nil {
    17  		t.Fatal(err)
    18  	}
    19  	if _, err := f.Write(b); err != nil {
    20  		t.Fatal(err)
    21  	}
    22  	f.Close()
    23  
    24  	d := diskv.New(diskv.Options{
    25  		BasePath: "test-import-move",
    26  	})
    27  	defer d.EraseAll()
    28  
    29  	key := "key"
    30  
    31  	if err := d.Write(key, []byte(`TBD`)); err != nil {
    32  		t.Fatal(err)
    33  	}
    34  
    35  	if err := d.Import(f.Name(), key, true); err != nil {
    36  		t.Fatal(err)
    37  	}
    38  
    39  	if _, err := os.Stat(f.Name()); err == nil || !os.IsNotExist(err) {
    40  		t.Errorf("expected temp file to be gone, but err = %v", err)
    41  	}
    42  
    43  	if !d.Has(key) {
    44  		t.Errorf("%q not present", key)
    45  	}
    46  
    47  	if buf, err := d.Read(key); err != nil || bytes.Compare(b, buf) != 0 {
    48  		t.Errorf("want %q, have %q (err = %v)", string(b), string(buf), err)
    49  	}
    50  }
    51  
    52  func TestImportCopy(t *testing.T) {
    53  	b := []byte(`¡åéîòü!`)
    54  
    55  	f, err := ioutil.TempFile("", "temp-test")
    56  	if err != nil {
    57  		t.Fatal(err)
    58  	}
    59  	if _, err := f.Write(b); err != nil {
    60  		t.Fatal(err)
    61  	}
    62  	f.Close()
    63  
    64  	d := diskv.New(diskv.Options{
    65  		BasePath: "test-import-copy",
    66  	})
    67  	defer d.EraseAll()
    68  
    69  	if err := d.Import(f.Name(), "key", false); err != nil {
    70  		t.Fatal(err)
    71  	}
    72  
    73  	if _, err := os.Stat(f.Name()); err != nil {
    74  		t.Errorf("expected temp file to remain, but got err = %v", err)
    75  	}
    76  }
    77  

View as plain text