Merge pull request #5985 from thaJeztah/command_fix_tests
cli/command: minor test-fixes and cleanups
This commit is contained in:
commit
2631d5ba99
@ -9,6 +9,7 @@ import (
|
|||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"runtime"
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
@ -22,7 +23,6 @@ import (
|
|||||||
"github.com/docker/docker/api/types"
|
"github.com/docker/docker/api/types"
|
||||||
"github.com/docker/docker/client"
|
"github.com/docker/docker/client"
|
||||||
"gotest.tools/v3/assert"
|
"gotest.tools/v3/assert"
|
||||||
"gotest.tools/v3/fs"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestNewAPIClientFromFlags(t *testing.T) {
|
func TestNewAPIClientFromFlags(t *testing.T) {
|
||||||
@ -205,8 +205,8 @@ func TestInitializeFromClient(t *testing.T) {
|
|||||||
// Makes sure we don't hang forever on the initial connection.
|
// Makes sure we don't hang forever on the initial connection.
|
||||||
// https://github.com/docker/cli/issues/3652
|
// https://github.com/docker/cli/issues/3652
|
||||||
func TestInitializeFromClientHangs(t *testing.T) {
|
func TestInitializeFromClientHangs(t *testing.T) {
|
||||||
dir := t.TempDir()
|
tmpDir := t.TempDir()
|
||||||
socket := filepath.Join(dir, "my.sock")
|
socket := filepath.Join(tmpDir, "my.sock")
|
||||||
l, err := net.Listen("unix", socket)
|
l, err := net.Listen("unix", socket)
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
|
|
||||||
@ -280,12 +280,14 @@ func TestNewDockerCliAndOperators(t *testing.T) {
|
|||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
assert.Equal(t, string(inputStream), "input")
|
assert.Equal(t, string(inputStream), "input")
|
||||||
// Check output stream
|
// Check output stream
|
||||||
fmt.Fprintf(cli.Out(), "output")
|
_, err = fmt.Fprint(cli.Out(), "output")
|
||||||
|
assert.NilError(t, err)
|
||||||
outputStream, err := io.ReadAll(outbuf)
|
outputStream, err := io.ReadAll(outbuf)
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
assert.Equal(t, string(outputStream), "output")
|
assert.Equal(t, string(outputStream), "output")
|
||||||
// Check error stream
|
// Check error stream
|
||||||
fmt.Fprintf(cli.Err(), "error")
|
_, err = fmt.Fprint(cli.Err(), "error")
|
||||||
|
assert.NilError(t, err)
|
||||||
errStream, err := io.ReadAll(errbuf)
|
errStream, err := io.ReadAll(errbuf)
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
assert.Equal(t, string(errStream), "error")
|
assert.Equal(t, string(errStream), "error")
|
||||||
@ -302,6 +304,8 @@ func TestInitializeShouldAlwaysCreateTheContextStore(t *testing.T) {
|
|||||||
|
|
||||||
func TestHooksEnabled(t *testing.T) {
|
func TestHooksEnabled(t *testing.T) {
|
||||||
t.Run("disabled by default", func(t *testing.T) {
|
t.Run("disabled by default", func(t *testing.T) {
|
||||||
|
// Make sure we don't depend on any existing ~/.docker/config.json
|
||||||
|
config.SetDir(t.TempDir())
|
||||||
cli, err := NewDockerCli()
|
cli, err := NewDockerCli()
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
|
|
||||||
@ -313,12 +317,11 @@ func TestHooksEnabled(t *testing.T) {
|
|||||||
"features": {
|
"features": {
|
||||||
"hooks": "true"
|
"hooks": "true"
|
||||||
}}`
|
}}`
|
||||||
dir := fs.NewDir(t, "", fs.WithFile("config.json", configFile))
|
config.SetDir(t.TempDir())
|
||||||
defer dir.Remove()
|
err := os.WriteFile(filepath.Join(config.Dir(), "config.json"), []byte(configFile), 0o600)
|
||||||
|
assert.NilError(t, err)
|
||||||
cli, err := NewDockerCli()
|
cli, err := NewDockerCli()
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
config.SetDir(dir.Path())
|
|
||||||
|
|
||||||
assert.Check(t, cli.HooksEnabled())
|
assert.Check(t, cli.HooksEnabled())
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -328,12 +331,11 @@ func TestHooksEnabled(t *testing.T) {
|
|||||||
"hooks": "true"
|
"hooks": "true"
|
||||||
}}`
|
}}`
|
||||||
t.Setenv("DOCKER_CLI_HOOKS", "false")
|
t.Setenv("DOCKER_CLI_HOOKS", "false")
|
||||||
dir := fs.NewDir(t, "", fs.WithFile("config.json", configFile))
|
config.SetDir(t.TempDir())
|
||||||
defer dir.Remove()
|
err := os.WriteFile(filepath.Join(config.Dir(), "config.json"), []byte(configFile), 0o600)
|
||||||
|
assert.NilError(t, err)
|
||||||
cli, err := NewDockerCli()
|
cli, err := NewDockerCli()
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
config.SetDir(dir.Path())
|
|
||||||
|
|
||||||
assert.Check(t, !cli.HooksEnabled())
|
assert.Check(t, !cli.HooksEnabled())
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -343,12 +345,11 @@ func TestHooksEnabled(t *testing.T) {
|
|||||||
"hooks": "true"
|
"hooks": "true"
|
||||||
}}`
|
}}`
|
||||||
t.Setenv("DOCKER_CLI_HINTS", "false")
|
t.Setenv("DOCKER_CLI_HINTS", "false")
|
||||||
dir := fs.NewDir(t, "", fs.WithFile("config.json", configFile))
|
config.SetDir(t.TempDir())
|
||||||
defer dir.Remove()
|
err := os.WriteFile(filepath.Join(config.Dir(), "config.json"), []byte(configFile), 0o600)
|
||||||
|
assert.NilError(t, err)
|
||||||
cli, err := NewDockerCli()
|
cli, err := NewDockerCli()
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
config.SetDir(dir.Path())
|
|
||||||
|
|
||||||
assert.Check(t, !cli.HooksEnabled())
|
assert.Check(t, !cli.HooksEnabled())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user