mirror of https://github.com/docker/cli.git
Use designated test domains (RFC2606) in tests
Some tests were using domain names that were intended to be "fake", but are
actually registered domain names (such as mycorp.com).
Even though we were not actually making connections to these domains, it's
better to use domains that are designated for testing/examples in RFC2606:
https://tools.ietf.org/html/rfc2606
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit f3886f354a
)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
a6f6b5fa34
commit
c98e9c47ca
|
@ -81,8 +81,8 @@ func TestNewAPIClientFromFlagsWithAPIVersionFromEnv(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestNewAPIClientFromFlagsWithHttpProxyEnv(t *testing.T) {
|
func TestNewAPIClientFromFlagsWithHttpProxyEnv(t *testing.T) {
|
||||||
defer env.Patch(t, "HTTP_PROXY", "http://proxy.acme.com:1234")()
|
defer env.Patch(t, "HTTP_PROXY", "http://proxy.acme.example.com:1234")()
|
||||||
defer env.Patch(t, "DOCKER_HOST", "tcp://docker.acme.com:2376")()
|
defer env.Patch(t, "DOCKER_HOST", "tcp://docker.acme.example.com:2376")()
|
||||||
|
|
||||||
opts := &flags.CommonOptions{}
|
opts := &flags.CommonOptions{}
|
||||||
configFile := &configfile.ConfigFile{}
|
configFile := &configfile.ConfigFile{}
|
||||||
|
@ -91,11 +91,11 @@ func TestNewAPIClientFromFlagsWithHttpProxyEnv(t *testing.T) {
|
||||||
transport, ok := apiclient.HTTPClient().Transport.(*http.Transport)
|
transport, ok := apiclient.HTTPClient().Transport.(*http.Transport)
|
||||||
assert.Assert(t, ok)
|
assert.Assert(t, ok)
|
||||||
assert.Assert(t, transport.Proxy != nil)
|
assert.Assert(t, transport.Proxy != nil)
|
||||||
request, err := http.NewRequest(http.MethodGet, "tcp://docker.acme.com:2376", nil)
|
request, err := http.NewRequest(http.MethodGet, "tcp://docker.acme.example.com:2376", nil)
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
url, err := transport.Proxy(request)
|
url, err := transport.Proxy(request)
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
assert.Check(t, is.Equal("http://proxy.acme.com:1234", url.String()))
|
assert.Check(t, is.Equal("http://proxy.acme.example.com:1234", url.String()))
|
||||||
}
|
}
|
||||||
|
|
||||||
type fakeClient struct {
|
type fakeClient struct {
|
||||||
|
|
|
@ -133,7 +133,7 @@ func TestCreateContainerImagePullPolicy(t *testing.T) {
|
||||||
return ioutil.NopCloser(strings.NewReader("")), nil
|
return ioutil.NopCloser(strings.NewReader("")), nil
|
||||||
},
|
},
|
||||||
infoFunc: func() (types.Info, error) {
|
infoFunc: func() (types.Info, error) {
|
||||||
return types.Info{IndexServerAddress: "http://indexserver"}, nil
|
return types.Info{IndexServerAddress: "https://indexserver.example.com"}, nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
cli := test.NewFakeCli(client)
|
cli := test.NewFakeCli(client)
|
||||||
|
|
|
@ -169,7 +169,7 @@ func validateTestKubeEndpoint(t *testing.T, s store.Reader, name string) {
|
||||||
kubeMeta := ctxMetadata.Endpoints[kubernetes.KubernetesEndpoint].(kubernetes.EndpointMeta)
|
kubeMeta := ctxMetadata.Endpoints[kubernetes.KubernetesEndpoint].(kubernetes.EndpointMeta)
|
||||||
kubeEP, err := kubeMeta.WithTLSData(s, name)
|
kubeEP, err := kubeMeta.WithTLSData(s, name)
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
assert.Equal(t, "https://someserver", kubeEP.Host)
|
assert.Equal(t, "https://someserver.example.com", kubeEP.Host)
|
||||||
assert.Equal(t, "the-ca", string(kubeEP.TLSData.CA))
|
assert.Equal(t, "the-ca", string(kubeEP.TLSData.CA))
|
||||||
assert.Equal(t, "the-cert", string(kubeEP.TLSData.Cert))
|
assert.Equal(t, "the-cert", string(kubeEP.TLSData.Cert))
|
||||||
assert.Equal(t, "the-key", string(kubeEP.TLSData.Key))
|
assert.Equal(t, "the-key", string(kubeEP.TLSData.Key))
|
||||||
|
@ -287,7 +287,7 @@ func TestCreateFromContext(t *testing.T) {
|
||||||
assert.Equal(t, newContextTyped.Description, c.expectedDescription)
|
assert.Equal(t, newContextTyped.Description, c.expectedDescription)
|
||||||
assert.Equal(t, newContextTyped.StackOrchestrator, c.expectedOrchestrator)
|
assert.Equal(t, newContextTyped.StackOrchestrator, c.expectedOrchestrator)
|
||||||
assert.Equal(t, dockerEndpoint.Host, "tcp://42.42.42.42:2375")
|
assert.Equal(t, dockerEndpoint.Host, "tcp://42.42.42.42:2375")
|
||||||
assert.Equal(t, kubeEndpoint.Host, "https://someserver")
|
assert.Equal(t, kubeEndpoint.Host, "https://someserver.example.com")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -361,7 +361,7 @@ func TestCreateFromCurrent(t *testing.T) {
|
||||||
assert.Equal(t, newContextTyped.Description, c.expectedDescription)
|
assert.Equal(t, newContextTyped.Description, c.expectedDescription)
|
||||||
assert.Equal(t, newContextTyped.StackOrchestrator, c.expectedOrchestrator)
|
assert.Equal(t, newContextTyped.StackOrchestrator, c.expectedOrchestrator)
|
||||||
assert.Equal(t, dockerEndpoint.Host, "tcp://42.42.42.42:2375")
|
assert.Equal(t, dockerEndpoint.Host, "tcp://42.42.42.42:2375")
|
||||||
assert.Equal(t, kubeEndpoint.Host, "https://someserver")
|
assert.Equal(t, kubeEndpoint.Host, "https://someserver.example.com")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ func createTestContextWithKubeAndSwarm(t *testing.T, cli command.Cli, name strin
|
||||||
DefaultStackOrchestrator: orchestrator,
|
DefaultStackOrchestrator: orchestrator,
|
||||||
Description: "description of " + name,
|
Description: "description of " + name,
|
||||||
Kubernetes: map[string]string{keyFrom: "default"},
|
Kubernetes: map[string]string{keyFrom: "default"},
|
||||||
Docker: map[string]string{keyHost: "https://someswarmserver"},
|
Docker: map[string]string{keyHost: "https://someswarmserver.example.com"},
|
||||||
})
|
})
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,11 +7,11 @@
|
||||||
},
|
},
|
||||||
"Endpoints": {
|
"Endpoints": {
|
||||||
"docker": {
|
"docker": {
|
||||||
"Host": "https://someswarmserver",
|
"Host": "https://someswarmserver.example.com",
|
||||||
"SkipTLSVerify": false
|
"SkipTLSVerify": false
|
||||||
},
|
},
|
||||||
"kubernetes": {
|
"kubernetes": {
|
||||||
"Host": "https://someserver",
|
"Host": "https://someserver.example.com",
|
||||||
"SkipTLSVerify": false,
|
"SkipTLSVerify": false,
|
||||||
"DefaultNamespace": "default"
|
"DefaultNamespace": "default"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
|
NAME DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
|
||||||
current * description of current https://someswarmserver https://someserver (default) all
|
current * description of current https://someswarmserver.example.com https://someserver.example.com (default) all
|
||||||
default Current DOCKER_HOST based configuration unix:///var/run/docker.sock swarm
|
default Current DOCKER_HOST based configuration unix:///var/run/docker.sock swarm
|
||||||
other description of other https://someswarmserver https://someserver (default) all
|
other description of other https://someswarmserver.example.com https://someserver.example.com (default) all
|
||||||
unset description of unset https://someswarmserver https://someserver (default)
|
unset description of unset https://someswarmserver.example.com https://someserver.example.com (default)
|
||||||
|
|
|
@ -2,7 +2,7 @@ apiVersion: v1
|
||||||
clusters:
|
clusters:
|
||||||
- cluster:
|
- cluster:
|
||||||
certificate-authority-data: dGhlLWNh
|
certificate-authority-data: dGhlLWNh
|
||||||
server: https://someserver
|
server: https://someserver.example.com
|
||||||
name: test-cluster
|
name: test-cluster
|
||||||
contexts:
|
contexts:
|
||||||
- context:
|
- context:
|
||||||
|
|
|
@ -15,17 +15,17 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestENVTrustServer(t *testing.T) {
|
func TestENVTrustServer(t *testing.T) {
|
||||||
defer env.PatchAll(t, map[string]string{"DOCKER_CONTENT_TRUST_SERVER": "https://notary-test.com:5000"})()
|
defer env.PatchAll(t, map[string]string{"DOCKER_CONTENT_TRUST_SERVER": "https://notary-test.example.com:5000"})()
|
||||||
indexInfo := ®istrytypes.IndexInfo{Name: "testserver"}
|
indexInfo := ®istrytypes.IndexInfo{Name: "testserver"}
|
||||||
output, err := trust.Server(indexInfo)
|
output, err := trust.Server(indexInfo)
|
||||||
expectedStr := "https://notary-test.com:5000"
|
expectedStr := "https://notary-test.example.com:5000"
|
||||||
if err != nil || output != expectedStr {
|
if err != nil || output != expectedStr {
|
||||||
t.Fatalf("Expected server to be %s, got %s", expectedStr, output)
|
t.Fatalf("Expected server to be %s, got %s", expectedStr, output)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestHTTPENVTrustServer(t *testing.T) {
|
func TestHTTPENVTrustServer(t *testing.T) {
|
||||||
defer env.PatchAll(t, map[string]string{"DOCKER_CONTENT_TRUST_SERVER": "http://notary-test.com:5000"})()
|
defer env.PatchAll(t, map[string]string{"DOCKER_CONTENT_TRUST_SERVER": "http://notary-test.example.com:5000"})()
|
||||||
indexInfo := ®istrytypes.IndexInfo{Name: "testserver"}
|
indexInfo := ®istrytypes.IndexInfo{Name: "testserver"}
|
||||||
_, err := trust.Server(indexInfo)
|
_, err := trust.Server(indexInfo)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
|
|
@ -66,10 +66,10 @@ func TestElectAuthServer(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
expectedAuthServer: "https://foo.bar",
|
expectedAuthServer: "https://foo.example.com",
|
||||||
expectedWarning: "",
|
expectedWarning: "",
|
||||||
infoFunc: func() (types.Info, error) {
|
infoFunc: func() (types.Info, error) {
|
||||||
return types.Info{IndexServerAddress: "https://foo.bar"}, nil
|
return types.Info{IndexServerAddress: "https://foo.example.com"}, nil
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -104,20 +104,20 @@ func TestDisplayTrustRootInvalidFlags(t *testing.T) {
|
||||||
errorMsg: "flag requires the `--rotate` flag to update the CA",
|
errorMsg: "flag requires the `--rotate` flag to update the CA",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
args: []string{"--external-ca=protocol=cfssl,url=https://some.com/https/url"},
|
args: []string{"--external-ca=protocol=cfssl,url=https://some.example.com/https/url"},
|
||||||
errorMsg: "flag requires the `--rotate` flag to update the CA",
|
errorMsg: "flag requires the `--rotate` flag to update the CA",
|
||||||
},
|
},
|
||||||
{ // to make sure we're not erroring because we didn't provide a CA cert and external CA
|
{ // to make sure we're not erroring because we didn't provide a CA cert and external CA
|
||||||
args: []string{
|
args: []string{
|
||||||
"--ca-cert=" + tmpfile,
|
"--ca-cert=" + tmpfile,
|
||||||
"--external-ca=protocol=cfssl,url=https://some.com/https/url",
|
"--external-ca=protocol=cfssl,url=https://some.example.com/https/url",
|
||||||
},
|
},
|
||||||
errorMsg: "flag requires the `--rotate` flag to update the CA",
|
errorMsg: "flag requires the `--rotate` flag to update the CA",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
args: []string{
|
args: []string{
|
||||||
"--rotate",
|
"--rotate",
|
||||||
"--external-ca=protocol=cfssl,url=https://some.com/https/url",
|
"--external-ca=protocol=cfssl,url=https://some.example.com/https/url",
|
||||||
},
|
},
|
||||||
errorMsg: "rotating to an external CA requires the `--ca-cert` flag to specify the external CA's cert - " +
|
errorMsg: "rotating to an external CA requires the `--ca-cert` flag to specify the external CA's cert - " +
|
||||||
"to add an external CA with the current root CA certificate, use the `update` command instead",
|
"to add an external CA with the current root CA certificate, use the `update` command instead",
|
||||||
|
@ -243,7 +243,7 @@ func TestUpdateSwarmSpecCertAndExternalCA(t *testing.T) {
|
||||||
"--rotate",
|
"--rotate",
|
||||||
"--detach",
|
"--detach",
|
||||||
"--ca-cert=" + certfile,
|
"--ca-cert=" + certfile,
|
||||||
"--external-ca=protocol=cfssl,url=https://some.external.ca"})
|
"--external-ca=protocol=cfssl,url=https://some.external.ca.example.com"})
|
||||||
cmd.SetOut(cli.OutBuffer())
|
cmd.SetOut(cli.OutBuffer())
|
||||||
assert.NilError(t, cmd.Execute())
|
assert.NilError(t, cmd.Execute())
|
||||||
|
|
||||||
|
@ -253,7 +253,7 @@ func TestUpdateSwarmSpecCertAndExternalCA(t *testing.T) {
|
||||||
expected.CAConfig.ExternalCAs = []*swarm.ExternalCA{
|
expected.CAConfig.ExternalCAs = []*swarm.ExternalCA{
|
||||||
{
|
{
|
||||||
Protocol: swarm.ExternalCAProtocolCFSSL,
|
Protocol: swarm.ExternalCAProtocolCFSSL,
|
||||||
URL: "https://some.external.ca",
|
URL: "https://some.external.ca.example.com",
|
||||||
CACert: cert,
|
CACert: cert,
|
||||||
Options: make(map[string]string),
|
Options: make(map[string]string),
|
||||||
},
|
},
|
||||||
|
@ -281,7 +281,7 @@ func TestUpdateSwarmSpecCertAndKeyAndExternalCA(t *testing.T) {
|
||||||
"--detach",
|
"--detach",
|
||||||
"--ca-cert=" + certfile,
|
"--ca-cert=" + certfile,
|
||||||
"--ca-key=" + keyfile,
|
"--ca-key=" + keyfile,
|
||||||
"--external-ca=protocol=cfssl,url=https://some.external.ca"})
|
"--external-ca=protocol=cfssl,url=https://some.external.ca.example.com"})
|
||||||
cmd.SetOut(cli.OutBuffer())
|
cmd.SetOut(cli.OutBuffer())
|
||||||
assert.NilError(t, cmd.Execute())
|
assert.NilError(t, cmd.Execute())
|
||||||
|
|
||||||
|
@ -291,7 +291,7 @@ func TestUpdateSwarmSpecCertAndKeyAndExternalCA(t *testing.T) {
|
||||||
expected.CAConfig.ExternalCAs = []*swarm.ExternalCA{
|
expected.CAConfig.ExternalCAs = []*swarm.ExternalCA{
|
||||||
{
|
{
|
||||||
Protocol: swarm.ExternalCAProtocolCFSSL,
|
Protocol: swarm.ExternalCAProtocolCFSSL,
|
||||||
URL: "https://some.external.ca",
|
URL: "https://some.external.ca.example.com",
|
||||||
CACert: cert,
|
CACert: cert,
|
||||||
Options: make(map[string]string),
|
Options: make(map[string]string),
|
||||||
},
|
},
|
||||||
|
|
|
@ -27,10 +27,10 @@ func TestEncodeAuth(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestProxyConfig(t *testing.T) {
|
func TestProxyConfig(t *testing.T) {
|
||||||
httpProxy := "http://proxy.mycorp.com:3128"
|
httpProxy := "http://proxy.mycorp.example.com:3128"
|
||||||
httpsProxy := "https://user:password@proxy.mycorp.com:3129"
|
httpsProxy := "https://user:password@proxy.mycorp.example.com:3129"
|
||||||
ftpProxy := "http://ftpproxy.mycorp.com:21"
|
ftpProxy := "http://ftpproxy.mycorp.example.com:21"
|
||||||
noProxy := "*.intra.mycorp.com"
|
noProxy := "*.intra.mycorp.example.com"
|
||||||
defaultProxyConfig := ProxyConfig{
|
defaultProxyConfig := ProxyConfig{
|
||||||
HTTPProxy: httpProxy,
|
HTTPProxy: httpProxy,
|
||||||
HTTPSProxy: httpsProxy,
|
HTTPSProxy: httpsProxy,
|
||||||
|
@ -59,12 +59,12 @@ func TestProxyConfig(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestProxyConfigOverride(t *testing.T) {
|
func TestProxyConfigOverride(t *testing.T) {
|
||||||
httpProxy := "http://proxy.mycorp.com:3128"
|
httpProxy := "http://proxy.mycorp.example.com:3128"
|
||||||
overrideHTTPProxy := "http://proxy.example.com:3128"
|
overrideHTTPProxy := "http://proxy.example.com:3128"
|
||||||
overrideNoProxy := ""
|
overrideNoProxy := ""
|
||||||
httpsProxy := "https://user:password@proxy.mycorp.com:3129"
|
httpsProxy := "https://user:password@proxy.mycorp.example.com:3129"
|
||||||
ftpProxy := "http://ftpproxy.mycorp.com:21"
|
ftpProxy := "http://ftpproxy.mycorp.example.com:21"
|
||||||
noProxy := "*.intra.mycorp.com"
|
noProxy := "*.intra.mycorp.example.com"
|
||||||
defaultProxyConfig := ProxyConfig{
|
defaultProxyConfig := ProxyConfig{
|
||||||
HTTPProxy: httpProxy,
|
HTTPProxy: httpProxy,
|
||||||
HTTPSProxy: httpsProxy,
|
HTTPSProxy: httpsProxy,
|
||||||
|
@ -102,10 +102,10 @@ func TestProxyConfigOverride(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestProxyConfigPerHost(t *testing.T) {
|
func TestProxyConfigPerHost(t *testing.T) {
|
||||||
httpProxy := "http://proxy.mycorp.com:3128"
|
httpProxy := "http://proxy.mycorp.example.com:3128"
|
||||||
httpsProxy := "https://user:password@proxy.mycorp.com:3129"
|
httpsProxy := "https://user:password@proxy.mycorp.example.com:3129"
|
||||||
ftpProxy := "http://ftpproxy.mycorp.com:21"
|
ftpProxy := "http://ftpproxy.mycorp.example.com:21"
|
||||||
noProxy := "*.intra.mycorp.com"
|
noProxy := "*.intra.mycorp.example.com"
|
||||||
|
|
||||||
extHTTPProxy := "http://proxy.example.com:3128"
|
extHTTPProxy := "http://proxy.example.com:3128"
|
||||||
extHTTPSProxy := "https://user:password@proxy.example.com:3129"
|
extHTTPSProxy := "https://user:password@proxy.example.com:3129"
|
||||||
|
|
|
@ -70,7 +70,7 @@ func TestFileStoreGet(t *testing.T) {
|
||||||
|
|
||||||
func TestFileStoreGetAll(t *testing.T) {
|
func TestFileStoreGetAll(t *testing.T) {
|
||||||
s1 := "https://example.com"
|
s1 := "https://example.com"
|
||||||
s2 := "https://example2.com"
|
s2 := "https://example2.example.com"
|
||||||
f := newStore(map[string]types.AuthConfig{
|
f := newStore(map[string]types.AuthConfig{
|
||||||
s1: {
|
s1: {
|
||||||
Auth: "super_secret_token",
|
Auth: "super_secret_token",
|
||||||
|
@ -80,7 +80,7 @@ func TestFileStoreGetAll(t *testing.T) {
|
||||||
s2: {
|
s2: {
|
||||||
Auth: "super_secret_token2",
|
Auth: "super_secret_token2",
|
||||||
Email: "foo@example2.com",
|
Email: "foo@example2.com",
|
||||||
ServerAddress: "https://example2.com",
|
ServerAddress: "https://example2.example.com",
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@ func getConnectionHelper(daemonURL string, sshFlags []string) (*ConnectionHelper
|
||||||
Dialer: func(ctx context.Context, network, addr string) (net.Conn, error) {
|
Dialer: func(ctx context.Context, network, addr string) (net.Conn, error) {
|
||||||
return commandconn.New(ctx, "ssh", append(sshFlags, sp.Args("docker", "system", "dial-stdio")...)...)
|
return commandconn.New(ctx, "ssh", append(sshFlags, sp.Args("docker", "system", "dial-stdio")...)...)
|
||||||
},
|
},
|
||||||
Host: "http://docker",
|
Host: "http://docker.example.com",
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
// Future version may support plugins via ~/.docker/config.json. e.g. "dind"
|
// Future version may support plugins via ~/.docker/config.json. e.g. "dind"
|
||||||
|
@ -63,6 +63,6 @@ func GetCommandConnectionHelper(cmd string, flags ...string) (*ConnectionHelper,
|
||||||
Dialer: func(ctx context.Context, network, addr string) (net.Conn, error) {
|
Dialer: func(ctx context.Context, network, addr string) (net.Conn, error) {
|
||||||
return commandconn.New(ctx, cmd, flags...)
|
return commandconn.New(ctx, cmd, flags...)
|
||||||
},
|
},
|
||||||
Host: "http://docker",
|
Host: "http://docker.example.com",
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue