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  }