backend_test.go 1.6 KB

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