backend_test.go 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package e2e
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/assert"
  5. "github.com/stretchr/testify/require"
  6. "github.com/stretchr/testify/suite"
  7. "github.com/docker/api/tests/framework"
  8. )
  9. type LocalBackendTestSuite struct {
  10. framework.Suite
  11. }
  12. func (m *LocalBackendTestSuite) BeforeTest(suiteName string, testName string) {
  13. m.NewDockerCommand("context", "create", "local", "test-context").ExecOrDie()
  14. m.NewDockerCommand("context", "use", "test-context").ExecOrDie()
  15. }
  16. func (m *LocalBackendTestSuite) AfterTest(suiteName string, testName string) {
  17. m.NewDockerCommand("context", "rm", "-f", "test-context").ExecOrDie()
  18. }
  19. func (m *LocalBackendTestSuite) TestPs() {
  20. out := m.NewDockerCommand("ps").ExecOrDie()
  21. require.Equal(m.T(), "CONTAINER ID IMAGE COMMAND STATUS PORTS\n", out)
  22. }
  23. func (m *LocalBackendTestSuite) TestRun() {
  24. _, err := m.NewDockerCommand("run", "--name", "nginx", "nginx").Exec()
  25. require.Nil(m.T(), err)
  26. out := m.NewDockerCommand("ps").ExecOrDie()
  27. defer func() {
  28. m.NewDockerCommand("rm", "-f", "nginx").ExecOrDie()
  29. }()
  30. assert.Contains(m.T(), out, "nginx")
  31. }
  32. func (m *LocalBackendTestSuite) TestRunWithPorts() {
  33. _, err := m.NewDockerCommand("run", "--name", "nginx", "-p", "8080:80", "nginx").Exec()
  34. require.Nil(m.T(), err)
  35. out := m.NewDockerCommand("ps").ExecOrDie()
  36. defer func() {
  37. m.NewDockerCommand("rm", "-f", "nginx").ExecOrDie()
  38. }()
  39. assert.Contains(m.T(), out, "8080")
  40. out = m.NewDockerCommand("inspect", "nginx").ExecOrDie()
  41. assert.Contains(m.T(), out, "\"Status\": \"running\"")
  42. }
  43. func (m *LocalBackendTestSuite) TestInspectNotFound() {
  44. out, _ := m.NewDockerCommand("inspect", "nonexistentcontainer").Exec()
  45. assert.Contains(m.T(), out, "Error: No such container: nonexistentcontainer")
  46. }
  47. func TestLocalBackendTestSuite(t *testing.T) {
  48. suite.Run(t, new(LocalBackendTestSuite))
  49. }