From 8aad258408eb2bc895bc4a275a2a8a724d610b1a Mon Sep 17 00:00:00 2001 From: Simon Aronsson Date: Sat, 11 Jan 2020 00:34:52 +0100 Subject: [PATCH] #387 fix: add comments to pass linting --- internal/actions/mocks/client.go | 14 +++++++++++++- internal/actions/mocks/container.go | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/internal/actions/mocks/client.go b/internal/actions/mocks/client.go index e01043a..dad2506 100644 --- a/internal/actions/mocks/client.go +++ b/internal/actions/mocks/client.go @@ -9,6 +9,7 @@ import ( cli "github.com/docker/docker/client" ) +// MockClient is a mock that passes as a watchtower Client type MockClient struct { TestData *TestData api cli.CommonAPIClient @@ -16,16 +17,19 @@ type MockClient struct { removeVolumes bool } +// TestData is the data used to perform the test type TestData struct { TriedToRemoveImageCount int NameOfContainerToKeep string Containers []container.Container } +// TriedToRemoveImage is a test helper function to check whether RemoveImageByID has been called func (testdata *TestData) TriedToRemoveImage() bool { return testdata.TriedToRemoveImageCount > 0 } +// CreateMockClient creates a mock watchtower Client for usage in tests func CreateMockClient(data *TestData, api cli.CommonAPIClient, pullImages bool, removeVolumes bool) MockClient { return MockClient { data, @@ -35,37 +39,45 @@ func CreateMockClient(data *TestData, api cli.CommonAPIClient, pullImages bool, } } +// ListContainers is a mock method returning the provided container testdata func (client MockClient) ListContainers(f t.Filter) ([]container.Container, error) { return client.TestData.Containers, nil } +// StopContainer is a mock method func (client MockClient) StopContainer(c container.Container, d time.Duration) error { if c.Name() == client.TestData.NameOfContainerToKeep { return errors.New("tried to stop the instance we want to keep") } return nil } + +// StartContainer is a mock method func (client MockClient) StartContainer(c container.Container) (string, error) { return "", nil } - +// RenameContainer is a mock method func (client MockClient) RenameContainer(c container.Container, s string) error { return nil } +// RemoveImageByID increments the TriedToRemoveImageCount on being called func (client MockClient) RemoveImageByID(id string) error { client.TestData.TriedToRemoveImageCount++ return nil } +// GetContainer is a mock method func (client MockClient) GetContainer(containerID string) (container.Container, error) { return container.Container{}, nil } +// ExecuteCommand is a mock method func (client MockClient) ExecuteCommand(containerID string, command string) error { return nil } +// IsContainerStale is always true for the mock client func (client MockClient) IsContainerStale(c container.Container) (bool, error) { return true, nil } diff --git a/internal/actions/mocks/container.go b/internal/actions/mocks/container.go index 4a56106..060340e 100644 --- a/internal/actions/mocks/container.go +++ b/internal/actions/mocks/container.go @@ -7,6 +7,7 @@ import ( "time" ) +// CreateMockContainer creates a container substitute valid for testing func CreateMockContainer(id string, name string, image string, created time.Time) container.Container { content := types.ContainerJSON{ ContainerJSONBase: &types.ContainerJSONBase{