99 "time"
1010
1111 "github.com/sapcc/go-api-declarations/cadf"
12+
1213 "github.com/sapcc/go-bits/assert"
1314)
1415
@@ -64,60 +65,86 @@ func TestFileBackingStore(t *testing.T) {
6465
6566 // 4. Test Rotation (simulated by multiple writes)
6667 // We write multiple events to ensure they are handled correctly.
67-
68+
6869 event2 := cadf.Event {ID : "event-2" }
6970 event3 := cadf.Event {ID : "event-3" }
70-
71+
7172 err = store .Write (event2 )
72- if err != nil { t .Fatal (err ) }
73+ if err != nil {
74+ t .Fatal (err )
75+ }
7376 err = store .Write (event3 )
74- if err != nil { t .Fatal (err ) }
75-
77+ if err != nil {
78+ t .Fatal (err )
79+ }
80+
7681 files , err = store .listFiles ()
77- if err != nil { t .Fatal (err ) }
82+ if err != nil {
83+ t .Fatal (err )
84+ }
7885 assert .DeepEqual (t , "file count (same file)" , len (files ), 1 )
79-
86+
8087 // Read them back
8188 events , commit , err = store .ReadBatch ()
82- if err != nil { t .Fatal (err ) }
89+ if err != nil {
90+ t .Fatal (err )
91+ }
8392 assert .DeepEqual (t , "read events count" , len (events ), 2 )
8493 err = commit ()
85- if err != nil { t .Fatal (err ) }
86-
94+ if err != nil {
95+ t .Fatal (err )
96+ }
97+
8798 // 5. Test Multiple Files
8899 // We set MaxFileSize to 1 byte to force a new file for every event.
89100 // We also sleep between writes to ensure unique timestamps for filenames.
90-
101+
91102 storeSmall , err := NewFileBackingStore (FileBackingStoreOpts {
92103 Directory : t .TempDir (),
93- MaxFileSize : 1 ,
104+ MaxFileSize : 1 ,
94105 })
95- if err != nil { t .Fatal (err ) }
96-
106+ if err != nil {
107+ t .Fatal (err )
108+ }
109+
97110 err = storeSmall .Write (event1 )
98- if err != nil { t .Fatal (err ) }
111+ if err != nil {
112+ t .Fatal (err )
113+ }
99114 // Sleep to ensure new timestamp for filename
100- time .Sleep (10 * time .Millisecond )
115+ time .Sleep (10 * time .Millisecond )
101116 err = storeSmall .Write (event2 )
102- if err != nil { t .Fatal (err ) }
103-
117+ if err != nil {
118+ t .Fatal (err )
119+ }
120+
104121 files , err = storeSmall .listFiles ()
105- if err != nil { t .Fatal (err ) }
122+ if err != nil {
123+ t .Fatal (err )
124+ }
106125 assert .DeepEqual (t , "file count (rotated)" , len (files ), 2 )
107-
126+
108127 // Read first batch
109128 events , commit , err = storeSmall .ReadBatch ()
110- if err != nil { t .Fatal (err ) }
129+ if err != nil {
130+ t .Fatal (err )
131+ }
111132 assert .DeepEqual (t , "batch 1 size" , len (events ), 1 )
112133 assert .DeepEqual (t , "batch 1 event" , events [0 ].ID , "event-1" )
113- commit ()
114-
134+ if err := commit (); err != nil {
135+ t .Fatal (err )
136+ }
137+
115138 // Read second batch
116139 events , commit , err = storeSmall .ReadBatch ()
117- if err != nil { t .Fatal (err ) }
140+ if err != nil {
141+ t .Fatal (err )
142+ }
118143 assert .DeepEqual (t , "batch 2 size" , len (events ), 1 )
119144 assert .DeepEqual (t , "batch 2 event" , events [0 ].ID , "event-2" )
120- commit ()
145+ if err := commit (); err != nil {
146+ t .Fatal (err )
147+ }
121148}
122149
123150func TestBackingStorePermissions (t * testing.T ) {
@@ -128,30 +155,37 @@ func TestBackingStorePermissions(t *testing.T) {
128155 if err != nil {
129156 t .Fatalf ("NewFileBackingStore failed: %v" , err )
130157 }
131-
158+
132159 event := cadf.Event {ID : "test" }
133- store .Write (event )
134-
135- files , _ := store .listFiles ()
160+ if err := store .Write (event ); err != nil {
161+ t .Fatal (err )
162+ }
163+
164+ files , err := store .listFiles ()
165+ if err != nil {
166+ t .Fatal (err )
167+ }
136168 if len (files ) != 1 {
137169 t .Fatal ("expected 1 file" )
138170 }
139-
171+
140172 info , err := os .Stat (files [0 ])
141173 if err != nil {
142174 t .Fatal (err )
143175 }
144-
176+
145177 // Check file permissions (0600)
146178 // On Windows, permissions are less strict, so we log the mode for verification.
147179 mode := info .Mode ().Perm ()
148180 if mode != 0600 {
149181 t .Logf ("File permissions: %o" , mode )
150182 }
151-
183+
152184 // Check directory permissions
153185 dirInfo , err := os .Stat (tmpDir )
154- if err != nil { t .Fatal (err ) }
186+ if err != nil {
187+ t .Fatal (err )
188+ }
155189 t .Logf ("Dir permissions: %o" , dirInfo .Mode ().Perm ())
156190}
157191
@@ -161,22 +195,26 @@ func TestBackingStoreMaxTotalSize(t *testing.T) {
161195 // Each event is ~100 bytes.
162196 store , err := NewFileBackingStore (FileBackingStoreOpts {
163197 Directory : tmpDir ,
164- MaxFileSize : 10 , // Force new file for every event
198+ MaxFileSize : 10 , // Force new file for every event
165199 MaxTotalSize : 400 , // Allow 3 files (~344 bytes)
166200 })
167201 if err != nil {
168202 t .Fatalf ("NewFileBackingStore failed: %v" , err )
169203 }
170204
171205 // Write 3 events
172- for i := 0 ; i < 3 ; i ++ {
206+ for range 3 {
173207 err = store .Write (cadf.Event {ID : "event" })
174- if err != nil { t .Fatal (err ) }
208+ if err != nil {
209+ t .Fatal (err )
210+ }
175211 time .Sleep (10 * time .Millisecond ) // Ensure different timestamps
176212 }
177213
178214 files , err := store .listFiles ()
179- if err != nil { t .Fatal (err ) }
215+ if err != nil {
216+ t .Fatal (err )
217+ }
180218 // We expect 3 files, as each event is in a new file and total size is within limit.
181219 if len (files ) < 2 || len (files ) > 3 {
182220 t .Fatalf ("expected 2 or 3 files, got %d" , len (files ))
@@ -189,8 +227,10 @@ func TestBackingStoreMaxTotalSize(t *testing.T) {
189227 }
190228
191229 files , err = store .listFiles ()
192- if err != nil { t .Fatal (err ) }
193-
230+ if err != nil {
231+ t .Fatal (err )
232+ }
233+
194234 // We expect exactly 3 files (no deletion)
195235 if len (files ) != 3 {
196236 t .Fatalf ("expected 3 files, got %d" , len (files ))
0 commit comments