]> Sergey Matveev's repositories - btrtrc.git/blob - storage/bolt-piece-completion_test.go
Don't set the page size by default
[btrtrc.git] / storage / bolt-piece-completion_test.go
1 package storage
2
3 import (
4         "io/ioutil"
5         "os"
6         "testing"
7
8         "github.com/stretchr/testify/assert"
9         "github.com/stretchr/testify/require"
10
11         "github.com/anacrolix/torrent/metainfo"
12 )
13
14 func TestBoltPieceCompletion(t *testing.T) {
15         td, err := ioutil.TempDir("", "")
16         require.NoError(t, err)
17         defer os.RemoveAll(td)
18
19         pc, err := NewBoltPieceCompletion(td)
20         require.NoError(t, err)
21         defer pc.Close()
22
23         pk := metainfo.PieceKey{}
24
25         b, err := pc.Get(pk)
26         require.NoError(t, err)
27         assert.False(t, b.Ok)
28
29         require.NoError(t, pc.Set(pk, false))
30
31         b, err = pc.Get(pk)
32         require.NoError(t, err)
33         assert.Equal(t, Completion{Complete: false, Ok: true}, b)
34
35         require.NoError(t, pc.Set(pk, true))
36
37         b, err = pc.Get(pk)
38         require.NoError(t, err)
39         assert.Equal(t, Completion{Complete: true, Ok: true}, b)
40 }