You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.5 KiB
Go
47 lines
1.5 KiB
Go
package container_test
|
|
|
|
import (
|
|
. "github.com/onsi/ginkgo"
|
|
. "github.com/onsi/gomega"
|
|
|
|
. "github.com/containrrr/watchtower/pkg/container"
|
|
)
|
|
|
|
var _ = Describe("container utils", func() {
|
|
Describe("ShortID", func() {
|
|
When("given a normal image ID", func() {
|
|
When("it contains a sha256 prefix", func() {
|
|
It("should return that ID in short version", func() {
|
|
actual := ShortID("sha256:0123456789abcd00000000001111111111222222222233333333334444444444")
|
|
Expect(actual).To(Equal("0123456789ab"))
|
|
})
|
|
})
|
|
When("it doesn't contain a prefix", func() {
|
|
It("should return that ID in short version", func() {
|
|
actual := ShortID("0123456789abcd00000000001111111111222222222233333333334444444444")
|
|
Expect(actual).To(Equal("0123456789ab"))
|
|
})
|
|
})
|
|
})
|
|
When("given a short image ID", func() {
|
|
When("it contains no prefix", func() {
|
|
It("should return the same string", func() {
|
|
Expect(ShortID("0123456789ab")).To(Equal("0123456789ab"))
|
|
})
|
|
})
|
|
When("it contains a the sha256 prefix", func() {
|
|
It("should return the ID without the prefix", func() {
|
|
Expect(ShortID("sha256:0123456789ab")).To(Equal("0123456789ab"))
|
|
})
|
|
})
|
|
})
|
|
When("given an ID with an unknown prefix", func() {
|
|
It("should return a short version of that ID including the prefix", func() {
|
|
Expect(ShortID("md5:0123456789ab")).To(Equal("md5:0123456789ab"))
|
|
Expect(ShortID("md5:0123456789abcdefg")).To(Equal("md5:0123456789ab"))
|
|
Expect(ShortID("md5:01")).To(Equal("md5:01"))
|
|
})
|
|
})
|
|
})
|
|
})
|