@@ -9,9 +9,9 @@ package storage
99import (
1010 "testing"
1111
12- "go.devnw.com/canary/internal/storage/testutil"
1312 "github.com/stretchr/testify/assert"
1413 "github.com/stretchr/testify/require"
14+ "go.devnw.com/canary/internal/storage/testutil"
1515)
1616
1717func TestTokenIsolationBetweenProjects (t * testing.T ) {
@@ -38,29 +38,29 @@ func TestTokenIsolationBetweenProjects(t *testing.T) {
3838
3939 // Create same token in both projects (same req_id)
4040 token1 := & Token {
41- ReqID : "CBIN-100" ,
42- Feature : "TestFeature" ,
43- Aspect : "API" ,
44- Status : "IMPL" ,
45- FilePath : "/file1.go" ,
41+ ReqID : "CBIN-100" ,
42+ Feature : "TestFeature" ,
43+ Aspect : "API" ,
44+ Status : "IMPL" ,
45+ FilePath : "/file1.go" ,
4646 LineNumber : 10 ,
47- UpdatedAt : "2025-10-18" ,
48- RawToken : "// CANARY: REQ=CBIN-100; FEATURE=\" TestFeature\" ; ASPECT=API; STATUS=IMPL" ,
49- IndexedAt : "2025-10-18" ,
50- ProjectID : project1 .ID , // New field
47+ UpdatedAt : "2025-10-18" ,
48+ RawToken : "// CANARY: REQ=CBIN-100; FEATURE=\" TestFeature\" ; ASPECT=API; STATUS=IMPL" ,
49+ IndexedAt : "2025-10-18" ,
50+ ProjectID : project1 .ID , // New field
5151 }
5252
5353 token2 := & Token {
54- ReqID : "CBIN-100" , // Same ID
55- Feature : "TestFeature" ,
56- Aspect : "API" ,
57- Status : "IMPL" ,
58- FilePath : "/file2.go" ,
54+ ReqID : "CBIN-100" , // Same ID
55+ Feature : "TestFeature" ,
56+ Aspect : "API" ,
57+ Status : "IMPL" ,
58+ FilePath : "/file2.go" ,
5959 LineNumber : 20 ,
60- UpdatedAt : "2025-10-18" ,
61- RawToken : "// CANARY: REQ=CBIN-100; FEATURE=\" TestFeature\" ; ASPECT=API; STATUS=IMPL" ,
62- IndexedAt : "2025-10-18" ,
63- ProjectID : project2 .ID , // Different project
60+ UpdatedAt : "2025-10-18" ,
61+ RawToken : "// CANARY: REQ=CBIN-100; FEATURE=\" TestFeature\" ; ASPECT=API; STATUS=IMPL" ,
62+ IndexedAt : "2025-10-18" ,
63+ ProjectID : project2 .ID , // Different project
6464 }
6565
6666 // Both should succeed (different projects)
@@ -105,29 +105,29 @@ func TestCrossProjectQuery(t *testing.T) {
105105
106106 // Create tokens in different projects
107107 token1 := & Token {
108- ReqID : "CBIN-101" ,
109- Feature : "Feature1" ,
110- Aspect : "API" ,
111- Status : "IMPL" ,
112- FilePath : "/file1.go" ,
108+ ReqID : "CBIN-101" ,
109+ Feature : "Feature1" ,
110+ Aspect : "API" ,
111+ Status : "IMPL" ,
112+ FilePath : "/file1.go" ,
113113 LineNumber : 10 ,
114- UpdatedAt : "2025-10-18" ,
115- RawToken : "test" ,
116- IndexedAt : "2025-10-18" ,
117- ProjectID : project1 .ID ,
114+ UpdatedAt : "2025-10-18" ,
115+ RawToken : "test" ,
116+ IndexedAt : "2025-10-18" ,
117+ ProjectID : project1 .ID ,
118118 }
119119
120120 token2 := & Token {
121- ReqID : "CBIN-102" ,
122- Feature : "Feature2" ,
123- Aspect : "Storage" ,
124- Status : "TESTED" ,
125- FilePath : "/file2.go" ,
121+ ReqID : "CBIN-102" ,
122+ Feature : "Feature2" ,
123+ Aspect : "Storage" ,
124+ Status : "TESTED" ,
125+ FilePath : "/file2.go" ,
126126 LineNumber : 20 ,
127- UpdatedAt : "2025-10-18" ,
128- RawToken : "test" ,
129- IndexedAt : "2025-10-18" ,
130- ProjectID : project2 .ID ,
127+ UpdatedAt : "2025-10-18" ,
128+ RawToken : "test" ,
129+ IndexedAt : "2025-10-18" ,
130+ ProjectID : project2 .ID ,
131131 }
132132
133133 err = db .UpsertToken (token1 )
@@ -173,29 +173,29 @@ func TestGetTokensByReqIDAndProject(t *testing.T) {
173173
174174 // Create same req_id in both projects
175175 token1 := & Token {
176- ReqID : "CBIN-200" ,
177- Feature : "SharedFeature" ,
178- Aspect : "API" ,
179- Status : "IMPL" ,
180- FilePath : "/file1.go" ,
176+ ReqID : "CBIN-200" ,
177+ Feature : "SharedFeature" ,
178+ Aspect : "API" ,
179+ Status : "IMPL" ,
180+ FilePath : "/file1.go" ,
181181 LineNumber : 10 ,
182- UpdatedAt : "2025-10-18" ,
183- RawToken : "test" ,
184- IndexedAt : "2025-10-18" ,
185- ProjectID : project1 .ID ,
182+ UpdatedAt : "2025-10-18" ,
183+ RawToken : "test" ,
184+ IndexedAt : "2025-10-18" ,
185+ ProjectID : project1 .ID ,
186186 }
187187
188188 token2 := & Token {
189- ReqID : "CBIN-200" , // Same req_id
190- Feature : "SharedFeature" ,
191- Aspect : "API" ,
192- Status : "TESTED" ,
193- FilePath : "/file2.go" ,
189+ ReqID : "CBIN-200" , // Same req_id
190+ Feature : "SharedFeature" ,
191+ Aspect : "API" ,
192+ Status : "TESTED" ,
193+ FilePath : "/file2.go" ,
194194 LineNumber : 20 ,
195- UpdatedAt : "2025-10-18" ,
196- RawToken : "test" ,
197- IndexedAt : "2025-10-18" ,
198- ProjectID : project2 .ID ,
195+ UpdatedAt : "2025-10-18" ,
196+ RawToken : "test" ,
197+ IndexedAt : "2025-10-18" ,
198+ ProjectID : project2 .ID ,
199199 }
200200
201201 err = db .UpsertToken (token1 )
@@ -234,33 +234,33 @@ func TestTokenUniqueConstraintWithProjects(t *testing.T) {
234234
235235 // Create a token
236236 token1 := & Token {
237- ReqID : "CBIN-300" ,
238- Feature : "UniqueTest" ,
239- Aspect : "API" ,
240- Status : "IMPL" ,
241- FilePath : "/file.go" ,
237+ ReqID : "CBIN-300" ,
238+ Feature : "UniqueTest" ,
239+ Aspect : "API" ,
240+ Status : "IMPL" ,
241+ FilePath : "/file.go" ,
242242 LineNumber : 100 ,
243- UpdatedAt : "2025-10-18" ,
244- RawToken : "test" ,
245- IndexedAt : "2025-10-18" ,
246- ProjectID : project .ID ,
243+ UpdatedAt : "2025-10-18" ,
244+ RawToken : "test" ,
245+ IndexedAt : "2025-10-18" ,
246+ ProjectID : project .ID ,
247247 }
248248
249249 err = db .UpsertToken (token1 )
250250 require .NoError (t , err )
251251
252252 // Try to insert duplicate (same project, req_id, feature, file, line)
253253 token2 := & Token {
254- ReqID : "CBIN-300" ,
255- Feature : "UniqueTest" ,
256- Aspect : "API" ,
257- Status : "TESTED" , // Different status
258- FilePath : "/file.go" ,
254+ ReqID : "CBIN-300" ,
255+ Feature : "UniqueTest" ,
256+ Aspect : "API" ,
257+ Status : "TESTED" , // Different status
258+ FilePath : "/file.go" ,
259259 LineNumber : 100 ,
260- UpdatedAt : "2025-10-18" ,
261- RawToken : "test updated" ,
262- IndexedAt : "2025-10-18" ,
263- ProjectID : project .ID ,
260+ UpdatedAt : "2025-10-18" ,
261+ RawToken : "test updated" ,
262+ IndexedAt : "2025-10-18" ,
263+ ProjectID : project .ID ,
264264 }
265265
266266 // Should update, not fail
@@ -287,16 +287,16 @@ func TestDefaultProjectForBackwardCompatibility(t *testing.T) {
287287
288288 // Create token without project_id (backward compatibility)
289289 token := & Token {
290- ReqID : "CBIN-400" ,
291- Feature : "BackwardCompat" ,
292- Aspect : "API" ,
293- Status : "IMPL" ,
294- FilePath : "/file.go" ,
290+ ReqID : "CBIN-400" ,
291+ Feature : "BackwardCompat" ,
292+ Aspect : "API" ,
293+ Status : "IMPL" ,
294+ FilePath : "/file.go" ,
295295 LineNumber : 50 ,
296- UpdatedAt : "2025-10-18" ,
297- RawToken : "test" ,
298- IndexedAt : "2025-10-18" ,
299- ProjectID : "" , // Empty project ID
296+ UpdatedAt : "2025-10-18" ,
297+ RawToken : "test" ,
298+ IndexedAt : "2025-10-18" ,
299+ ProjectID : "" , // Empty project ID
300300 }
301301
302302 // Should use default project or handle gracefully
0 commit comments