@@ -20,10 +20,17 @@ import (
20
20
"github.com/stretchr/testify/require"
21
21
"golang.org/x/mod/semver"
22
22
23
+ "cdr.dev/slog"
24
+ "cdr.dev/slog/sloggers/slogtest"
23
25
"github.com/coder/code-marketplace/storage"
24
26
"github.com/coder/code-marketplace/testutil"
25
27
)
26
28
29
+ func newStorage (t * testing.T , dir string ) storage.Storage {
30
+ logger := slogtest .Make (t , & slogtest.Options {IgnoreErrors : true }).Leveled (slog .LevelDebug )
31
+ return storage .NewLocalStorage (context .Background (), dir , logger )
32
+ }
33
+
27
34
func TestFileServer (t * testing.T ) {
28
35
t .Parallel ()
29
36
@@ -32,7 +39,8 @@ func TestFileServer(t *testing.T) {
32
39
err := os .WriteFile (file , []byte ("bar" ), 0o644 )
33
40
require .NoError (t , err )
34
41
35
- server := (& storage.Local {ExtDir : dir }).FileServer ()
42
+ s := newStorage (t , dir )
43
+ server := s .FileServer ()
36
44
37
45
req := httptest .NewRequest ("GET" , "/foo" , nil )
38
46
rec := httptest .NewRecorder ()
@@ -81,7 +89,7 @@ func TestManifest(t *testing.T) {
81
89
ext := testutil .Extensions [0 ]
82
90
expected := addExtension (t , ext , extdir , "some-version" )
83
91
84
- s := & storage. Local { ExtDir : extdir }
92
+ s := newStorage ( t , extdir )
85
93
manifest , err := s .Manifest (context .Background (), ext .Publisher , ext .Name , "some-version" )
86
94
require .NoError (t , err )
87
95
require .Equal (t , expected , manifest )
@@ -99,19 +107,15 @@ func TestManifest(t *testing.T) {
99
107
err = os .WriteFile (file , []byte ("invalid" ), 0o644 )
100
108
require .NoError (t , err )
101
109
102
- s := & storage.Local {ExtDir : extdir }
103
-
110
+ s := newStorage (t , extdir )
104
111
_ , err = s .Manifest (context .Background (), "foo" , "bar" , "baz" )
105
112
require .Error (t , err )
106
113
})
107
114
108
115
t .Run ("Missing" , func (t * testing.T ) {
109
116
t .Parallel ()
110
117
111
- extdir := t .TempDir ()
112
- s := & storage.Local {
113
- ExtDir : extdir ,
114
- }
118
+ s := newStorage (t , t .TempDir ())
115
119
_ , err := s .Manifest (context .Background (), "foo" , "bar" , "baz" )
116
120
require .Error (t , err )
117
121
})
@@ -151,7 +155,7 @@ func TestWalkExtensions(t *testing.T) {
151
155
t .Run ("NoExtensions" , func (t * testing.T ) {
152
156
t .Parallel ()
153
157
154
- s := & storage. Local { ExtDir : t .TempDir ()}
158
+ s := newStorage ( t , t .TempDir ())
155
159
called := false
156
160
err := s .WalkExtensions (context .Background (), func (manifest * storage.VSIXManifest , versions []string ) error {
157
161
called = true
@@ -164,7 +168,7 @@ func TestWalkExtensions(t *testing.T) {
164
168
t .Run ("PropagateError" , func (t * testing.T ) {
165
169
t .Parallel ()
166
170
167
- s := & storage. Local { ExtDir : extdir }
171
+ s := newStorage ( t , extdir )
168
172
ran := 0
169
173
expected := errors .New ("error" )
170
174
err := s .WalkExtensions (context .Background (), func (manifest * storage.VSIXManifest , versions []string ) error {
@@ -179,7 +183,7 @@ func TestWalkExtensions(t *testing.T) {
179
183
t .Parallel ()
180
184
181
185
got := []extension {}
182
- s := & storage. Local { ExtDir : extdir }
186
+ s := newStorage ( t , extdir )
183
187
err := s .WalkExtensions (context .Background (), func (manifest * storage.VSIXManifest , versions []string ) error {
184
188
got = append (got , extension {
185
189
manifest : manifest ,
@@ -353,8 +357,7 @@ func TestAddExtension(t *testing.T) {
353
357
extdir , err = test .setup (extdir )
354
358
require .NoError (t , err )
355
359
}
356
- s := & storage.Local {ExtDir : extdir }
357
-
360
+ s := newStorage (t , extdir )
358
361
got , err := s .AddExtension (context .Background (), server .URL )
359
362
if test .error != "" {
360
363
require .Error (t , err )
@@ -425,8 +428,7 @@ func TestAddExtension(t *testing.T) {
425
428
}
426
429
427
430
extdir := t .TempDir ()
428
- s := & storage.Local {ExtDir : extdir }
429
-
431
+ s := newStorage (t , extdir )
430
432
source , err := test .source (extdir )
431
433
require .NoError (t , err )
432
434
@@ -522,8 +524,7 @@ func TestAddExtension(t *testing.T) {
522
524
err = os .WriteFile (vsixPath , vsix , 0o644 )
523
525
require .NoError (t , err )
524
526
525
- s := & storage.Local {ExtDir : extdir }
526
-
527
+ s := newStorage (t , extdir )
527
528
got , err := s .AddExtension (context .Background (), vsixPath )
528
529
require .Error (t , err )
529
530
require .Regexp (t , test .error , err .Error ())
@@ -633,8 +634,7 @@ func TestRemoveExtension(t *testing.T) {
633
634
addExtension (t , ext , extdir , "b" )
634
635
addExtension (t , ext , extdir , "c" )
635
636
636
- s := & storage.Local {ExtDir : extdir }
637
-
637
+ s := newStorage (t , extdir )
638
638
removed , err := s .RemoveExtension (context .Background (), test .remove , test .all )
639
639
if test .error != "" {
640
640
require .Error (t , err )
0 commit comments