Skip to content

Commit

Permalink
test: remove unused cross package dependency on mock api server
Browse files Browse the repository at this point in the history
  • Loading branch information
piksel committed Nov 1, 2021
1 parent 26fba69 commit ec43ece
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 82 deletions.
94 changes: 34 additions & 60 deletions internal/actions/actions_suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,7 @@ import (
"time"

"github.com/containrrr/watchtower/internal/actions"

"github.com/containrrr/watchtower/pkg/container"
"github.com/containrrr/watchtower/pkg/container/mocks"

"github.com/docker/docker/api/types"
cli "github.com/docker/docker/client"

. "github.com/containrrr/watchtower/internal/actions/mocks"
. "github.com/onsi/ginkgo"
Expand All @@ -23,51 +18,42 @@ func TestActions(t *testing.T) {
}

var _ = Describe("the actions package", func() {
var dockerClient cli.CommonAPIClient
var client MockClient
BeforeSuite(func() {
server := mocks.NewMockAPIServer()
dockerClient, _ = cli.NewClientWithOpts(
cli.WithHost(server.URL),
cli.WithHTTPClient(server.Client()))
})
BeforeEach(func() {
pullImages := false
removeVolumes := false

client = CreateMockClient(
&TestData{},
dockerClient,
pullImages,
removeVolumes,
)
})

Describe("the check prerequisites method", func() {
When("given an empty array", func() {
It("should not do anything", func() {
client.TestData.Containers = []container.Container{}
err := actions.CheckForMultipleWatchtowerInstances(client, false, "")
Expect(err).NotTo(HaveOccurred())
client := CreateMockClient(
&TestData{},
// pullImages:
false,
// removeVolumes:
false,
)
Expect(actions.CheckForMultipleWatchtowerInstances(client, false, "")).To(Succeed())
})
})
When("given an array of one", func() {
It("should not do anything", func() {
client.TestData.Containers = []container.Container{
CreateMockContainer(
"test-container",
"test-container",
"watchtower",
time.Now()),
}
err := actions.CheckForMultipleWatchtowerInstances(client, false, "")
Expect(err).NotTo(HaveOccurred())
client := CreateMockClient(
&TestData{
Containers: []container.Container{
CreateMockContainer(
"test-container",
"test-container",
"watchtower",
time.Now()),
},
},
// pullImages:
false,
// removeVolumes:
false,
)
Expect(actions.CheckForMultipleWatchtowerInstances(client, false, "")).To(Succeed())
})
})
When("given multiple containers", func() {
var client MockClient
BeforeEach(func() {
pullImages := false
removeVolumes := false
client = CreateMockClient(
&TestData{
NameOfContainerToKeep: "test-container-02",
Expand All @@ -84,9 +70,10 @@ var _ = Describe("the actions package", func() {
time.Now()),
},
},
dockerClient,
pullImages,
removeVolumes,
// pullImages:
false,
// removeVolumes:
false,
)
})

Expand All @@ -96,10 +83,8 @@ var _ = Describe("the actions package", func() {
})
})
When("deciding whether to cleanup images", func() {
var client MockClient
BeforeEach(func() {
pullImages := false
removeVolumes := false

client = CreateMockClient(
&TestData{
Containers: []container.Container{
Expand All @@ -115,9 +100,10 @@ var _ = Describe("the actions package", func() {
time.Now()),
},
},
dockerClient,
pullImages,
removeVolumes,
// pullImages:
false,
// removeVolumes:
false,
)
})
It("should try to delete the image if the cleanup flag is true", func() {
Expand All @@ -133,15 +119,3 @@ var _ = Describe("the actions package", func() {
})
})
})

func createMockContainer(id string, name string, image string, created time.Time) container.Container {
content := types.ContainerJSON{
ContainerJSONBase: &types.ContainerJSONBase{
ID: id,
Image: image,
Name: name,
Created: created.String(),
},
}
return *container.NewContainer(&content, nil)
}
5 changes: 1 addition & 4 deletions internal/actions/mocks/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,11 @@ import (
"time"

t "github.com/containrrr/watchtower/pkg/types"
cli "github.com/docker/docker/client"
)

// MockClient is a mock that passes as a watchtower Client
type MockClient struct {
TestData *TestData
api cli.CommonAPIClient
pullImages bool
removeVolumes bool
}
Expand All @@ -31,10 +29,9 @@ func (testdata *TestData) TriedToRemoveImage() bool {
}

// CreateMockClient creates a mock watchtower Client for usage in tests
func CreateMockClient(data *TestData, api cli.CommonAPIClient, pullImages bool, removeVolumes bool) MockClient {
func CreateMockClient(data *TestData, pullImages bool, removeVolumes bool) MockClient {
return MockClient{
data,
api,
pullImages,
removeVolumes,
}
Expand Down
18 changes: 0 additions & 18 deletions internal/actions/update_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,8 @@ package actions_test
import (
"github.com/containrrr/watchtower/internal/actions"
"github.com/containrrr/watchtower/pkg/container"
"github.com/containrrr/watchtower/pkg/container/mocks"
"github.com/containrrr/watchtower/pkg/types"
dockerContainer "github.com/docker/docker/api/types/container"
cli "github.com/docker/docker/client"
"github.com/docker/go-connections/nat"
"time"

Expand All @@ -16,16 +14,8 @@ import (
)

var _ = Describe("the update action", func() {
var dockerClient cli.CommonAPIClient
var client MockClient

BeforeEach(func() {
server := mocks.NewMockAPIServer()
dockerClient, _ = cli.NewClientWithOpts(
cli.WithHost(server.URL),
cli.WithHTTPClient(server.Client()))
})

When("watchtower has been instructed to clean up", func() {
BeforeEach(func() {
pullImages := false
Expand All @@ -51,7 +41,6 @@ var _ = Describe("the update action", func() {
time.Now()),
},
},
dockerClient,
pullImages,
removeVolumes,
)
Expand Down Expand Up @@ -117,7 +106,6 @@ var _ = Describe("the update action", func() {
}),
},
},
dockerClient,
false,
false,
)
Expand Down Expand Up @@ -147,7 +135,6 @@ var _ = Describe("the update action", func() {
time.Now()),
},
},
dockerClient,
false,
false,
)
Expand Down Expand Up @@ -186,7 +173,6 @@ var _ = Describe("the update action", func() {
}),
},
},
dockerClient,
false,
false,
)
Expand Down Expand Up @@ -222,7 +208,6 @@ var _ = Describe("the update action", func() {
}),
},
},
dockerClient,
false,
false,
)
Expand Down Expand Up @@ -258,7 +243,6 @@ var _ = Describe("the update action", func() {
}),
},
},
dockerClient,
false,
false,
)
Expand Down Expand Up @@ -293,7 +277,6 @@ var _ = Describe("the update action", func() {
}),
},
},
dockerClient,
false,
false,
)
Expand Down Expand Up @@ -329,7 +312,6 @@ var _ = Describe("the update action", func() {
}),
},
},
dockerClient,
false,
false,
)
Expand Down

0 comments on commit ec43ece

Please sign in to comment.