mirror of
https://github.com/containrrr/watchtower.git
synced 2025-09-21 21:30:48 +02:00
test: remove unused cross package dependency on mock api server
This commit is contained in:
parent
26fba69169
commit
ec43ecedc4
3 changed files with 35 additions and 82 deletions
|
@ -5,12 +5,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/containrrr/watchtower/internal/actions"
|
"github.com/containrrr/watchtower/internal/actions"
|
||||||
|
|
||||||
"github.com/containrrr/watchtower/pkg/container"
|
"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/containrrr/watchtower/internal/actions/mocks"
|
||||||
. "github.com/onsi/ginkgo"
|
. "github.com/onsi/ginkgo"
|
||||||
|
@ -23,51 +18,42 @@ func TestActions(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ = Describe("the actions package", func() {
|
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() {
|
Describe("the check prerequisites method", func() {
|
||||||
When("given an empty array", func() {
|
When("given an empty array", func() {
|
||||||
It("should not do anything", func() {
|
It("should not do anything", func() {
|
||||||
client.TestData.Containers = []container.Container{}
|
client := CreateMockClient(
|
||||||
err := actions.CheckForMultipleWatchtowerInstances(client, false, "")
|
&TestData{},
|
||||||
Expect(err).NotTo(HaveOccurred())
|
// pullImages:
|
||||||
|
false,
|
||||||
|
// removeVolumes:
|
||||||
|
false,
|
||||||
|
)
|
||||||
|
Expect(actions.CheckForMultipleWatchtowerInstances(client, false, "")).To(Succeed())
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
When("given an array of one", func() {
|
When("given an array of one", func() {
|
||||||
It("should not do anything", func() {
|
It("should not do anything", func() {
|
||||||
client.TestData.Containers = []container.Container{
|
client := CreateMockClient(
|
||||||
CreateMockContainer(
|
&TestData{
|
||||||
"test-container",
|
Containers: []container.Container{
|
||||||
"test-container",
|
CreateMockContainer(
|
||||||
"watchtower",
|
"test-container",
|
||||||
time.Now()),
|
"test-container",
|
||||||
}
|
"watchtower",
|
||||||
err := actions.CheckForMultipleWatchtowerInstances(client, false, "")
|
time.Now()),
|
||||||
Expect(err).NotTo(HaveOccurred())
|
},
|
||||||
|
},
|
||||||
|
// pullImages:
|
||||||
|
false,
|
||||||
|
// removeVolumes:
|
||||||
|
false,
|
||||||
|
)
|
||||||
|
Expect(actions.CheckForMultipleWatchtowerInstances(client, false, "")).To(Succeed())
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
When("given multiple containers", func() {
|
When("given multiple containers", func() {
|
||||||
|
var client MockClient
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
pullImages := false
|
|
||||||
removeVolumes := false
|
|
||||||
client = CreateMockClient(
|
client = CreateMockClient(
|
||||||
&TestData{
|
&TestData{
|
||||||
NameOfContainerToKeep: "test-container-02",
|
NameOfContainerToKeep: "test-container-02",
|
||||||
|
@ -84,9 +70,10 @@ var _ = Describe("the actions package", func() {
|
||||||
time.Now()),
|
time.Now()),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
dockerClient,
|
// pullImages:
|
||||||
pullImages,
|
false,
|
||||||
removeVolumes,
|
// removeVolumes:
|
||||||
|
false,
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -96,10 +83,8 @@ var _ = Describe("the actions package", func() {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
When("deciding whether to cleanup images", func() {
|
When("deciding whether to cleanup images", func() {
|
||||||
|
var client MockClient
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
pullImages := false
|
|
||||||
removeVolumes := false
|
|
||||||
|
|
||||||
client = CreateMockClient(
|
client = CreateMockClient(
|
||||||
&TestData{
|
&TestData{
|
||||||
Containers: []container.Container{
|
Containers: []container.Container{
|
||||||
|
@ -115,9 +100,10 @@ var _ = Describe("the actions package", func() {
|
||||||
time.Now()),
|
time.Now()),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
dockerClient,
|
// pullImages:
|
||||||
pullImages,
|
false,
|
||||||
removeVolumes,
|
// removeVolumes:
|
||||||
|
false,
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
It("should try to delete the image if the cleanup flag is true", func() {
|
It("should try to delete the image if the cleanup flag is true", func() {
|
||||||
|
@ -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)
|
|
||||||
}
|
|
||||||
|
|
|
@ -7,13 +7,11 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
t "github.com/containrrr/watchtower/pkg/types"
|
t "github.com/containrrr/watchtower/pkg/types"
|
||||||
cli "github.com/docker/docker/client"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// MockClient is a mock that passes as a watchtower Client
|
// MockClient is a mock that passes as a watchtower Client
|
||||||
type MockClient struct {
|
type MockClient struct {
|
||||||
TestData *TestData
|
TestData *TestData
|
||||||
api cli.CommonAPIClient
|
|
||||||
pullImages bool
|
pullImages bool
|
||||||
removeVolumes bool
|
removeVolumes bool
|
||||||
}
|
}
|
||||||
|
@ -31,10 +29,9 @@ func (testdata *TestData) TriedToRemoveImage() bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
// CreateMockClient creates a mock watchtower Client for usage in tests
|
// 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{
|
return MockClient{
|
||||||
data,
|
data,
|
||||||
api,
|
|
||||||
pullImages,
|
pullImages,
|
||||||
removeVolumes,
|
removeVolumes,
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,10 +3,8 @@ package actions_test
|
||||||
import (
|
import (
|
||||||
"github.com/containrrr/watchtower/internal/actions"
|
"github.com/containrrr/watchtower/internal/actions"
|
||||||
"github.com/containrrr/watchtower/pkg/container"
|
"github.com/containrrr/watchtower/pkg/container"
|
||||||
"github.com/containrrr/watchtower/pkg/container/mocks"
|
|
||||||
"github.com/containrrr/watchtower/pkg/types"
|
"github.com/containrrr/watchtower/pkg/types"
|
||||||
dockerContainer "github.com/docker/docker/api/types/container"
|
dockerContainer "github.com/docker/docker/api/types/container"
|
||||||
cli "github.com/docker/docker/client"
|
|
||||||
"github.com/docker/go-connections/nat"
|
"github.com/docker/go-connections/nat"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -16,16 +14,8 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ = Describe("the update action", func() {
|
var _ = Describe("the update action", func() {
|
||||||
var dockerClient cli.CommonAPIClient
|
|
||||||
var client MockClient
|
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() {
|
When("watchtower has been instructed to clean up", func() {
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
pullImages := false
|
pullImages := false
|
||||||
|
@ -51,7 +41,6 @@ var _ = Describe("the update action", func() {
|
||||||
time.Now()),
|
time.Now()),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
dockerClient,
|
|
||||||
pullImages,
|
pullImages,
|
||||||
removeVolumes,
|
removeVolumes,
|
||||||
)
|
)
|
||||||
|
@ -117,7 +106,6 @@ var _ = Describe("the update action", func() {
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
dockerClient,
|
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
)
|
)
|
||||||
|
@ -147,7 +135,6 @@ var _ = Describe("the update action", func() {
|
||||||
time.Now()),
|
time.Now()),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
dockerClient,
|
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
)
|
)
|
||||||
|
@ -186,7 +173,6 @@ var _ = Describe("the update action", func() {
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
dockerClient,
|
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
)
|
)
|
||||||
|
@ -222,7 +208,6 @@ var _ = Describe("the update action", func() {
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
dockerClient,
|
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
)
|
)
|
||||||
|
@ -258,7 +243,6 @@ var _ = Describe("the update action", func() {
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
dockerClient,
|
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
)
|
)
|
||||||
|
@ -293,7 +277,6 @@ var _ = Describe("the update action", func() {
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
dockerClient,
|
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
)
|
)
|
||||||
|
@ -329,7 +312,6 @@ var _ = Describe("the update action", func() {
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
dockerClient,
|
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue