|
@@ -4,6 +4,7 @@ import (
|
|
"context"
|
|
"context"
|
|
"testing"
|
|
"testing"
|
|
|
|
|
|
|
|
+ "github.com/docker/docker/pkg/useragent"
|
|
"gotest.tools/v3/assert"
|
|
"gotest.tools/v3/assert"
|
|
is "gotest.tools/v3/assert/cmp"
|
|
is "gotest.tools/v3/assert/cmp"
|
|
)
|
|
)
|
|
@@ -15,10 +16,23 @@ func TestDockerUserAgent(t *testing.T) {
|
|
assert.Check(t, is.Equal(ua, expected))
|
|
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) {
|
|
t.Run("daemon user-agent with upstream", func(t *testing.T) {
|
|
ctx := context.WithValue(context.TODO(), UAStringKey{}, "Magic-Client/1.2.3 (linux)")
|
|
ctx := context.WithValue(context.TODO(), UAStringKey{}, "Magic-Client/1.2.3 (linux)")
|
|
ua := DockerUserAgent(ctx)
|
|
ua := DockerUserAgent(ctx)
|
|
expected := getDaemonUserAgent() + ` UpstreamClient(Magic-Client/1.2.3 \(linux\))`
|
|
expected := getDaemonUserAgent() + ` UpstreamClient(Magic-Client/1.2.3 \(linux\))`
|
|
assert.Check(t, is.Equal(ua, expected))
|
|
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))
|
|
|
|
+ })
|
|
}
|
|
}
|