@@ -2,6 +2,7 @@ package services
2
2
3
3
import (
4
4
"context"
5
+ "strings"
5
6
"testing"
6
7
7
8
"github.com/h2non/gock"
@@ -36,10 +37,43 @@ func TestRun(t *testing.T) {
36
37
require .NoError (t , utils .InitConfig (utils.InitParams {
37
38
ProjectId : projectRef ,
38
39
}, fsys ))
39
-
40
- // Set project reference in flags
41
40
flags .ProjectRef = projectRef
42
41
42
+ // Mock all API requests
43
+ defer gock .OffAll ()
44
+
45
+ // Mock API keys
46
+ gock .New (utils .DefaultApiHost ).
47
+ Get ("/v1/projects/" + projectRef + "/api-keys" ).
48
+ Reply (200 ).
49
+ JSON ([]map [string ]string {{"name" : "anon" , "api_key" : "test-key" }})
50
+
51
+ // Mock database version
52
+ gock .New (utils .DefaultApiHost ).
53
+ Get ("/v1/projects" ).
54
+ Reply (200 ).
55
+ JSON ([]map [string ]interface {}{
56
+ {
57
+ "id" : projectRef ,
58
+ "database" : map [string ]string {"version" : "1.0.0" },
59
+ },
60
+ })
61
+
62
+ // Mock auth version
63
+ gock .New ("https://" + utils .GetSupabaseHost (projectRef )).
64
+ Get ("/auth/v1/health" ).
65
+ Reply (200 ).
66
+ JSON (map [string ]string {"version" : "2.0.0" })
67
+
68
+ // Mock postgrest version
69
+ gock .New ("https://" + utils .GetSupabaseHost (projectRef )).
70
+ Get ("/rest/v1/" ).
71
+ Reply (200 ).
72
+ JSON (map [string ]interface {}{
73
+ "swagger" : "2.0" ,
74
+ "info" : map [string ]string {"version" : "3.0.0" },
75
+ })
76
+
43
77
// Execute: Call the Run function
44
78
err := Run (context .Background (), fsys )
45
79
@@ -130,7 +164,7 @@ func TestCheckVersions(t *testing.T) {
130
164
flags .ProjectRef = projectRef
131
165
132
166
// Mock remote versions
133
- token := "sbp_0102030405060708091011121314151617181920"
167
+ token := "sbp_" + strings . Repeat ( "0" , 36 )
134
168
require .NoError (t , utils .SaveAccessToken (token , fsys ))
135
169
136
170
defer gock .OffAll ()
@@ -168,7 +202,7 @@ func TestListRemoteImages(t *testing.T) {
168
202
fsys := afero .NewMemMapFs ()
169
203
170
204
// Setup: Create access token file with valid format
171
- token := "sbp_0102030405060708091011121314151617181920"
205
+ token := "sbp_" + strings . Repeat ( "0" , 36 )
172
206
require .NoError (t , utils .SaveAccessToken (token , fsys ))
173
207
174
208
// Setup: Mock API responses
@@ -233,7 +267,7 @@ func TestListRemoteImages(t *testing.T) {
233
267
fsys := afero .NewMemMapFs ()
234
268
235
269
// Setup: Create access token file with valid format
236
- token := "sbp_0102030405060708091011121314151617181920"
270
+ token := "sbp_" + strings . Repeat ( "0" , 36 )
237
271
require .NoError (t , utils .SaveAccessToken (token , fsys ))
238
272
239
273
// Setup: Mock API error response
0 commit comments