docker_cli_daemon_experimental_test.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. // +build linux, experimental
  2. package main
  3. import (
  4. "github.com/docker/docker/pkg/integration/checker"
  5. "github.com/go-check/check"
  6. )
  7. var pluginName = "tiborvass/no-remove"
  8. // TestDaemonRestartWithPluginEnabled tests state restore for an enabled plugin
  9. func (s *DockerDaemonSuite) TestDaemonRestartWithPluginEnabled(c *check.C) {
  10. if err := s.d.Start(); err != nil {
  11. c.Fatalf("Could not start daemon: %v", err)
  12. }
  13. if out, err := s.d.Cmd("plugin", "install", "--grant-all-permissions", pluginName); err != nil {
  14. c.Fatalf("Could not install plugin: %v %s", err, out)
  15. }
  16. defer func() {
  17. if out, err := s.d.Cmd("plugin", "disable", pluginName); err != nil {
  18. c.Fatalf("Could not disable plugin: %v %s", err, out)
  19. }
  20. if out, err := s.d.Cmd("plugin", "remove", pluginName); err != nil {
  21. c.Fatalf("Could not remove plugin: %v %s", err, out)
  22. }
  23. }()
  24. if err := s.d.Restart(); err != nil {
  25. c.Fatalf("Could not restart daemon: %v", err)
  26. }
  27. out, err := s.d.Cmd("plugin", "ls")
  28. if err != nil {
  29. c.Fatalf("Could not list plugins: %v %s", err, out)
  30. }
  31. c.Assert(out, checker.Contains, pluginName)
  32. c.Assert(out, checker.Contains, "true")
  33. }
  34. // TestDaemonRestartWithPluginEnabled tests state restore for a disabled plugin
  35. func (s *DockerDaemonSuite) TestDaemonRestartWithPluginDisabled(c *check.C) {
  36. if err := s.d.Start(); err != nil {
  37. c.Fatalf("Could not start daemon: %v", err)
  38. }
  39. if out, err := s.d.Cmd("plugin", "install", "--grant-all-permissions", pluginName, "--disable"); err != nil {
  40. c.Fatalf("Could not install plugin: %v %s", err, out)
  41. }
  42. defer func() {
  43. if out, err := s.d.Cmd("plugin", "remove", pluginName); err != nil {
  44. c.Fatalf("Could not remove plugin: %v %s", err, out)
  45. }
  46. }()
  47. if err := s.d.Restart(); err != nil {
  48. c.Fatalf("Could not restart daemon: %v", err)
  49. }
  50. out, err := s.d.Cmd("plugin", "ls")
  51. if err != nil {
  52. c.Fatalf("Could not list plugins: %v %s", err, out)
  53. }
  54. c.Assert(out, checker.Contains, pluginName)
  55. c.Assert(out, checker.Contains, "false")
  56. }