Skip to content

Commit 478c152

Browse files
committed
Clean up tests
1 parent 8285ca7 commit 478c152

File tree

4 files changed

+293
-331
lines changed

4 files changed

+293
-331
lines changed

catalogd/internal/serverutil/serverutil.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package serverutil
22

33
import (
4-
"context"
54
"crypto/tls"
65
"fmt"
76
"io"
@@ -11,9 +10,9 @@ import (
1110

1211
"github.com/go-logr/logr"
1312
"github.com/gorilla/handlers"
13+
"github.com/klauspost/compress/gzhttp"
1414
ctrl "sigs.k8s.io/controller-runtime"
1515
"sigs.k8s.io/controller-runtime/pkg/certwatcher"
16-
"sigs.k8s.io/controller-runtime/pkg/log"
1716
"sigs.k8s.io/controller-runtime/pkg/manager"
1817

1918
catalogdmetrics "github.com/operator-framework/operator-controller/catalogd/internal/metrics"
@@ -44,20 +43,19 @@ func AddCatalogServerToManager(mgr ctrl.Manager, cfg CatalogServerConfig, tlsFil
4443
}
4544

4645
shutdownTimeout := 30 * time.Second
46+
handler := cfg.LocalStorage.StorageServerHandler()
47+
handler = gzhttp.GzipHandler(handler)
48+
handler = catalogdmetrics.AddMetricsToHandler(handler)
4749

4850
l := mgr.GetLogger().WithName("catalogd-http-server")
49-
handler := catalogdmetrics.AddMetricsToHandler(cfg.LocalStorage.StorageServerHandler())
5051
handler = logrLoggingHandler(l, handler)
5152

5253
catalogServer := manager.Server{
5354
Name: "catalogs",
5455
OnlyServeWhenLeader: true,
5556
Server: &http.Server{
56-
Addr: cfg.CatalogAddr,
57-
Handler: handler,
58-
BaseContext: func(_ net.Listener) context.Context {
59-
return log.IntoContext(context.Background(), mgr.GetLogger().WithName("http.catalogs"))
60-
},
57+
Addr: cfg.CatalogAddr,
58+
Handler: handler,
6159
ReadTimeout: 5 * time.Second,
6260
// TODO: Revert this to 10 seconds if/when the API
6361
// evolves to have significantly smaller responses

catalogd/internal/storage/localdir.go

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,14 @@ type LocalDirV1 struct {
3737
var _ Instance = &LocalDirV1{}
3838

3939
func (s *LocalDirV1) Store(ctx context.Context, catalog string, fsys fs.FS) error {
40-
s.m.Lock()
41-
defer s.m.Unlock()
40+
func() {
41+
s.m.Lock()
42+
defer s.m.Unlock()
43+
44+
if err := os.MkdirAll(s.catalogDir(catalog), 0700); err != nil {
45+
return
46+
}
47+
}()
4248

4349
if err := os.MkdirAll(s.RootDir, 0700); err != nil {
4450
return err
@@ -60,7 +66,14 @@ func (s *LocalDirV1) Store(ctx context.Context, catalog string, fsys fs.FS) erro
6066
)
6167
for i, f := range storeMetaFuncs {
6268
metaChans = append(metaChans, make(chan *declcfg.Meta, 1))
63-
eg.Go(func() error { return f(tmpCatalogDir, metaChans[i]) })
69+
// Create a new variable scoped to this iteration,
70+
// because the value of i might change by the time the goroutine starts
71+
index := i
72+
// Capture the function in a new variable too
73+
fn := f
74+
eg.Go(func() error {
75+
return fn(tmpCatalogDir, metaChans[index])
76+
})
6477
}
6578
err = declcfg.WalkMetasFS(egCtx, fsys, func(path string, meta *declcfg.Meta, err error) error {
6679
if err != nil {
@@ -86,6 +99,8 @@ func (s *LocalDirV1) Store(ctx context.Context, catalog string, fsys fs.FS) erro
8699
return err
87100
}
88101

102+
s.m.Lock()
103+
defer s.m.Unlock()
89104
catalogDir := s.catalogDir(catalog)
90105
return errors.Join(
91106
os.RemoveAll(catalogDir),

0 commit comments

Comments
 (0)