Skip to content

Commit 70cf80c

Browse files
author
CodingWizKid
committed
add test solver cleanup
1 parent 2834fee commit 70cf80c

File tree

1 file changed

+152
-0
lines changed

1 file changed

+152
-0
lines changed

internal/resolver/resolver_test.go

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)