| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | 
							- // Copyright (C) 2025 The Syncthing Authors.
 
- //
 
- // This Source Code Form is subject to the terms of the Mozilla Public
 
- // License, v. 2.0. If a copy of the MPL was not distributed with this file,
 
- // You can obtain one at https://mozilla.org/MPL/2.0/.
 
- package sqlite
 
- import (
 
- 	"testing"
 
- 	"github.com/syncthing/syncthing/lib/protocol"
 
- )
 
- func TestIndexIDs(t *testing.T) {
 
- 	t.Parallel()
 
- 	db, err := Open(t.TempDir())
 
- 	if err != nil {
 
- 		t.Fatal()
 
- 	}
 
- 	t.Cleanup(func() {
 
- 		if err := db.Close(); err != nil {
 
- 			t.Fatal(err)
 
- 		}
 
- 	})
 
- 	t.Run("LocalDeviceID", func(t *testing.T) {
 
- 		t.Parallel()
 
- 		localID, err := db.GetIndexID("foo", protocol.LocalDeviceID)
 
- 		if err != nil {
 
- 			t.Fatal(err)
 
- 		}
 
- 		if localID == 0 {
 
- 			t.Fatal("should have been generated")
 
- 		}
 
- 		again, err := db.GetIndexID("foo", protocol.LocalDeviceID)
 
- 		if err != nil {
 
- 			t.Fatal(err)
 
- 		}
 
- 		if again != localID {
 
- 			t.Fatal("should get same again")
 
- 		}
 
- 		other, err := db.GetIndexID("bar", protocol.LocalDeviceID)
 
- 		if err != nil {
 
- 			t.Fatal(err)
 
- 		}
 
- 		if other == localID {
 
- 			t.Fatal("should not get same for other folder")
 
- 		}
 
- 	})
 
- 	t.Run("OtherDeviceID", func(t *testing.T) {
 
- 		t.Parallel()
 
- 		localID, err := db.GetIndexID("foo", protocol.DeviceID{42})
 
- 		if err != nil {
 
- 			t.Fatal(err)
 
- 		}
 
- 		if localID != 0 {
 
- 			t.Fatal("should have been zero")
 
- 		}
 
- 		newID := protocol.NewIndexID()
 
- 		if err := db.SetIndexID("foo", protocol.DeviceID{42}, newID); err != nil {
 
- 			t.Fatal(err)
 
- 		}
 
- 		again, err := db.GetIndexID("foo", protocol.DeviceID{42})
 
- 		if err != nil {
 
- 			t.Fatal(err)
 
- 		}
 
- 		if again != newID {
 
- 			t.Log(again, newID)
 
- 			t.Fatal("should get the ID we set")
 
- 		}
 
- 	})
 
- }
 
 
  |