docker_api_swarm_secret_test.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // +build !windows
  2. package main
  3. import (
  4. "net/http"
  5. "github.com/docker/docker/api/types/swarm"
  6. "github.com/docker/docker/integration-cli/checker"
  7. "github.com/go-check/check"
  8. )
  9. func (s *DockerSwarmSuite) TestAPISwarmSecretsEmptyList(c *check.C) {
  10. d := s.AddDaemon(c, true, true)
  11. secrets := d.ListSecrets(c)
  12. c.Assert(secrets, checker.NotNil)
  13. c.Assert(len(secrets), checker.Equals, 0, check.Commentf("secrets: %#v", secrets))
  14. }
  15. func (s *DockerSwarmSuite) TestAPISwarmSecretsCreate(c *check.C) {
  16. d := s.AddDaemon(c, true, true)
  17. testName := "test_secret"
  18. id := d.CreateSecret(c, swarm.SecretSpec{
  19. swarm.Annotations{
  20. Name: testName,
  21. },
  22. []byte("TESTINGDATA"),
  23. })
  24. c.Assert(id, checker.Not(checker.Equals), "", check.Commentf("secrets: %s", id))
  25. secrets := d.ListSecrets(c)
  26. c.Assert(len(secrets), checker.Equals, 1, check.Commentf("secrets: %#v", secrets))
  27. name := secrets[0].Spec.Annotations.Name
  28. c.Assert(name, checker.Equals, testName, check.Commentf("secret: %s", name))
  29. }
  30. func (s *DockerSwarmSuite) TestAPISwarmSecretsDelete(c *check.C) {
  31. d := s.AddDaemon(c, true, true)
  32. testName := "test_secret"
  33. id := d.CreateSecret(c, swarm.SecretSpec{
  34. swarm.Annotations{
  35. Name: testName,
  36. },
  37. []byte("TESTINGDATA"),
  38. })
  39. c.Assert(id, checker.Not(checker.Equals), "", check.Commentf("secrets: %s", id))
  40. secret := d.GetSecret(c, id)
  41. c.Assert(secret.ID, checker.Equals, id, check.Commentf("secret: %v", secret))
  42. d.DeleteSecret(c, secret.ID)
  43. status, out, err := d.SockRequest("GET", "/secrets/"+id, nil)
  44. c.Assert(err, checker.IsNil)
  45. c.Assert(status, checker.Equals, http.StatusNotFound, check.Commentf("secret delete: %s", string(out)))
  46. }