forked from cf-platform-eng/tile-generator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhelm_unittest.py
131 lines (118 loc) · 3.9 KB
/
helm_unittest.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
import unittest
from . import helm
class TestImageFinder(unittest.TestCase):
def test_finds_top_level_image(self):
values = {
'image': 'foo/bar',
'tag': 1.2
}
images = helm.find_required_images(values)
self.assertEqual(len(images), 1)
self.assertEqual(images[0], "foo/bar:1.2")
def test_finds_top_level_image_uppercase(self):
values = {
'Image': 'foo/bar',
'Tag': 1.2
}
images = helm.find_required_images(values)
self.assertEqual(len(images), 1)
self.assertEqual(images[0], "foo/bar:1.2")
def test_finds_top_level_image_using_repository(self):
values = {
'repository': 'foo/bar',
'tag': 1.2
}
images = helm.find_required_images(values)
self.assertEqual(len(images), 1)
self.assertEqual(images[0], "foo/bar:1.2")
def test_finds_top_level_image_using_imagetag(self):
values = {
'image': 'foo/bar',
'imagetag': 1.2
}
images = helm.find_required_images(values)
self.assertEqual(len(images), 1)
self.assertEqual(images[0], "foo/bar:1.2")
def test_finds_nested_image(self):
values = {
'level1': {
'level2': {
'image': 'foo/bar',
'tag': 1.2
}
}
}
images = helm.find_required_images(values)
self.assertEqual(len(images), 1)
self.assertEqual(images[0], "foo/bar:1.2")
def test_finds_nested_image_uppercase(self):
values = {
'level1': {
'level2': {
'Image': 'foo/bar',
'Tag': 1.2
}
}
}
images = helm.find_required_images(values)
self.assertEqual(len(images), 1)
self.assertEqual(images[0], "foo/bar:1.2")
def test_finds_nested_image_using_repository(self):
values = {
'level1': {
'level2': {
'repository': 'foo/bar',
'tag': 1.2
}
}
}
images = helm.find_required_images(values)
self.assertEqual(len(images), 1)
self.assertEqual(images[0], "foo/bar:1.2")
def test_finds_nested_image_using_imagetag(self):
values = {
'level1': {
'level2': {
'image': 'foo/bar',
'imagetag': 1.2
}
}
}
images = helm.find_required_images(values)
self.assertEqual(len(images), 1)
self.assertEqual(images[0], "foo/bar:1.2")
def test_finds_nested_image_using_imagetag(self):
values = {
'level1': {
'level2': {
'image': 'foo/bar',
'imagetag': 1.2
}
}
}
images = helm.find_required_images(values)
self.assertEqual(len(images), 1)
self.assertEqual(images[0], "foo/bar:1.2")
def test_finds_nested_image_in_image(self): # Case found in fluent-bit helm chart
values = {
'image': {
'image': 'foo/bar',
'imagetag': 1.2
}
}
images = helm.find_required_images(values)
self.assertEqual(len(images), 1)
self.assertEqual(images[0], "foo/bar:1.2")
def test_handles_empty_values(self): # Case found in weave-cloud helm chart
values = None
images = helm.find_required_images(values)
self.assertEqual(len(images), 0)
def test_handles_tag_only(self): # Case found in anchore helm chart
values = {
'image': {
'tag': 'foo/bar:1.2'
}
}
images = helm.find_required_images(values)
self.assertEqual(len(images), 1)
self.assertEqual(images[0], "foo/bar:1.2")