util_test.go 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. //go:build linux
  2. // +build linux
  3. package daemon
  4. import (
  5. "context"
  6. "time"
  7. "github.com/containerd/containerd"
  8. libcontainerdtypes "github.com/docker/docker/libcontainerd/types"
  9. specs "github.com/opencontainers/runtime-spec/specs-go"
  10. )
  11. type mockProcess struct {
  12. }
  13. func (m *mockProcess) Delete(_ context.Context) (uint32, time.Time, error) {
  14. return 0, time.Time{}, nil
  15. }
  16. // Mock containerd client implementation, for unit tests.
  17. type MockContainerdClient struct {
  18. }
  19. func (c *MockContainerdClient) Version(ctx context.Context) (containerd.Version, error) {
  20. return containerd.Version{}, nil
  21. }
  22. func (c *MockContainerdClient) Restore(ctx context.Context, containerID string, attachStdio libcontainerdtypes.StdioCallback) (alive bool, pid int, p libcontainerdtypes.Process, err error) {
  23. return false, 0, &mockProcess{}, nil
  24. }
  25. func (c *MockContainerdClient) Create(ctx context.Context, containerID string, spec *specs.Spec, shim string, runtimeOptions interface{}, opts ...containerd.NewContainerOpts) error {
  26. return nil
  27. }
  28. func (c *MockContainerdClient) Start(ctx context.Context, containerID, checkpointDir string, withStdin bool, attachStdio libcontainerdtypes.StdioCallback) (pid int, err error) {
  29. return 0, nil
  30. }
  31. func (c *MockContainerdClient) SignalProcess(ctx context.Context, containerID, processID string, signal int) error {
  32. return nil
  33. }
  34. func (c *MockContainerdClient) Exec(ctx context.Context, containerID, processID string, spec *specs.Process, withStdin bool, attachStdio libcontainerdtypes.StdioCallback) (int, error) {
  35. return 0, nil
  36. }
  37. func (c *MockContainerdClient) ResizeTerminal(ctx context.Context, containerID, processID string, width, height int) error {
  38. return nil
  39. }
  40. func (c *MockContainerdClient) CloseStdin(ctx context.Context, containerID, processID string) error {
  41. return nil
  42. }
  43. func (c *MockContainerdClient) Pause(ctx context.Context, containerID string) error { return nil }
  44. func (c *MockContainerdClient) Resume(ctx context.Context, containerID string) error { return nil }
  45. func (c *MockContainerdClient) Stats(ctx context.Context, containerID string) (*libcontainerdtypes.Stats, error) {
  46. return nil, nil
  47. }
  48. func (c *MockContainerdClient) ListPids(ctx context.Context, containerID string) ([]uint32, error) {
  49. return nil, nil
  50. }
  51. func (c *MockContainerdClient) Summary(ctx context.Context, containerID string) ([]libcontainerdtypes.Summary, error) {
  52. return nil, nil
  53. }
  54. func (c *MockContainerdClient) DeleteTask(ctx context.Context, containerID string) (uint32, time.Time, error) {
  55. return 0, time.Time{}, nil
  56. }
  57. func (c *MockContainerdClient) Delete(ctx context.Context, containerID string) error { return nil }
  58. func (c *MockContainerdClient) Status(ctx context.Context, containerID string) (containerd.ProcessStatus, error) {
  59. return "null", nil
  60. }
  61. func (c *MockContainerdClient) UpdateResources(ctx context.Context, containerID string, resources *libcontainerdtypes.Resources) error {
  62. return nil
  63. }
  64. func (c *MockContainerdClient) CreateCheckpoint(ctx context.Context, containerID, checkpointDir string, exit bool) error {
  65. return nil
  66. }