diff options
Diffstat (limited to 'internal/image')
| -rw-r--r-- | internal/image/download.go | 8 | ||||
| -rw-r--r-- | internal/image/gemini.go | 4 | ||||
| -rw-r--r-- | internal/image/gemini_test.go | 15 | ||||
| -rw-r--r-- | internal/image/types_test.go | 2 |
4 files changed, 21 insertions, 8 deletions
diff --git a/internal/image/download.go b/internal/image/download.go index a693121..aca32c5 100644 --- a/internal/image/download.go +++ b/internal/image/download.go @@ -70,7 +70,9 @@ func (d *Downloader) DownloadImage(ctx context.Context, result *SearchResult, ou if err != nil { return fmt.Errorf("create output file %q: %w", outputPath, err) } - defer unix.Close(parentFD) + defer func() { + _ = unix.Close(parentFD) + }() defer func() { if closeErr := file.Close(); err == nil && closeErr != nil { err = fmt.Errorf("close output file %q: %w", outputPath, closeErr) @@ -273,7 +275,9 @@ func (d *Downloader) writeSecureRelativeFile(outputPath, relPath string, content if err != nil { return err } - defer unix.Close(parentFD) + defer func() { + _ = unix.Close(parentFD) + }() defer func() { _ = file.Close() }() diff --git a/internal/image/gemini.go b/internal/image/gemini.go index d2f710c..e04b04e 100644 --- a/internal/image/gemini.go +++ b/internal/image/gemini.go @@ -207,7 +207,9 @@ func (c *GeminiProvider) GenerateImageWithReferences(ctx context.Context, prompt if err != nil { return err } - defer rc.Close() + defer func() { + _ = rc.Close() + }() data, err := io.ReadAll(rc) if err != nil { return fmt.Errorf("read image data: %w", err) diff --git a/internal/image/gemini_test.go b/internal/image/gemini_test.go index bbc9dcd..54480fc 100644 --- a/internal/image/gemini_test.go +++ b/internal/image/gemini_test.go @@ -16,10 +16,7 @@ import ( func TestNewGeminiProvider(t *testing.T) { t.Parallel() - client := NewGeminiProvider(&GeminiConfig{APIKey: "test-key"}) - if client == nil { - t.Fatal("expected client") - } + client := mustNewGeminiProvider(t, &GeminiConfig{APIKey: "test-key"}) if client.config == nil { t.Fatal("expected normalized config") } @@ -34,6 +31,16 @@ func TestNewGeminiProvider(t *testing.T) { } } +func mustNewGeminiProvider(t *testing.T, cfg *GeminiConfig) *GeminiProvider { + t.Helper() + + client := NewGeminiProvider(cfg) + if client == nil { + t.Fatal("expected client") + } + return client +} + func TestGeminiProvider_NoAPIKey(t *testing.T) { client := NewGeminiProvider(&GeminiConfig{}) diff --git a/internal/image/types_test.go b/internal/image/types_test.go index 3597ee3..9257392 100644 --- a/internal/image/types_test.go +++ b/internal/image/types_test.go @@ -53,7 +53,7 @@ func TestRegistryNewFromConfig(t *testing.T) { registry := NewRegistry[fakeConfig]() registry.Register(Gemini, func(cfg fakeConfig) (ImageProvider, error) { - return fakeProvider{name: cfg.name, token: cfg.token}, nil + return fakeProvider(cfg), nil }) provider, err := registry.NewFromConfig(fakeConfig{name: Gemini, token: "secret"}) |
