fix(tests): updated docker types in tests

This commit is contained in:
yusing
2025-08-16 13:09:08 +08:00
parent 8b40baa49f
commit 52324fbef2
3 changed files with 33 additions and 30 deletions

View File

@@ -36,7 +36,7 @@ func TestContainerExplicit(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
c := FromDocker(&container.SummaryTrimmed{Names: []string{"test"}, State: "test", Labels: tt.labels}, "")
c := FromDocker(&container.Summary{Names: []string{"test"}, State: "test", Labels: tt.labels}, "")
ExpectEqual(t, c.IsExplicit, tt.isExplicit)
})
}
@@ -45,25 +45,27 @@ func TestContainerExplicit(t *testing.T) {
func TestContainerHostNetworkMode(t *testing.T) {
tests := []struct {
name string
container *container.SummaryTrimmed
container *container.Summary
isHostNetworkMode bool
}{
{
name: "host network mode",
container: &container.SummaryTrimmed{
container: &container.Summary{
Names: []string{"test"},
State: "test",
HostConfig: struct {
NetworkMode string `json:",omitempty"`
NetworkMode string "json:\",omitempty\""
Annotations map[string]string "json:\",omitempty\""
}{
NetworkMode: "host",
Annotations: map[string]string{},
},
},
isHostNetworkMode: true,
},
{
name: "not host network mode",
container: &container.SummaryTrimmed{
container: &container.Summary{
Names: []string{"test"},
State: "test",
},
@@ -105,7 +107,7 @@ func TestImageNameParsing(t *testing.T) {
}
for _, tt := range tests {
t.Run(tt.full, func(t *testing.T) {
helper := containerHelper{&container.SummaryTrimmed{Image: tt.full}}
helper := containerHelper{&container.Summary{Image: tt.full}}
im := helper.parseImage()
ExpectEqual(t, im.Author, tt.author)
ExpectEqual(t, im.Name, tt.image)

View File

@@ -21,7 +21,7 @@ func TestParseDockerLabels(t *testing.T) {
ExpectNoError(t, yaml.Unmarshal(testDockerLabelsYAML, &labels))
routes, err := provider.routesFromContainerLabels(
docker.FromDocker(&container.SummaryTrimmed{
docker.FromDocker(&container.Summary{
Names: []string{"container"},
Labels: labels,
State: "running",

View File

@@ -5,6 +5,7 @@ import (
"time"
"github.com/docker/docker/api/types/container"
"github.com/docker/docker/api/types/network"
"github.com/docker/docker/client"
D "github.com/yusing/go-proxy/internal/docker"
"github.com/yusing/go-proxy/internal/route"
@@ -19,7 +20,7 @@ const (
testDockerIP = "172.17.0.123"
)
func makeRoutes(cont *container.SummaryTrimmed, dockerHostIP ...string) route.Routes {
func makeRoutes(cont *container.Summary, dockerHostIP ...string) route.Routes {
var p DockerProvider
var host string
if len(dockerHostIP) > 0 {
@@ -62,7 +63,7 @@ func TestApplyLabel(t *testing.T) {
},
},
}
entries := makeRoutes(&container.SummaryTrimmed{
entries := makeRoutes(&container.Summary{
Names: dummyNames,
Labels: map[string]string{
D.LabelAliases: "a,b",
@@ -133,7 +134,7 @@ func TestApplyLabel(t *testing.T) {
}
func TestApplyLabelWithAlias(t *testing.T) {
entries := makeRoutes(&container.SummaryTrimmed{
entries := makeRoutes(&container.Summary{
Names: dummyNames,
State: "running",
Labels: map[string]string{
@@ -160,7 +161,7 @@ func TestApplyLabelWithAlias(t *testing.T) {
}
func TestApplyLabelWithRef(t *testing.T) {
entries := makeRoutes(&container.SummaryTrimmed{
entries := makeRoutes(&container.Summary{
Names: dummyNames,
State: "running",
Labels: map[string]string{
@@ -188,7 +189,7 @@ func TestApplyLabelWithRef(t *testing.T) {
}
func TestApplyLabelWithRefIndexError(t *testing.T) {
c := D.FromDocker(&container.SummaryTrimmed{
c := D.FromDocker(&container.Summary{
Names: dummyNames,
State: "running",
Labels: map[string]string{
@@ -202,7 +203,7 @@ func TestApplyLabelWithRefIndexError(t *testing.T) {
_, err := p.routesFromContainerLabels(c)
expect.ErrorIs(t, ErrAliasRefIndexOutOfRange, err)
c = D.FromDocker(&container.SummaryTrimmed{
c = D.FromDocker(&container.Summary{
Names: dummyNames,
State: "running",
Labels: map[string]string{
@@ -215,7 +216,7 @@ func TestApplyLabelWithRefIndexError(t *testing.T) {
}
func TestDynamicAliases(t *testing.T) {
c := &container.SummaryTrimmed{
c := &container.Summary{
Names: []string{"app1"},
State: "running",
Labels: map[string]string{
@@ -238,7 +239,7 @@ func TestDynamicAliases(t *testing.T) {
}
func TestDisableHealthCheck(t *testing.T) {
c := &container.SummaryTrimmed{
c := &container.Summary{
Names: dummyNames,
State: "running",
Labels: map[string]string{
@@ -252,7 +253,7 @@ func TestDisableHealthCheck(t *testing.T) {
}
func TestPublicIPLocalhost(t *testing.T) {
c := &container.SummaryTrimmed{Names: dummyNames, State: "running"}
c := &container.Summary{Names: dummyNames, State: "running"}
r, ok := makeRoutes(c)["a"]
expect.True(t, ok)
expect.Equal(t, r.Container.PublicHostname, "127.0.0.1")
@@ -260,7 +261,7 @@ func TestPublicIPLocalhost(t *testing.T) {
}
func TestPublicIPRemote(t *testing.T) {
c := &container.SummaryTrimmed{Names: dummyNames, State: "running"}
c := &container.Summary{Names: dummyNames, State: "running"}
raw, ok := makeRoutes(c, testIP)["a"]
expect.True(t, ok)
expect.Equal(t, raw.Container.PublicHostname, testIP)
@@ -268,10 +269,10 @@ func TestPublicIPRemote(t *testing.T) {
}
func TestPrivateIPLocalhost(t *testing.T) {
c := &container.SummaryTrimmed{
c := &container.Summary{
Names: dummyNames,
NetworkSettings: &container.NetworkSettingsSummaryTrimmed{
Networks: map[string]*struct{ IPAddress string }{
NetworkSettings: &container.NetworkSettingsSummary{
Networks: map[string]*network.EndpointSettings{
"network": {
IPAddress: testDockerIP,
},
@@ -285,11 +286,11 @@ func TestPrivateIPLocalhost(t *testing.T) {
}
func TestPrivateIPRemote(t *testing.T) {
c := &container.SummaryTrimmed{
c := &container.Summary{
Names: dummyNames,
State: "running",
NetworkSettings: &container.NetworkSettingsSummaryTrimmed{
Networks: map[string]*struct{ IPAddress string }{
NetworkSettings: &container.NetworkSettingsSummary{
Networks: map[string]*network.EndpointSettings{
"network": {
IPAddress: testDockerIP,
},
@@ -307,11 +308,11 @@ func TestStreamDefaultValues(t *testing.T) {
privPort := uint16(1234)
pubPort := uint16(4567)
privIP := "172.17.0.123"
cont := &container.SummaryTrimmed{
cont := &container.Summary{
Names: []string{"a"},
State: "running",
NetworkSettings: &container.NetworkSettingsSummaryTrimmed{
Networks: map[string]*struct{ IPAddress string }{
NetworkSettings: &container.NetworkSettingsSummary{
Networks: map[string]*network.EndpointSettings{
"network": {
IPAddress: privIP,
},
@@ -344,7 +345,7 @@ func TestStreamDefaultValues(t *testing.T) {
}
func TestExplicitExclude(t *testing.T) {
r, ok := makeRoutes(&container.SummaryTrimmed{
r, ok := makeRoutes(&container.Summary{
Names: dummyNames,
Labels: map[string]string{
D.LabelAliases: "a",
@@ -358,9 +359,9 @@ func TestExplicitExclude(t *testing.T) {
func TestImplicitExcludeDatabase(t *testing.T) {
t.Run("mount path detection", func(t *testing.T) {
r, ok := makeRoutes(&container.SummaryTrimmed{
r, ok := makeRoutes(&container.Summary{
Names: dummyNames,
Mounts: []container.MountPointTrimmed{
Mounts: []container.MountPoint{
{Destination: "/var/lib/postgresql/data"},
},
})["a"]
@@ -368,7 +369,7 @@ func TestImplicitExcludeDatabase(t *testing.T) {
expect.True(t, r.ShouldExclude())
})
t.Run("exposed port detection", func(t *testing.T) {
r, ok := makeRoutes(&container.SummaryTrimmed{
r, ok := makeRoutes(&container.Summary{
Names: dummyNames,
Ports: []container.Port{
{Type: "tcp", PrivatePort: 5432, PublicPort: 5432},