mirror of
https://github.com/yusing/godoxy.git
synced 2025-05-20 12:42:34 +02:00
36 lines
829 B
Go
36 lines
829 B
Go
package provider
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/docker/docker/api/types"
|
|
"github.com/yusing/go-proxy/internal/docker"
|
|
. "github.com/yusing/go-proxy/internal/utils/testing"
|
|
"gopkg.in/yaml.v3"
|
|
|
|
_ "embed"
|
|
)
|
|
|
|
//go:embed docker_labels.yaml
|
|
var testDockerLabelsYAML []byte
|
|
|
|
func TestParseDockerLabels(t *testing.T) {
|
|
var provider DockerProvider
|
|
|
|
labels := make(map[string]string)
|
|
ExpectNoError(t, yaml.Unmarshal(testDockerLabelsYAML, &labels))
|
|
|
|
routes, err := provider.entriesFromContainerLabels(
|
|
docker.FromDocker(&types.Container{
|
|
Names: []string{"container"},
|
|
Labels: labels,
|
|
State: "running",
|
|
Ports: []types.Port{
|
|
{Type: "tcp", PrivatePort: 1234, PublicPort: 1234},
|
|
},
|
|
}, "/var/run/docker.sock"),
|
|
)
|
|
ExpectNoError(t, err)
|
|
ExpectTrue(t, routes.Has("app"))
|
|
ExpectTrue(t, routes.Has("app1"))
|
|
}
|