@@ -68,6 +68,36 @@ func TestIBMPowerVSCluster_create(t *testing.T) {
6868 },
6969 wantErr : true ,
7070 },
71+ {
72+ name : "Should error network regex and dhcp server name is set but does not match dhcp server name" ,
73+ powervsCluster : & IBMPowerVSCluster {
74+ Spec : IBMPowerVSClusterSpec {
75+ ServiceInstanceID : "capi-si-id" ,
76+ Network : IBMPowerVSResourceReference {
77+ RegEx : ptr .To ("^capi$" ),
78+ },
79+ DHCPServer : & DHCPServer {
80+ Name : ptr .To ("test" ),
81+ },
82+ },
83+ },
84+ wantErr : true ,
85+ },
86+ {
87+ name : "Should error if only network regex is set, dhcp server name is not set and does not match cluster name" ,
88+ powervsCluster : & IBMPowerVSCluster {
89+ Spec : IBMPowerVSClusterSpec {
90+ ServiceInstanceID : "capi-si-id" ,
91+ Network : IBMPowerVSResourceReference {
92+ RegEx : ptr .To ("^capi$" ),
93+ },
94+ },
95+ ObjectMeta : metav1.ObjectMeta {
96+ Name : "test" ,
97+ },
98+ },
99+ wantErr : true ,
100+ },
71101 }
72102
73103 for _ , tc := range tests {
@@ -141,6 +171,9 @@ func TestIBMPowerVSCluster_update(t *testing.T) {
141171 Network : IBMPowerVSResourceReference {
142172 RegEx : ptr .To ("^capi-net-id$" ),
143173 },
174+ DHCPServer : & DHCPServer {
175+ Name : ptr .To ("capi-net-id" ),
176+ },
144177 },
145178 },
146179 newPowervsCluster : & IBMPowerVSCluster {
@@ -149,6 +182,9 @@ func TestIBMPowerVSCluster_update(t *testing.T) {
149182 Network : IBMPowerVSResourceReference {
150183 RegEx : ptr .To ("^capi-net-id$" ),
151184 },
185+ DHCPServer : & DHCPServer {
186+ Name : ptr .To ("capi-net-id" ),
187+ },
152188 },
153189 },
154190 wantErr : false ,
@@ -175,6 +211,58 @@ func TestIBMPowerVSCluster_update(t *testing.T) {
175211 },
176212 wantErr : true ,
177213 },
214+ {
215+ name : "Should error if network regex and dhcp server name is set but network regex does not match dhcp server name" ,
216+ oldPowervsCluster : & IBMPowerVSCluster {
217+ Spec : IBMPowerVSClusterSpec {
218+ ServiceInstanceID : "capi-si-id" ,
219+ Network : IBMPowerVSResourceReference {
220+ RegEx : ptr .To ("^capi$" ),
221+ },
222+ DHCPServer : & DHCPServer {
223+ Name : ptr .To ("capi" ),
224+ },
225+ },
226+ },
227+ newPowervsCluster : & IBMPowerVSCluster {
228+ Spec : IBMPowerVSClusterSpec {
229+ ServiceInstanceID : "capi-si-id" ,
230+ Network : IBMPowerVSResourceReference {
231+ RegEx : ptr .To ("^capi$" ),
232+ },
233+ DHCPServer : & DHCPServer {
234+ Name : ptr .To ("test" ),
235+ },
236+ },
237+ },
238+ wantErr : true ,
239+ },
240+ {
241+ name : "Should error if network regex is set, dhcp server name is not set and network regex does not match cluster name" ,
242+ oldPowervsCluster : & IBMPowerVSCluster {
243+ Spec : IBMPowerVSClusterSpec {
244+ ServiceInstanceID : "capi-si-id" ,
245+ Network : IBMPowerVSResourceReference {
246+ RegEx : ptr .To ("^capi$" ),
247+ },
248+ DHCPServer : & DHCPServer {
249+ Name : ptr .To ("capi" ),
250+ },
251+ },
252+ },
253+ newPowervsCluster : & IBMPowerVSCluster {
254+ Spec : IBMPowerVSClusterSpec {
255+ ServiceInstanceID : "capi-si-id" ,
256+ Network : IBMPowerVSResourceReference {
257+ RegEx : ptr .To ("^capi$" ),
258+ },
259+ },
260+ ObjectMeta : metav1.ObjectMeta {
261+ Name : "capi" ,
262+ },
263+ },
264+ wantErr : true ,
265+ },
178266 }
179267
180268 for _ , tc := range tests {
0 commit comments