fix lint errors
Some checks failed
Lint / golangci-lint (push) Failing after 9m43s
Declarative Tests / test (push) Successful in 22s

This commit is contained in:
Matthew Rich 2024-05-26 00:15:50 -07:00
parent a9fd9f3624
commit 75c89c39ec
4 changed files with 16 additions and 10 deletions

View File

@ -386,8 +386,8 @@ func (c *Container) ResolveId(ctx context.Context) string {
Filters: filterArgs, Filters: filterArgs,
}) })
if err != nil { if err != nil {
c.StateMachine().Trigger("notexists") triggerErr := c.StateMachine().Trigger("notexists")
panic(fmt.Errorf("%w: %s %s", err, c.Type(), c.Name)) panic(fmt.Errorf("%w: %s %s, %w", err, c.Type(), c.Name, triggerErr))
} }
slog.Info("Container.ResolveId()", "containers", containers) slog.Info("Container.ResolveId()", "containers", containers)
@ -398,12 +398,16 @@ func (c *Container) ResolveId(ctx context.Context) string {
if c.Id == "" { if c.Id == "" {
c.Id = container.ID c.Id = container.ID
} }
c.StateMachine().Trigger("exists") if triggerErr := c.StateMachine().Trigger("exists"); triggerErr != nil {
panic(fmt.Errorf("%w: %s %s", triggerErr, c.Type(), c.Name))
}
slog.Info("Container.ResolveId() trigger created", "machine", c.StateMachine(), "state", c.StateMachine().CurrentState()) slog.Info("Container.ResolveId() trigger created", "machine", c.StateMachine(), "state", c.StateMachine().CurrentState())
return container.ID return container.ID
} }
} }
} }
c.StateMachine().Trigger("notexists") if triggerErr := c.StateMachine().Trigger("notexists"); triggerErr != nil {
panic(fmt.Errorf("%w: %s %s", triggerErr, c.Type(), c.Name))
}
return "" return ""
} }

View File

@ -7,6 +7,7 @@ import (
"context" "context"
"fmt" "fmt"
"github.com/docker/docker/api/types" "github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/image"
"github.com/docker/docker/client" "github.com/docker/docker/client"
"gopkg.in/yaml.v3" "gopkg.in/yaml.v3"
_ "gopkg.in/yaml.v3" _ "gopkg.in/yaml.v3"
@ -24,7 +25,7 @@ _ "os/exec"
type ContainerImageClient interface { type ContainerImageClient interface {
ImagePull(ctx context.Context, refStr string, options types.ImagePullOptions) (io.ReadCloser, error) ImagePull(ctx context.Context, refStr string, options types.ImagePullOptions) (io.ReadCloser, error)
ImageInspectWithRaw(ctx context.Context, imageID string) (types.ImageInspect, []byte, error) ImageInspectWithRaw(ctx context.Context, imageID string) (types.ImageInspect, []byte, error)
ImageRemove(ctx context.Context, imageID string, options types.ImageRemoveOptions) ([]types.ImageDeleteResponseItem, error) ImageRemove(ctx context.Context, imageID string, options types.ImageRemoveOptions) ([]image.DeleteResponse, error)
Close() error Close() error
} }

View File

@ -8,9 +8,9 @@ import (
_ "encoding/json" _ "encoding/json"
_ "fmt" _ "fmt"
"github.com/docker/docker/api/types" "github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/image"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"io" "io"
"io/ioutil"
_ "net/http" _ "net/http"
_ "net/http/httptest" _ "net/http/httptest"
_ "net/url" _ "net/url"
@ -25,7 +25,7 @@ func TestNewContainerImageResource(t *testing.T) {
} }
func TestReadContainerImage(t *testing.T) { func TestReadContainerImage(t *testing.T) {
output := ioutil.NopCloser(strings.NewReader("testdata")) output := io.NopCloser(strings.NewReader("testdata"))
ctx := context.Background() ctx := context.Background()
decl := ` decl := `
name: "alpine:latest" name: "alpine:latest"
@ -35,7 +35,7 @@ func TestReadContainerImage(t *testing.T) {
InjectImagePull: func(ctx context.Context, refStr string, options types.ImagePullOptions) (io.ReadCloser, error) { InjectImagePull: func(ctx context.Context, refStr string, options types.ImagePullOptions) (io.ReadCloser, error) {
return output, nil return output, nil
}, },
InjectImageRemove: func(ctx context.Context, imageID string, options types.ImageRemoveOptions) ([]types.ImageDeleteResponseItem, error) { InjectImageRemove: func(ctx context.Context, imageID string, options types.ImageRemoveOptions) ([]image.DeleteResponse, error) {
return nil, nil return nil, nil
}, },
InjectImageInspectWithRaw: func(ctx context.Context, imageID string) (types.ImageInspect, []byte, error) { InjectImageInspectWithRaw: func(ctx context.Context, imageID string) (types.ImageInspect, []byte, error) {

View File

@ -7,6 +7,7 @@ import (
"github.com/docker/docker/api/types" "github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/container"
"github.com/docker/docker/api/types/network" "github.com/docker/docker/api/types/network"
"github.com/docker/docker/api/types/image"
ocispec "github.com/opencontainers/image-spec/specs-go/v1" ocispec "github.com/opencontainers/image-spec/specs-go/v1"
"io" "io"
) )
@ -22,7 +23,7 @@ type MockContainerClient struct {
InjectContainerWait func(ctx context.Context, containerID string, condition container.WaitCondition) (<-chan container.WaitResponse, <-chan error) InjectContainerWait func(ctx context.Context, containerID string, condition container.WaitCondition) (<-chan container.WaitResponse, <-chan error)
InjectImagePull func(ctx context.Context, refStr string, options types.ImagePullOptions) (io.ReadCloser, error) InjectImagePull func(ctx context.Context, refStr string, options types.ImagePullOptions) (io.ReadCloser, error)
InjectImageInspectWithRaw func(ctx context.Context, imageID string) (types.ImageInspect, []byte, error) InjectImageInspectWithRaw func(ctx context.Context, imageID string) (types.ImageInspect, []byte, error)
InjectImageRemove func(ctx context.Context, imageID string, options types.ImageRemoveOptions) ([]types.ImageDeleteResponseItem, error) InjectImageRemove func(ctx context.Context, imageID string, options types.ImageRemoveOptions) ([]image.DeleteResponse, error)
InjectClose func() error InjectClose func() error
} }
@ -30,7 +31,7 @@ func (m *MockContainerClient) ContainerWait(ctx context.Context, containerID str
return m.InjectContainerWait(ctx, containerID, condition) return m.InjectContainerWait(ctx, containerID, condition)
} }
func (m *MockContainerClient) ImageRemove(ctx context.Context, imageID string, options types.ImageRemoveOptions) ([]types.ImageDeleteResponseItem, error) { func (m *MockContainerClient) ImageRemove(ctx context.Context, imageID string, options types.ImageRemoveOptions) ([]image.DeleteResponse, error) {
return m.InjectImageRemove(ctx, imageID, options) return m.InjectImageRemove(ctx, imageID, options)
} }