@@ -20,11 +20,12 @@ import (
20
20
. "github.com/onsi/ginkgo/v2"
21
21
. "github.com/onsi/gomega"
22
22
corev1 "k8s.io/api/core/v1"
23
+ "k8s.io/utils/pointer"
23
24
24
25
infrav1 "sigs.k8s.io/cluster-api-provider-openstack/api/v1beta1"
25
26
)
26
27
27
- var _ = Describe ("Neutron filter API validations" , func () {
28
+ var _ = Describe ("Filter API validations" , func () {
28
29
var (
29
30
namespace * corev1.Namespace
30
31
cluster * infrav1.OpenStackCluster
@@ -173,4 +174,49 @@ var _ = Describe("Neutron filter API validations", func() {
173
174
{Tags : []infrav1.NeutronTag {"foo" , "" }},
174
175
}),
175
176
)
177
+
178
+ const imageUUID = "5a78f794-cdc3-48d2-8d9f-0fd472fdd743"
179
+
180
+ It ("should not allow both ID and Name of ImageFilter to be set" , func () {
181
+ By ("Creating a machine" )
182
+ machine .Spec .Image = infrav1.ImageFilter {
183
+ ID : pointer .String (imageUUID ),
184
+ Name : pointer .String ("bar" ),
185
+ }
186
+ Expect (k8sClient .Create (ctx , machine )).NotTo (Succeed (), "OpenStackMachine creation should fail" )
187
+ })
188
+
189
+ It ("should not allow both ID and Tags of ImageFilter to be set" , func () {
190
+ By ("Creating a machine" )
191
+ machine .Spec .Image = infrav1.ImageFilter {
192
+ ID : pointer .String (imageUUID ),
193
+ Tags : []string {"bar" , "baz" },
194
+ }
195
+ Expect (k8sClient .Create (ctx , machine )).NotTo (Succeed (), "OpenStackMachine creation should fail" )
196
+ })
197
+
198
+ It ("should allow UUID ID of ImageFilter to be set" , func () {
199
+ By ("Creating a machine" )
200
+ machine .Spec .Image = infrav1.ImageFilter {
201
+ ID : pointer .String (imageUUID ),
202
+ }
203
+ Expect (k8sClient .Create (ctx , machine )).To (Succeed (), "OpenStackMachine creation should succeed" )
204
+ })
205
+
206
+ It ("should not allow non-UUID ID of ImageFilter to be set" , func () {
207
+ By ("Creating a machine" )
208
+ machine .Spec .Image = infrav1.ImageFilter {
209
+ ID : pointer .String ("foo" ),
210
+ }
211
+ Expect (k8sClient .Create (ctx , machine )).NotTo (Succeed (), "OpenStackMachine creation should fail" )
212
+ })
213
+
214
+ It ("should allow Name and Tags of ImageFilter to be set" , func () {
215
+ By ("Creating a machine" )
216
+ machine .Spec .Image = infrav1.ImageFilter {
217
+ Name : pointer .String ("bar" ),
218
+ Tags : []string {"bar" , "baz" },
219
+ }
220
+ Expect (k8sClient .Create (ctx , machine )).To (Succeed (), "OpenStackMachine creation should succeed" )
221
+ })
176
222
})
0 commit comments