@@ -17,6 +17,7 @@ package svc
1717import (
1818 "context"
1919 "encoding/json"
20+ "io/fs"
2021 "net/http"
2122 "net/http/httptest"
2223 "os"
@@ -36,6 +37,7 @@ func stringPtr(s string) *string {
3637}
3738
3839func TestConvertAPIPackageToPackageMeta (t * testing.T ) {
40+ t .Parallel ()
3941 createdAt := time .Date (2025 , 4 , 10 , 12 , 0 , 0 , 0 , time .UTC )
4042 tests := []struct {
4143 name string
@@ -93,17 +95,19 @@ func TestConvertAPIPackageToPackageMeta(t *testing.T) {
9395
9496 for _ , tt := range tests {
9597 t .Run (tt .name , func (t * testing.T ) {
98+ t .Parallel ()
9699 got := convertAPIPackageToPackageMeta (tt .input )
97100 assert .Equal (t , tt .want , got )
98101 })
99102 }
100103}
101104
102105func TestFileSystemProvider (t * testing.T ) {
106+ t .Parallel ()
103107 // Create a temporary directory for test files
104108 tmpDir := t .TempDir ()
105109 packagesDir := filepath .Join (tmpDir , "themes" , "default" , "data" , "registry" , "packages" )
106- require .NoError (t , os .MkdirAll (packagesDir , 0755 ))
110+ require .NoError (t , os .MkdirAll (packagesDir , fs . ModePerm ))
107111
108112 // Create test metadata files
109113 testPackages := []pkg.PackageMeta {
@@ -132,13 +136,14 @@ func TestFileSystemProvider(t *testing.T) {
132136 for _ , p := range testPackages {
133137 data , err := yaml .Marshal (p )
134138 require .NoError (t , err )
135- err = os .WriteFile (filepath .Join (packagesDir , p .Name + ".yaml" ), data , 0755 )
139+ err = os .WriteFile (filepath .Join (packagesDir , p .Name + ".yaml" ), data , fs . ModePerm )
136140 require .NoError (t , err )
137141 }
138142
139143 provider := NewFileSystemProvider (tmpDir )
140144
141145 t .Run ("GetPackageMetadata" , func (t * testing.T ) {
146+ t .Parallel ()
142147 got , err := provider .GetPackageMetadata (context .Background (), "aws-test" )
143148 require .NoError (t , err )
144149 assert .Equal (t , testPackages [0 ], got )
@@ -148,13 +153,15 @@ func TestFileSystemProvider(t *testing.T) {
148153 })
149154
150155 t .Run ("ListPackageMetadata" , func (t * testing.T ) {
156+ t .Parallel ()
151157 got , err := provider .ListPackageMetadata (context .Background ())
152158 require .NoError (t , err )
153159 assert .Len (t , got , len (testPackages ))
154160 assert .ElementsMatch (t , testPackages , got )
155161 })
156162
157163 t .Run ("GetPackageMetadata errors" , func (t * testing.T ) {
164+ t .Parallel ()
158165 t .Run ("non-existent file" , func (t * testing.T ) {
159166 provider := NewFileSystemProvider (tmpDir )
160167 _ , err := provider .GetPackageMetadata (context .Background (), "non-existent" )
@@ -163,7 +170,7 @@ func TestFileSystemProvider(t *testing.T) {
163170 })
164171
165172 t .Run ("invalid yaml" , func (t * testing.T ) {
166- err := os .WriteFile (filepath .Join (packagesDir , "invalid.yaml" ), []byte ("invalid yaml: ][" ), 0755 )
173+ err := os .WriteFile (filepath .Join (packagesDir , "invalid.yaml" ), []byte ("invalid yaml: ][" ), fs . ModePerm )
167174 require .NoError (t , err )
168175
169176 provider := NewFileSystemProvider (tmpDir )
@@ -174,6 +181,7 @@ func TestFileSystemProvider(t *testing.T) {
174181 })
175182
176183 t .Run ("ListPackageMetadata errors" , func (t * testing.T ) {
184+ t .Parallel ()
177185 t .Run ("non-existent directory" , func (t * testing.T ) {
178186 tmpDir := t .TempDir ()
179187 provider := NewFileSystemProvider (tmpDir )
@@ -185,17 +193,17 @@ func TestFileSystemProvider(t *testing.T) {
185193 t .Run ("ignores non-yaml files" , func (t * testing.T ) {
186194 tmpDir := t .TempDir ()
187195 packagesDir := filepath .Join (tmpDir , "themes" , "default" , "data" , "registry" , "packages" )
188- require .NoError (t , os .MkdirAll (packagesDir , 0755 ))
196+ require .NoError (t , os .MkdirAll (packagesDir , fs . ModePerm ))
189197
190198 // Create a valid yaml file
191199 validPkg := pkg.PackageMeta {Name : "valid" , Publisher : "Pulumi" }
192200 validYAML , err := yaml .Marshal (validPkg )
193201 require .NoError (t , err )
194- err = os .WriteFile (filepath .Join (packagesDir , "valid.yaml" ), validYAML , 0755 )
202+ err = os .WriteFile (filepath .Join (packagesDir , "valid.yaml" ), validYAML , fs . ModePerm )
195203 require .NoError (t , err )
196204
197205 // Create an invalid yaml file
198- err = os .WriteFile (filepath .Join (packagesDir , "readme.txt" ), []byte ("not valid yaml" ), 0755 )
206+ err = os .WriteFile (filepath .Join (packagesDir , "readme.txt" ), []byte ("not valid yaml" ), fs . ModePerm )
199207 require .NoError (t , err )
200208
201209 provider := NewFileSystemProvider (tmpDir )
@@ -208,8 +216,11 @@ func TestFileSystemProvider(t *testing.T) {
208216}
209217
210218func TestRegistryAPIProvider (t * testing.T ) {
219+ t .Parallel ()
211220 t .Run ("GetPackageMetadata" , func (t * testing.T ) {
221+ t .Parallel ()
212222 t .Run ("successfully returns package metadata" , func (t * testing.T ) {
223+ t .Parallel ()
213224 // configure test server
214225 expectedPackage := PackageMetadata {
215226 Name : "aws-test" ,
@@ -227,7 +238,8 @@ func TestRegistryAPIProvider(t *testing.T) {
227238 assert .Equal (t , "/packages" , r .URL .Path )
228239 assert .Equal (t , "name=aws-test" , r .URL .RawQuery )
229240 w .WriteHeader (http .StatusOK )
230- w .Write (jsonResponse )
241+ _ , err = w .Write (jsonResponse )
242+ require .NoError (t , err )
231243 }))
232244 defer server .Close ()
233245
@@ -244,6 +256,7 @@ func TestRegistryAPIProvider(t *testing.T) {
244256 })
245257
246258 t .Run ("non existent package" , func (t * testing.T ) {
259+ t .Parallel ()
247260 server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
248261 w .WriteHeader (http .StatusNotFound )
249262 }))
@@ -271,7 +284,8 @@ func TestRegistryAPIProvider(t *testing.T) {
271284
272285 server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
273286 w .WriteHeader (http .StatusOK )
274- w .Write (jsonResponse )
287+ _ , err = w .Write (jsonResponse )
288+ require .NoError (t , err )
275289 }))
276290 defer server .Close ()
277291
@@ -287,7 +301,9 @@ func TestRegistryAPIProvider(t *testing.T) {
287301 })
288302
289303 t .Run ("ListPackageMetadata" , func (t * testing.T ) {
304+ t .Parallel ()
290305 t .Run ("successfully lists packages with pagination" , func (t * testing.T ) {
306+ t .Parallel ()
291307 // configure to test with pagination
292308 firstPage := struct {
293309 Packages []PackageMetadata `json:"packages"`
@@ -321,9 +337,11 @@ func TestRegistryAPIProvider(t *testing.T) {
321337
322338 // Return different responses based on continuation token
323339 if r .URL .Query ().Get ("continuationToken" ) == "page2" {
324- w .Write (secondPageJSON )
340+ _ , err = w .Write (secondPageJSON )
341+ require .NoError (t , err )
325342 } else {
326- w .Write (firstPageJSON )
343+ _ , err = w .Write (firstPageJSON )
344+ require .NoError (t , err )
327345 }
328346 }))
329347 defer server .Close ()
@@ -340,9 +358,11 @@ func TestRegistryAPIProvider(t *testing.T) {
340358 })
341359
342360 t .Run ("invalid json response" , func (t * testing.T ) {
361+ t .Parallel ()
343362 server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
344363 w .WriteHeader (http .StatusOK )
345- w .Write ([]byte ("invalid json" ))
364+ _ , err := w .Write ([]byte ("invalid json" ))
365+ require .NoError (t , err )
346366 }))
347367 defer server .Close ()
348368
@@ -357,6 +377,7 @@ func TestRegistryAPIProvider(t *testing.T) {
357377 })
358378
359379 t .Run ("500 server error" , func (t * testing.T ) {
380+ t .Parallel ()
360381 server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
361382 w .WriteHeader (http .StatusInternalServerError )
362383 }))
0 commit comments