1
0
mirror of https://github.com/amir20/dozzle.git synced 2025-12-30 17:47:28 +01:00

chore: updates docker to v28 (#3655)

This commit is contained in:
Amir Raminfar
2025-02-20 10:54:25 -08:00
committed by GitHub
parent e332b4225b
commit 3eec803e45
4 changed files with 81 additions and 100 deletions

View File

@@ -24,10 +24,10 @@ import (
)
type DockerCLI interface {
ContainerList(context.Context, docker.ListOptions) ([]types.Container, error)
ContainerList(context.Context, docker.ListOptions) ([]docker.Summary, error)
ContainerLogs(context.Context, string, docker.LogsOptions) (io.ReadCloser, error)
Events(context.Context, events.ListOptions) (<-chan events.Message, <-chan error)
ContainerInspect(ctx context.Context, containerID string) (types.ContainerJSON, error)
ContainerInspect(ctx context.Context, containerID string) (docker.InspectResponse, error)
ContainerStats(ctx context.Context, containerID string, stream bool) (docker.StatsResponseReader, error)
Ping(ctx context.Context) (types.Ping, error)
ContainerStart(ctx context.Context, containerID string, options docker.StartOptions) error
@@ -297,7 +297,7 @@ func (d *DockerClient) Host() container.Host {
return d.host
}
func newContainer(c types.Container, host string) container.Container {
func newContainer(c docker.Summary, host string) container.Container {
name := "no name"
if c.Labels["dev.dozzle.name"] != "" {
name = c.Labels["dev.dozzle.name"]
@@ -323,7 +323,7 @@ func newContainer(c types.Container, host string) container.Container {
}
}
func newContainerFromJSON(c types.ContainerJSON, host string) container.Container {
func newContainerFromJSON(c docker.InspectResponse, host string) container.Container {
name := "no name"
if c.Config.Labels["dev.dozzle.name"] != "" {
name = c.Config.Labels["dev.dozzle.name"]

View File

@@ -11,7 +11,6 @@ import (
"testing"
"github.com/amir20/dozzle/internal/container"
"github.com/docker/docker/api/types"
docker "github.com/docker/docker/api/types/container"
"github.com/docker/docker/api/types/system"
"github.com/stretchr/testify/assert"
@@ -24,14 +23,13 @@ type mockedProxy struct {
DockerCLI
}
func (m *mockedProxy) ContainerList(context.Context, docker.ListOptions) ([]types.Container, error) {
func (m *mockedProxy) ContainerList(context.Context, docker.ListOptions) ([]docker.Summary, error) {
args := m.Called()
containers, ok := args.Get(0).([]types.Container)
containers, ok := args.Get(0).([]docker.Summary)
if !ok && args.Get(0) != nil {
panic("containers is not of type []types.Container")
panic("containers is not of type []docker.Summary")
}
return containers, args.Error(1)
}
func (m *mockedProxy) ContainerLogs(ctx context.Context, id string, options docker.LogsOptions) (io.ReadCloser, error) {
@@ -43,9 +41,9 @@ func (m *mockedProxy) ContainerLogs(ctx context.Context, id string, options dock
return reader, args.Error(1)
}
func (m *mockedProxy) ContainerInspect(ctx context.Context, containerID string) (types.ContainerJSON, error) {
func (m *mockedProxy) ContainerInspect(ctx context.Context, containerID string) (docker.InspectResponse, error) {
args := m.Called(ctx, containerID)
return args.Get(0).(types.ContainerJSON), args.Error(1)
return args.Get(0).(docker.InspectResponse), args.Error(1)
}
func (m *mockedProxy) ContainerStats(ctx context.Context, containerID string, stream bool) (docker.StatsResponseReader, error) {
@@ -112,7 +110,7 @@ func Test_dockerClient_ListContainers_error(t *testing.T) {
}
func Test_dockerClient_ListContainers_happy(t *testing.T) {
containers := []types.Container{
containers := []docker.Summary{
{
ID: "abcdefghijklmnopqrst",
Names: []string{"/z_test_container"},
@@ -185,8 +183,8 @@ func Test_dockerClient_ContainerLogs_error(t *testing.T) {
func Test_dockerClient_FindContainer_happy(t *testing.T) {
proxy := new(mockedProxy)
state := &types.ContainerState{Status: "running", StartedAt: time.Now().Format(time.RFC3339Nano)}
json := types.ContainerJSON{ContainerJSONBase: &types.ContainerJSONBase{ID: "abcdefghijklmnopqrst", State: state}, Config: &docker.Config{Tty: false}}
state := &docker.State{Status: "running", StartedAt: time.Now().Format(time.RFC3339Nano)}
json := docker.InspectResponse{ContainerJSONBase: &docker.ContainerJSONBase{ID: "abcdefghijklmnopqrst", State: state}, Config: &docker.Config{Tty: false}}
proxy.On("ContainerInspect", mock.Anything, "abcdefghijkl").Return(json, nil)
client := &DockerClient{proxy, container.Host{ID: "localhost"}, system.Info{}}
@@ -201,7 +199,7 @@ func Test_dockerClient_FindContainer_happy(t *testing.T) {
func Test_dockerClient_FindContainer_error(t *testing.T) {
proxy := new(mockedProxy)
proxy.On("ContainerInspect", mock.Anything, "not_valid").Return(types.ContainerJSON{}, errors.New("not found"))
proxy.On("ContainerInspect", mock.Anything, "not_valid").Return(docker.InspectResponse{}, errors.New("not found"))
client := &DockerClient{proxy, container.Host{ID: "localhost"}, system.Info{}}
_, err := client.FindContainer(context.Background(), "not_valid")
@@ -214,8 +212,8 @@ func Test_dockerClient_ContainerActions_happy(t *testing.T) {
proxy := new(mockedProxy)
client := &DockerClient{proxy, container.Host{ID: "localhost"}, system.Info{}}
state := &types.ContainerState{Status: "running", StartedAt: time.Now().Format(time.RFC3339Nano)}
json := types.ContainerJSON{ContainerJSONBase: &types.ContainerJSONBase{ID: "abcdefghijkl", State: state}, Config: &docker.Config{Tty: false}}
state := &docker.State{Status: "running", StartedAt: time.Now().Format(time.RFC3339Nano)}
json := docker.InspectResponse{ContainerJSONBase: &docker.ContainerJSONBase{ID: "abcdefghijkl", State: state}, Config: &docker.Config{Tty: false}}
proxy.On("ContainerInspect", mock.Anything, "abcdefghijkl").Return(json, nil)
proxy.On("ContainerStart", mock.Anything, "abcdefghijkl", mock.Anything).Return(nil)
@@ -241,7 +239,7 @@ func Test_dockerClient_ContainerActions_error(t *testing.T) {
proxy := new(mockedProxy)
client := &DockerClient{proxy, container.Host{ID: "localhost"}, system.Info{}}
proxy.On("ContainerInspect", mock.Anything, "random-id").Return(types.ContainerJSON{}, errors.New("not found"))
proxy.On("ContainerInspect", mock.Anything, "random-id").Return(docker.InspectResponse{}, errors.New("not found"))
proxy.On("ContainerStart", mock.Anything, mock.Anything, mock.Anything).Return(errors.New("test"))
proxy.On("ContainerStop", mock.Anything, mock.Anything, mock.Anything).Return(errors.New("test"))
proxy.On("ContainerRestart", mock.Anything, mock.Anything, mock.Anything).Return(errors.New("test"))