github.com/influxdata/telegraf@v1.30.3/internal/docker/docker_test.go (about) 1 package docker_test 2 3 import ( 4 "testing" 5 6 "github.com/influxdata/telegraf/internal/docker" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestParseImage(t *testing.T) { 11 tests := []struct { 12 image string 13 parsedName string 14 parsedVersion string 15 }{ 16 { 17 image: "postgres", 18 parsedName: "postgres", 19 parsedVersion: "unknown", 20 }, 21 { 22 image: "postgres:latest", 23 parsedName: "postgres", 24 parsedVersion: "latest", 25 }, 26 { 27 image: "coreos/etcd", 28 parsedName: "coreos/etcd", 29 parsedVersion: "unknown", 30 }, 31 { 32 image: "coreos/etcd:latest", 33 parsedName: "coreos/etcd", 34 parsedVersion: "latest", 35 }, 36 { 37 image: "quay.io/postgres", 38 parsedName: "quay.io/postgres", 39 parsedVersion: "unknown", 40 }, 41 { 42 image: "quay.io:4443/coreos/etcd", 43 parsedName: "quay.io:4443/coreos/etcd", 44 parsedVersion: "unknown", 45 }, 46 { 47 image: "quay.io:4443/coreos/etcd:latest", 48 parsedName: "quay.io:4443/coreos/etcd", 49 parsedVersion: "latest", 50 }, 51 } 52 for _, tt := range tests { 53 t.Run("parse name "+tt.image, func(t *testing.T) { 54 imageName, imageVersion := docker.ParseImage(tt.image) 55 require.Equal(t, tt.parsedName, imageName) 56 require.Equal(t, tt.parsedVersion, imageVersion) 57 }) 58 } 59 }