60 lines
1.3 KiB
Go
60 lines
1.3 KiB
Go
package docker_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/influxdata/telegraf/internal/docker"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestParseImage(t *testing.T) {
|
|
tests := []struct {
|
|
image string
|
|
parsedName string
|
|
parsedVersion string
|
|
}{
|
|
{
|
|
image: "postgres",
|
|
parsedName: "postgres",
|
|
parsedVersion: "unknown",
|
|
},
|
|
{
|
|
image: "postgres:latest",
|
|
parsedName: "postgres",
|
|
parsedVersion: "latest",
|
|
},
|
|
{
|
|
image: "coreos/etcd",
|
|
parsedName: "coreos/etcd",
|
|
parsedVersion: "unknown",
|
|
},
|
|
{
|
|
image: "coreos/etcd:latest",
|
|
parsedName: "coreos/etcd",
|
|
parsedVersion: "latest",
|
|
},
|
|
{
|
|
image: "quay.io/postgres",
|
|
parsedName: "quay.io/postgres",
|
|
parsedVersion: "unknown",
|
|
},
|
|
{
|
|
image: "quay.io:4443/coreos/etcd",
|
|
parsedName: "quay.io:4443/coreos/etcd",
|
|
parsedVersion: "unknown",
|
|
},
|
|
{
|
|
image: "quay.io:4443/coreos/etcd:latest",
|
|
parsedName: "quay.io:4443/coreos/etcd",
|
|
parsedVersion: "latest",
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run("parse name "+tt.image, func(t *testing.T) {
|
|
imageName, imageVersion := docker.ParseImage(tt.image)
|
|
require.Equal(t, tt.parsedName, imageName)
|
|
require.Equal(t, tt.parsedVersion, imageVersion)
|
|
})
|
|
}
|
|
}
|