@@ -229,3 +229,155 @@ func (s *presentSuite) TestSuccessUpdateRRSet() {
229229 err := s .resolver .Present (challengeRequest )
230230 s .NoError (err )
231231}
232+
233+ type cleanSuite struct {
234+ presentSuite
235+ }
236+
237+ func TestCleanTestSuite (t * testing.T ) {
238+ t .Parallel ()
239+
240+ cSuite := new (cleanSuite )
241+ cSuite .ctrl = gomock .NewController (t )
242+
243+ suite .Run (t , cSuite )
244+ }
245+
246+ func (s * cleanSuite ) TestFailFetchRRSet () {
247+ s .mockConfigProvider .EXPECT ().
248+ LoadConfig (gomock .Any ()).
249+ Return (resolver.StackitDnsProviderConfig {}, nil )
250+ s .mockSecretFetcher .EXPECT ().
251+ StringFromSecret (gomock .Any (), gomock .Any (), gomock .Any ()).
252+ Return ("" , nil )
253+ s .mockZoneRepositoryFactory .EXPECT ().
254+ NewZoneRepository (gomock .Any ()).
255+ Return (s .mockZoneRepository )
256+ s .mockZoneRepository .EXPECT ().
257+ FetchZone (gomock .Any (), gomock .Any ()).
258+ Return (& stackitdnsclient.DomainZone {Id : "test" }, nil )
259+ s .mockRRSetRepositoryFactory .EXPECT ().
260+ NewRRSetRepository (gomock .Any (), gomock .Any ()).
261+ Return (s .mockRRSetRepository )
262+ s .mockRRSetRepository .EXPECT ().
263+ FetchRRSetForZone (gomock .Any (), gomock .Any (), gomock .Any ()).
264+ Return (nil , fmt .Errorf ("error fetching rr set" ))
265+
266+ err := s .resolver .CleanUp (challengeRequest )
267+ s .Error (err )
268+ s .Containsf (
269+ err .Error (),
270+ "error fetching rr set" ,
271+ "error message should contain error from rrSetRepository" ,
272+ )
273+ }
274+
275+ func (s * cleanSuite ) TestFailFetchNoRRSet () {
276+ s .mockConfigProvider .EXPECT ().
277+ LoadConfig (gomock .Any ()).
278+ Return (resolver.StackitDnsProviderConfig {}, nil )
279+ s .mockSecretFetcher .EXPECT ().
280+ StringFromSecret (gomock .Any (), gomock .Any (), gomock .Any ()).
281+ Return ("" , nil )
282+ s .mockZoneRepositoryFactory .EXPECT ().
283+ NewZoneRepository (gomock .Any ()).
284+ Return (s .mockZoneRepository )
285+ s .mockZoneRepository .EXPECT ().
286+ FetchZone (gomock .Any (), gomock .Any ()).
287+ Return (& stackitdnsclient.DomainZone {Id : "test" }, nil )
288+ s .mockRRSetRepositoryFactory .EXPECT ().
289+ NewRRSetRepository (gomock .Any (), gomock .Any ()).
290+ Return (s .mockRRSetRepository )
291+ s .mockRRSetRepository .EXPECT ().
292+ FetchRRSetForZone (gomock .Any (), gomock .Any (), gomock .Any ()).
293+ Return (nil , repository .ErrRRSetNotFound )
294+
295+ err := s .resolver .CleanUp (challengeRequest )
296+ s .NoError (err )
297+ }
298+
299+ func (s * cleanSuite ) TestFailDeleteNoRRSet () {
300+ s .mockConfigProvider .EXPECT ().
301+ LoadConfig (gomock .Any ()).
302+ Return (resolver.StackitDnsProviderConfig {}, nil )
303+ s .mockSecretFetcher .EXPECT ().
304+ StringFromSecret (gomock .Any (), gomock .Any (), gomock .Any ()).
305+ Return ("" , nil )
306+ s .mockZoneRepositoryFactory .EXPECT ().
307+ NewZoneRepository (gomock .Any ()).
308+ Return (s .mockZoneRepository )
309+ s .mockZoneRepository .EXPECT ().
310+ FetchZone (gomock .Any (), gomock .Any ()).
311+ Return (& stackitdnsclient.DomainZone {Id : "test" }, nil )
312+ s .mockRRSetRepositoryFactory .EXPECT ().
313+ NewRRSetRepository (gomock .Any (), gomock .Any ()).
314+ Return (s .mockRRSetRepository )
315+ s .mockRRSetRepository .EXPECT ().
316+ FetchRRSetForZone (gomock .Any (), gomock .Any (), gomock .Any ()).
317+ Return (& stackitdnsclient.DomainRrSet {}, nil )
318+ s .mockRRSetRepository .EXPECT ().
319+ DeleteRRSet (gomock .Any (), gomock .Any ()).
320+ Return (repository .ErrRRSetNotFound )
321+
322+ err := s .resolver .CleanUp (challengeRequest )
323+ s .NoError (err )
324+ }
325+
326+ func (s * cleanSuite ) TestFailDeleteRRSet () {
327+ s .mockConfigProvider .EXPECT ().
328+ LoadConfig (gomock .Any ()).
329+ Return (resolver.StackitDnsProviderConfig {}, nil )
330+ s .mockSecretFetcher .EXPECT ().
331+ StringFromSecret (gomock .Any (), gomock .Any (), gomock .Any ()).
332+ Return ("" , nil )
333+ s .mockZoneRepositoryFactory .EXPECT ().
334+ NewZoneRepository (gomock .Any ()).
335+ Return (s .mockZoneRepository )
336+ s .mockZoneRepository .EXPECT ().
337+ FetchZone (gomock .Any (), gomock .Any ()).
338+ Return (& stackitdnsclient.DomainZone {Id : "test" }, nil )
339+ s .mockRRSetRepositoryFactory .EXPECT ().
340+ NewRRSetRepository (gomock .Any (), gomock .Any ()).
341+ Return (s .mockRRSetRepository )
342+ s .mockRRSetRepository .EXPECT ().
343+ FetchRRSetForZone (gomock .Any (), gomock .Any (), gomock .Any ()).
344+ Return (& stackitdnsclient.DomainRrSet {}, nil )
345+ s .mockRRSetRepository .EXPECT ().
346+ DeleteRRSet (gomock .Any (), gomock .Any ()).
347+ Return (fmt .Errorf ("error deleting rr set" ))
348+
349+ err := s .resolver .CleanUp (challengeRequest )
350+ s .Error (err )
351+ s .Containsf (
352+ err .Error (),
353+ "error deleting rr set" ,
354+ "error message should contain error from rrSetRepository" ,
355+ )
356+ }
357+
358+ func (s * cleanSuite ) TestSuccessDeleteRRSet () {
359+ s .mockConfigProvider .EXPECT ().
360+ LoadConfig (gomock .Any ()).
361+ Return (resolver.StackitDnsProviderConfig {}, nil )
362+ s .mockSecretFetcher .EXPECT ().
363+ StringFromSecret (gomock .Any (), gomock .Any (), gomock .Any ()).
364+ Return ("" , nil )
365+ s .mockZoneRepositoryFactory .EXPECT ().
366+ NewZoneRepository (gomock .Any ()).
367+ Return (s .mockZoneRepository )
368+ s .mockZoneRepository .EXPECT ().
369+ FetchZone (gomock .Any (), gomock .Any ()).
370+ Return (& stackitdnsclient.DomainZone {Id : "test" }, nil )
371+ s .mockRRSetRepositoryFactory .EXPECT ().
372+ NewRRSetRepository (gomock .Any (), gomock .Any ()).
373+ Return (s .mockRRSetRepository )
374+ s .mockRRSetRepository .EXPECT ().
375+ FetchRRSetForZone (gomock .Any (), gomock .Any (), gomock .Any ()).
376+ Return (& stackitdnsclient.DomainRrSet {}, nil )
377+ s .mockRRSetRepository .EXPECT ().
378+ DeleteRRSet (gomock .Any (), gomock .Any ()).
379+ Return (nil )
380+
381+ err := s .resolver .CleanUp (challengeRequest )
382+ s .NoError (err )
383+ }
0 commit comments