@@ -91,32 +91,35 @@ func TestSessionsStoreMigration(t *testing.T) {
9191		populateDB  func (
9292			t  * testing.T , kvStore  * BoltStore ,
9393			accountStore  accounts.Store ,
94- 		)
94+ 		) [] * Session 
9595	}{
9696		{
9797			name : "empty" ,
9898			populateDB : func (t  * testing.T , store  * BoltStore ,
99- 				_  accounts.Store ) {
99+ 				_  accounts.Store ) [] * Session   {
100100
101101				// Don't populate the DB. 
102+ 				return  []* Session {}
102103			},
103104		},
104105		{
105106			name : "one session no options" ,
106107			populateDB : func (t  * testing.T , store  * BoltStore ,
107- 				_  accounts.Store ) {
108+ 				_  accounts.Store ) [] * Session   {
108109
109110				_ , err  :=  store .NewSession (
110111					ctx , "test" , TypeMacaroonAdmin ,
111112					time .Unix (1000 , 0 ), "" ,
112113				)
113114				require .NoError (t , err )
115+ 
116+ 				return  getBoltStoreSessions (t , store )
114117			},
115118		},
116119		{
117120			name : "multiple sessions no options" ,
118121			populateDB : func (t  * testing.T , store  * BoltStore ,
119- 				_  accounts.Store ) {
122+ 				_  accounts.Store ) [] * Session   {
120123
121124				_ , err  :=  store .NewSession (
122125					ctx , "session1" , TypeMacaroonAdmin ,
@@ -135,25 +138,29 @@ func TestSessionsStoreMigration(t *testing.T) {
135138					time .Unix (1000 , 0 ), "" ,
136139				)
137140				require .NoError (t , err )
141+ 
142+ 				return  getBoltStoreSessions (t , store )
138143			},
139144		},
140145		{
141146			name : "one session with one privacy flag" ,
142147			populateDB : func (t  * testing.T , store  * BoltStore ,
143- 				_  accounts.Store ) {
148+ 				_  accounts.Store ) [] * Session   {
144149
145150				_ , err  :=  store .NewSession (
146151					ctx , "test" , TypeMacaroonAdmin ,
147152					time .Unix (1000 , 0 ), "" ,
148153					WithPrivacy (PrivacyFlags {ClearPubkeys }),
149154				)
150155				require .NoError (t , err )
156+ 
157+ 				return  getBoltStoreSessions (t , store )
151158			},
152159		},
153160		{
154161			name : "one session with multiple privacy flags" ,
155162			populateDB : func (t  * testing.T , store  * BoltStore ,
156- 				_  accounts.Store ) {
163+ 				_  accounts.Store ) [] * Session   {
157164
158165				_ , err  :=  store .NewSession (
159166					ctx , "test" , TypeMacaroonAdmin ,
@@ -164,12 +171,14 @@ func TestSessionsStoreMigration(t *testing.T) {
164171					}),
165172				)
166173				require .NoError (t , err )
174+ 
175+ 				return  getBoltStoreSessions (t , store )
167176			},
168177		},
169178		{
170179			name : "one session with a feature config" ,
171180			populateDB : func (t  * testing.T , store  * BoltStore ,
172- 				_  accounts.Store ) {
181+ 				_  accounts.Store ) [] * Session   {
173182
174183				featureConfig  :=  map [string ][]byte {
175184					"AutoFees" :      {1 , 2 , 3 , 4 },
@@ -182,25 +191,29 @@ func TestSessionsStoreMigration(t *testing.T) {
182191					WithFeatureConfig (featureConfig ),
183192				)
184193				require .NoError (t , err )
194+ 
195+ 				return  getBoltStoreSessions (t , store )
185196			},
186197		},
187198		{
188199			name : "one session with dev server" ,
189200			populateDB : func (t  * testing.T , store  * BoltStore ,
190- 				_  accounts.Store ) {
201+ 				_  accounts.Store ) [] * Session   {
191202
192203				_ , err  :=  store .NewSession (
193204					ctx , "test" , TypeMacaroonAdmin ,
194205					time .Unix (1000 , 0 ), "" ,
195206					WithDevServer (),
196207				)
197208				require .NoError (t , err )
209+ 
210+ 				return  getBoltStoreSessions (t , store )
198211			},
199212		},
200213		{
201214			name : "one session with macaroon recipe" ,
202215			populateDB : func (t  * testing.T , store  * BoltStore ,
203- 				_  accounts.Store ) {
216+ 				_  accounts.Store ) [] * Session   {
204217
205218				// this test uses caveats & perms from the 
206219				// tlv_test.go 
@@ -210,12 +223,14 @@ func TestSessionsStoreMigration(t *testing.T) {
210223					WithMacaroonRecipe (caveats , perms ),
211224				)
212225				require .NoError (t , err )
226+ 
227+ 				return  getBoltStoreSessions (t , store )
213228			},
214229		},
215230		{
216231			name : "one session with macaroon recipe nil caveats" ,
217232			populateDB : func (t  * testing.T , store  * BoltStore ,
218- 				_  accounts.Store ) {
233+ 				_  accounts.Store ) [] * Session   {
219234
220235				// this test uses perms from the tlv_test.go 
221236				_ , err  :=  store .NewSession (
@@ -224,12 +239,14 @@ func TestSessionsStoreMigration(t *testing.T) {
224239					WithMacaroonRecipe (nil , perms ),
225240				)
226241				require .NoError (t , err )
242+ 
243+ 				return  getBoltStoreSessions (t , store )
227244			},
228245		},
229246		{
230247			name : "one session with macaroon recipe nil perms" ,
231248			populateDB : func (t  * testing.T , store  * BoltStore ,
232- 				_  accounts.Store ) {
249+ 				_  accounts.Store ) [] * Session   {
233250
234251				// this test uses caveats from the tlv_test.go 
235252				_ , err  :=  store .NewSession (
@@ -238,25 +255,29 @@ func TestSessionsStoreMigration(t *testing.T) {
238255					WithMacaroonRecipe (caveats , nil ),
239256				)
240257				require .NoError (t , err )
258+ 
259+ 				return  getBoltStoreSessions (t , store )
241260			},
242261		},
243262		{
244263			name : "macaroon recipe with nil perms and caveats" ,
245264			populateDB : func (t  * testing.T , store  * BoltStore ,
246- 				_  accounts.Store ) {
265+ 				_  accounts.Store ) [] * Session   {
247266
248267				_ , err  :=  store .NewSession (
249268					ctx , "test" , TypeMacaroonAdmin ,
250269					time .Unix (1000 , 0 ), "foo.bar.baz:1234" ,
251270					WithMacaroonRecipe (nil , nil ),
252271				)
253272				require .NoError (t , err )
273+ 
274+ 				return  getBoltStoreSessions (t , store )
254275			},
255276		},
256277		{
257278			name : "one session with a linked account" ,
258279			populateDB : func (t  * testing.T , store  * BoltStore ,
259- 				acctStore  accounts.Store ) {
280+ 				acctStore  accounts.Store ) [] * Session   {
260281
261282				// Create an account with balance 
262283				acct , err  :=  acctStore .NewAccount (
@@ -289,12 +310,14 @@ func TestSessionsStoreMigration(t *testing.T) {
289310					WithMacaroonRecipe (sessCaveats , nil ),
290311				)
291312				require .NoError (t , err )
313+ 
314+ 				return  getBoltStoreSessions (t , store )
292315			},
293316		},
294317		{
295318			name : "linked session" ,
296319			populateDB : func (t  * testing.T , store  * BoltStore ,
297- 				_  accounts.Store ) {
320+ 				_  accounts.Store ) [] * Session   {
298321
299322				// First create the initial session for the 
300323				// group. 
@@ -325,6 +348,8 @@ func TestSessionsStoreMigration(t *testing.T) {
325348					WithLinkedGroupID (& sess1 .ID ),
326349				)
327350				require .NoError (t , err )
351+ 
352+ 				return  getBoltStoreSessions (t , store )
328353			},
329354		},
330355		{
@@ -355,15 +380,7 @@ func TestSessionsStoreMigration(t *testing.T) {
355380
356381			// populate the kvStore with the test data, in 
357382			// preparation for the test. 
358- 			test .populateDB (t , kvStore , accountStore )
359- 
360- 			// Before we migrate the sessions, we fetch all sessions 
361- 			// from the kv store, to ensure that the migration 
362- 			// function doesn't mutate the bbolt store sessions. 
363- 			// We can then compare them to the sql sessions after 
364- 			// the migration has been executed. 
365- 			kvSessions , err  :=  kvStore .ListAllSessions (ctx )
366- 			require .NoError (t , err )
383+ 			kvSessions  :=  test .populateDB (t , kvStore , accountStore )
367384
368385			// Proceed to create the sql store and execute the 
369386			// migration. 
@@ -392,7 +409,7 @@ func TestSessionsStoreMigration(t *testing.T) {
392409// them will contain up to 10 linked sessions. The rest of the session will have 
393410// the rest of the session options randomized. 
394411func  randomizedSessions (t  * testing.T , kvStore  * BoltStore ,
395- 	accountsStore  accounts.Store ) {
412+ 	accountsStore  accounts.Store ) [] * Session   {
396413
397414	ctx  :=  context .Background ()
398415
@@ -547,6 +564,8 @@ func randomizedSessions(t *testing.T, kvStore *BoltStore,
547564		err  =  shiftStateUnsafe (kvStore , activeSess .ID , lastState (i ))
548565		require .NoError (t , err )
549566	}
567+ 
568+ 	return  getBoltStoreSessions (t , kvStore )
550569}
551570
552571// macaroonType returns a macaroon type based on the given index by taking the 
@@ -741,6 +760,16 @@ func randomString(n int) string {
741760	return  string (b )
742761}
743762
763+ // getBoltStoreSessions is a helper function that fetches all sessions 
764+ // from the kv store, while already asserting that there no error occurs 
765+ // when retrieving the sessions. 
766+ func  getBoltStoreSessions (t  * testing.T , db  * BoltStore ) []* Session  {
767+ 	kvSessions , err  :=  getBBoltSessions (db .DB )
768+ 	require .NoError (t , err )
769+ 
770+ 	return  kvSessions 
771+ }
772+ 
744773// shiftStateUnsafe updates the state of the session with the given ID to the 
745774// "dest" state, without checking if the state transition is legal. 
746775// 
0 commit comments