(t *testing.T)
| 299 | } |
| 300 | |
| 301 | func TestHooksEnabled(t *testing.T) { |
| 302 | t.Run("disabled by default", func(t *testing.T) { |
| 303 | // Make sure we don't depend on any existing ~/.docker/config.json |
| 304 | config.SetDir(t.TempDir()) |
| 305 | cli, err := NewDockerCli() |
| 306 | assert.NilError(t, err) |
| 307 | |
| 308 | assert.Check(t, !cli.HooksEnabled()) |
| 309 | }) |
| 310 | |
| 311 | t.Run("enabled in configFile", func(t *testing.T) { |
| 312 | configFile := `{ |
| 313 | "features": { |
| 314 | "hooks": "true" |
| 315 | }}` |
| 316 | config.SetDir(t.TempDir()) |
| 317 | err := os.WriteFile(filepath.Join(config.Dir(), "config.json"), []byte(configFile), 0o600) |
| 318 | assert.NilError(t, err) |
| 319 | cli, err := NewDockerCli() |
| 320 | assert.NilError(t, err) |
| 321 | assert.Check(t, cli.HooksEnabled()) |
| 322 | }) |
| 323 | |
| 324 | t.Run("env var overrides configFile", func(t *testing.T) { |
| 325 | configFile := `{ |
| 326 | "features": { |
| 327 | "hooks": "true" |
| 328 | }}` |
| 329 | t.Setenv("DOCKER_CLI_HOOKS", "false") |
| 330 | config.SetDir(t.TempDir()) |
| 331 | err := os.WriteFile(filepath.Join(config.Dir(), "config.json"), []byte(configFile), 0o600) |
| 332 | assert.NilError(t, err) |
| 333 | cli, err := NewDockerCli() |
| 334 | assert.NilError(t, err) |
| 335 | assert.Check(t, !cli.HooksEnabled()) |
| 336 | }) |
| 337 | |
| 338 | t.Run("legacy env var overrides configFile", func(t *testing.T) { |
| 339 | configFile := `{ |
| 340 | "features": { |
| 341 | "hooks": "true" |
| 342 | }}` |
| 343 | t.Setenv("DOCKER_CLI_HINTS", "false") |
| 344 | config.SetDir(t.TempDir()) |
| 345 | err := os.WriteFile(filepath.Join(config.Dir(), "config.json"), []byte(configFile), 0o600) |
| 346 | assert.NilError(t, err) |
| 347 | cli, err := NewDockerCli() |
| 348 | assert.NilError(t, err) |
| 349 | assert.Check(t, !cli.HooksEnabled()) |
| 350 | }) |
| 351 | } |
| 352 | |
| 353 | func TestSetGoDebug(t *testing.T) { |
| 354 | t.Run("GODEBUG already set", func(t *testing.T) { |
nothing calls this directly
no test coverage detected
searching dependent graphs…