summaryrefslogtreecommitdiff
path: root/internal/image
diff options
context:
space:
mode:
Diffstat (limited to 'internal/image')
-rw-r--r--internal/image/download.go8
-rw-r--r--internal/image/gemini.go4
-rw-r--r--internal/image/gemini_test.go15
-rw-r--r--internal/image/types_test.go2
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"})