| package dockerversion |
| |
| import ( |
| "context" |
| "testing" |
| |
| "github.com/docker/docker/pkg/useragent" |
| "gotest.tools/v3/assert" |
| is "gotest.tools/v3/assert/cmp" |
| ) |
| |
| func TestDockerUserAgent(t *testing.T) { |
| t.Run("daemon user-agent", func(t *testing.T) { |
| ua := DockerUserAgent(context.TODO()) |
| expected := getDaemonUserAgent() |
| assert.Check(t, is.Equal(ua, expected)) |
| }) |
| |
| t.Run("daemon user-agent custom metadata", func(t *testing.T) { |
| ua := DockerUserAgent(context.TODO(), useragent.VersionInfo{Name: "hello", Version: "world"}, useragent.VersionInfo{Name: "foo", Version: "bar"}) |
| expected := getDaemonUserAgent() + ` hello/world foo/bar` |
| assert.Check(t, is.Equal(ua, expected)) |
| }) |
| |
| t.Run("daemon user-agent with upstream", func(t *testing.T) { |
| ctx := context.WithValue(context.TODO(), UAStringKey{}, "Magic-Client/1.2.3 (linux)") |
| ua := DockerUserAgent(ctx) |
| expected := getDaemonUserAgent() + ` UpstreamClient(Magic-Client/1.2.3 \(linux\))` |
| assert.Check(t, is.Equal(ua, expected)) |
| }) |
| |
| t.Run("daemon user-agent with upstream and custom metadata", func(t *testing.T) { |
| ctx := context.WithValue(context.TODO(), UAStringKey{}, "Magic-Client/1.2.3 (linux)") |
| ua := DockerUserAgent(ctx, useragent.VersionInfo{Name: "hello", Version: "world"}, useragent.VersionInfo{Name: "foo", Version: "bar"}) |
| expected := getDaemonUserAgent() + ` hello/world foo/bar UpstreamClient(Magic-Client/1.2.3 \(linux\))` |
| assert.Check(t, is.Equal(ua, expected)) |
| }) |
| } |