This breaks out the key generation stuff into a separate type. It's cleaner on its own, and it prepares for future stuff.
This commit is contained in:
@@ -7,7 +7,6 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
@@ -15,58 +14,6 @@ import (
|
||||
"github.com/syncthing/syncthing/lib/protocol"
|
||||
)
|
||||
|
||||
func TestDeviceKey(t *testing.T) {
|
||||
fld := []byte("folder6789012345678901234567890123456789012345678901234567890123")
|
||||
dev := []byte("device67890123456789012345678901")
|
||||
name := []byte("name")
|
||||
|
||||
db := OpenMemory()
|
||||
db.folderIdx.ID(fld)
|
||||
db.deviceIdx.ID(dev)
|
||||
|
||||
key := db.deviceKey(fld, dev, name)
|
||||
|
||||
fld2 := db.deviceKeyFolder(key)
|
||||
if !bytes.Equal(fld2, fld) {
|
||||
t.Errorf("wrong folder %q != %q", fld2, fld)
|
||||
}
|
||||
dev2 := db.deviceKeyDevice(key)
|
||||
if !bytes.Equal(dev2, dev) {
|
||||
t.Errorf("wrong device %q != %q", dev2, dev)
|
||||
}
|
||||
name2 := db.deviceKeyName(key)
|
||||
if !bytes.Equal(name2, name) {
|
||||
t.Errorf("wrong name %q != %q", name2, name)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGlobalKey(t *testing.T) {
|
||||
fld := []byte("folder6789012345678901234567890123456789012345678901234567890123")
|
||||
name := []byte("name")
|
||||
|
||||
db := OpenMemory()
|
||||
db.folderIdx.ID(fld)
|
||||
|
||||
key := db.globalKey(fld, name)
|
||||
|
||||
fld2, ok := db.globalKeyFolder(key)
|
||||
if !ok {
|
||||
t.Error("should have been found")
|
||||
}
|
||||
if !bytes.Equal(fld2, fld) {
|
||||
t.Errorf("wrong folder %q != %q", fld2, fld)
|
||||
}
|
||||
name2 := db.globalKeyName(key)
|
||||
if !bytes.Equal(name2, name) {
|
||||
t.Errorf("wrong name %q != %q", name2, name)
|
||||
}
|
||||
|
||||
_, ok = db.globalKeyFolder([]byte{1, 2, 3, 4, 5})
|
||||
if ok {
|
||||
t.Error("should not have been found")
|
||||
}
|
||||
}
|
||||
|
||||
func TestDropIndexIDs(t *testing.T) {
|
||||
db := OpenMemory()
|
||||
|
||||
@@ -287,11 +234,11 @@ func TestUpdate0to3(t *testing.T) {
|
||||
|
||||
db.updateSchema0to1()
|
||||
|
||||
if _, ok := db.getFile(db.deviceKey(folder, protocol.LocalDeviceID[:], []byte(slashPrefixed))); ok {
|
||||
if _, ok := db.getFile(db.keyer.GenerateDeviceFileKey(nil, folder, protocol.LocalDeviceID[:], []byte(slashPrefixed))); ok {
|
||||
t.Error("File prefixed by '/' was not removed during transition to schema 1")
|
||||
}
|
||||
|
||||
if _, err := db.Get(db.globalKey(folder, []byte(invalid)), nil); err != nil {
|
||||
if _, err := db.Get(db.keyer.GenerateGlobalVersionKey(nil, folder, []byte(invalid)), nil); err != nil {
|
||||
t.Error("Invalid file wasn't added to global list")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user