@@ -4,7 +4,10 @@ import (
44 "context"
55 "fmt"
66 "testing"
7+ "time"
78
9+ "github.com/lightninglabs/lightning-terminal/session"
10+ "github.com/lightningnetwork/lnd/clock"
811 "github.com/stretchr/testify/require"
912)
1013
@@ -13,14 +16,42 @@ func TestPrivacyMapStorage(t *testing.T) {
1316 t .Parallel ()
1417 ctx := context .Background ()
1518
16- tmpDir := t . TempDir ( )
17- db , err := NewBoltDB (tmpDir , "test.db" , nil )
19+ sessions := session . NewTestDB ( t , clock . NewDefaultClock () )
20+ db , err := NewBoltDB (t . TempDir () , "test.db" , sessions )
1821 require .NoError (t , err )
1922 t .Cleanup (func () {
2023 _ = db .Close ()
2124 })
2225
23- pdb1 := db .PrivacyDB ([4 ]byte {1 , 1 , 1 , 1 })
26+ // First up, let's test that the correct error is returned if an
27+ // attempt is made to write to a privacy map that is not linked to
28+ // an existing session group.
29+ pdb := db .PrivacyDB (session.ID {1 , 2 , 3 , 4 })
30+ err = pdb .Update (ctx ,
31+ func (ctx context.Context , tx PrivacyMapTx ) error {
32+ _ , err := tx .RealToPseudo (ctx , "real" )
33+ require .ErrorIs (t , err , session .ErrUnknownGroup )
34+
35+ _ , err = tx .PseudoToReal (ctx , "pseudo" )
36+ require .ErrorIs (t , err , session .ErrUnknownGroup )
37+
38+ err = tx .NewPair (ctx , "real" , "pseudo" )
39+ require .ErrorIs (t , err , session .ErrUnknownGroup )
40+
41+ _ , err = tx .FetchAllPairs (ctx )
42+ require .ErrorIs (t , err , session .ErrUnknownGroup )
43+
44+ return nil
45+ },
46+ )
47+ require .NoError (t , err )
48+
49+ sess , err := sessions .NewSession (
50+ ctx , "test" , session .TypeAutopilot , time .Unix (1000 , 0 ), "" ,
51+ )
52+ require .NoError (t , err )
53+
54+ pdb1 := db .PrivacyDB (sess .GroupID )
2455
2556 _ = pdb1 .Update (ctx , func (ctx context.Context , tx PrivacyMapTx ) error {
2657 _ , err = tx .RealToPseudo (ctx , "real" )
@@ -50,7 +81,12 @@ func TestPrivacyMapStorage(t *testing.T) {
5081 return nil
5182 })
5283
53- pdb2 := db .PrivacyDB ([4 ]byte {2 , 2 , 2 , 2 })
84+ sess2 , err := sessions .NewSession (
85+ ctx , "test" , session .TypeAutopilot , time .Unix (1000 , 0 ), "" ,
86+ )
87+ require .NoError (t , err )
88+
89+ pdb2 := db .PrivacyDB (sess2 .GroupID )
5490
5591 _ = pdb2 .Update (ctx , func (ctx context.Context , tx PrivacyMapTx ) error {
5692 _ , err = tx .RealToPseudo (ctx , "real" )
@@ -80,7 +116,12 @@ func TestPrivacyMapStorage(t *testing.T) {
80116 return nil
81117 })
82118
83- pdb3 := db .PrivacyDB ([4 ]byte {3 , 3 , 3 , 3 })
119+ sess3 , err := sessions .NewSession (
120+ ctx , "test" , session .TypeAutopilot , time .Unix (1000 , 0 ), "" ,
121+ )
122+ require .NoError (t , err )
123+
124+ pdb3 := db .PrivacyDB (sess3 .GroupID )
84125
85126 _ = pdb3 .Update (ctx , func (ctx context.Context , tx PrivacyMapTx ) error {
86127 // Check that calling FetchAllPairs returns an empty map if
@@ -185,14 +226,19 @@ func TestPrivacyMapTxs(t *testing.T) {
185226 t .Parallel ()
186227 ctx := context .Background ()
187228
188- tmpDir := t . TempDir ( )
189- db , err := NewBoltDB (tmpDir , "test.db" , nil )
229+ sessions := session . NewTestDB ( t , clock . NewDefaultClock () )
230+ db , err := NewBoltDB (t . TempDir () , "test.db" , sessions )
190231 require .NoError (t , err )
191232 t .Cleanup (func () {
192233 _ = db .Close ()
193234 })
194235
195- pdb1 := db .PrivacyDB ([4 ]byte {1 , 1 , 1 , 1 })
236+ sess , err := sessions .NewSession (
237+ ctx , "test" , session .TypeAutopilot , time .Unix (1000 , 0 ), "" ,
238+ )
239+ require .NoError (t , err )
240+
241+ pdb1 := db .PrivacyDB (sess .GroupID )
196242
197243 // Test that if an action fails midway through the transaction, then
198244 // it is rolled back.
0 commit comments