@@ -4,7 +4,10 @@ import (
4
4
"context"
5
5
"fmt"
6
6
"testing"
7
+ "time"
7
8
9
+ "github.com/lightninglabs/lightning-terminal/session"
10
+ "github.com/lightningnetwork/lnd/clock"
8
11
"github.com/stretchr/testify/require"
9
12
)
10
13
@@ -13,14 +16,42 @@ func TestPrivacyMapStorage(t *testing.T) {
13
16
t .Parallel ()
14
17
ctx := context .Background ()
15
18
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 )
18
21
require .NoError (t , err )
19
22
t .Cleanup (func () {
20
23
_ = db .Close ()
21
24
})
22
25
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 )
24
55
25
56
_ = pdb1 .Update (ctx , func (ctx context.Context , tx PrivacyMapTx ) error {
26
57
_ , err = tx .RealToPseudo (ctx , "real" )
@@ -50,7 +81,12 @@ func TestPrivacyMapStorage(t *testing.T) {
50
81
return nil
51
82
})
52
83
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 )
54
90
55
91
_ = pdb2 .Update (ctx , func (ctx context.Context , tx PrivacyMapTx ) error {
56
92
_ , err = tx .RealToPseudo (ctx , "real" )
@@ -80,7 +116,12 @@ func TestPrivacyMapStorage(t *testing.T) {
80
116
return nil
81
117
})
82
118
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 )
84
125
85
126
_ = pdb3 .Update (ctx , func (ctx context.Context , tx PrivacyMapTx ) error {
86
127
// Check that calling FetchAllPairs returns an empty map if
@@ -185,14 +226,19 @@ func TestPrivacyMapTxs(t *testing.T) {
185
226
t .Parallel ()
186
227
ctx := context .Background ()
187
228
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 )
190
231
require .NoError (t , err )
191
232
t .Cleanup (func () {
192
233
_ = db .Close ()
193
234
})
194
235
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 )
196
242
197
243
// Test that if an action fails midway through the transaction, then
198
244
// it is rolled back.
0 commit comments