Skip to content

Commit 38d2e9b

Browse files
author
OpenShift Bot
authored
Merge pull request #12864 from mfojtik/isimage-refpolicy-test
Merged by openshift-bot
2 parents 863f435 + 3375e61 commit 38d2e9b

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

pkg/image/api/helper_test.go

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1748,3 +1748,75 @@ func TestIndexOfImageSignature(t *testing.T) {
17481748
}
17491749
}
17501750
}
1751+
1752+
func mockImageStream(policy TagReferencePolicyType) *ImageStream {
1753+
now := unversioned.Now()
1754+
stream := &ImageStream{}
1755+
stream.Status = ImageStreamStatus{}
1756+
stream.Spec = ImageStreamSpec{}
1757+
stream.Spec.Tags = map[string]TagReference{}
1758+
stream.Spec.Tags["latest"] = TagReference{
1759+
ReferencePolicy: TagReferencePolicy{
1760+
Type: policy,
1761+
},
1762+
}
1763+
stream.Status.DockerImageRepository = "registry:5000/test/foo"
1764+
stream.Status.Tags = map[string]TagEventList{}
1765+
stream.Status.Tags["latest"] = TagEventList{Items: []TagEvent{
1766+
{
1767+
Image: "sha256:c3d8a3642ebfa6bd1fd50c2b8b90e99d3e29af1eac88637678f982cde90993fa",
1768+
DockerImageReference: "test/bar@sha256:bar",
1769+
Created: now,
1770+
Generation: 3,
1771+
},
1772+
{
1773+
Image: "sha256:c3d8a3642ebfa6bd1fd50c2b8b90e99d3e29af1eac88637678f982cde90993fb",
1774+
DockerImageReference: "test/foo@sha256:bar",
1775+
Created: now,
1776+
Generation: 2,
1777+
},
1778+
{
1779+
Image: "sha256:c3d8a3642ebfa6bd1fd50c2b8b90e99d3e29af1eac88637678f982cde90993fb",
1780+
DockerImageReference: "test/foo@sha256:oldbar",
1781+
Created: unversioned.Time{Time: now.Add(-5 * time.Second)},
1782+
Generation: 1,
1783+
},
1784+
}}
1785+
return stream
1786+
}
1787+
1788+
func TestLatestImageTagEvent(t *testing.T) {
1789+
tag, event := LatestImageTagEvent(mockImageStream(SourceTagReferencePolicy), "sha256:c3d8a3642ebfa6bd1fd50c2b8b90e99d3e29af1eac88637678f982cde90993fb")
1790+
if tag != "latest" {
1791+
t.Errorf("expected tag 'latest', got %q", tag)
1792+
}
1793+
if event == nil {
1794+
t.Fatalf("expected event to not be nil")
1795+
}
1796+
if event.Generation != 2 {
1797+
t.Errorf("expected second generation, got %d", event.Generation)
1798+
}
1799+
}
1800+
1801+
func TestDockerImageReferenceForImage(t *testing.T) {
1802+
reference, ok := DockerImageReferenceForImage(mockImageStream(SourceTagReferencePolicy), "sha256:c3d8a3642ebfa6bd1fd50c2b8b90e99d3e29af1eac88637678f982cde90993fb")
1803+
if !ok {
1804+
t.Fatalf("expected success for source tag policy")
1805+
}
1806+
if reference != "test/foo@sha256:bar" {
1807+
t.Errorf("expected source reference to be 'test/foo@sha256:bar', got %q", reference)
1808+
}
1809+
1810+
reference, ok = DockerImageReferenceForImage(mockImageStream(LocalTagReferencePolicy), "sha256:c3d8a3642ebfa6bd1fd50c2b8b90e99d3e29af1eac88637678f982cde90993fb")
1811+
if !ok {
1812+
t.Fatalf("expected success for local reference policy")
1813+
}
1814+
if reference != "registry:5000/test/foo@sha256:c3d8a3642ebfa6bd1fd50c2b8b90e99d3e29af1eac88637678f982cde90993fb" {
1815+
t.Errorf("expected local reference to be 'registry:5000/test/foo@sha256:c3d8a3642ebfa6bd1fd50c2b8b90e99d3e29af1eac88637678f982cde90993fb', got %q", reference)
1816+
}
1817+
1818+
reference, ok = DockerImageReferenceForImage(mockImageStream(LocalTagReferencePolicy), "sha256:unknown")
1819+
if ok {
1820+
t.Errorf("expected failure for unknown image")
1821+
}
1822+
}

0 commit comments

Comments
 (0)