lidar: check parent resource type
If you had a resource with "check_every: never" who's parent was a custom resource type, the parent resource type would never be checked. Checks created by other components in Concourse (the api) would fail because the DB would find no versions for the parent resource type. This commit ensures we still try and check the parent resource type. Signed-off-by: Taylor Silva <tsilva@pivotal.io>
This commit is contained in:
parent
81c39e21d4
commit
14ff4ba8b4
|
@ -58,10 +58,6 @@ func (s *scanner) Run(ctx context.Context) error {
|
|||
}()
|
||||
defer waitGroup.Done()
|
||||
|
||||
if resource.CheckEvery() != nil && resource.CheckEvery().Never {
|
||||
return
|
||||
}
|
||||
|
||||
s.check(spanCtx, resource, resourceTypes, resourceTypesChecked)
|
||||
}(resource, resourceTypes)
|
||||
}
|
||||
|
@ -93,6 +89,10 @@ func (s *scanner) check(ctx context.Context, checkable db.Checkable, resourceTyp
|
|||
|
||||
version := checkable.CurrentPinnedVersion()
|
||||
|
||||
if checkable.CheckEvery() != nil && checkable.CheckEvery().Never {
|
||||
return
|
||||
}
|
||||
|
||||
_, created, err := s.checkFactory.TryCreateCheck(lagerctx.NewContext(spanCtx, logger), checkable, resourceTypes, version, false)
|
||||
if err != nil {
|
||||
logger.Error("failed-to-create-check", err)
|
||||
|
|
|
@ -72,10 +72,17 @@ var _ = Describe("Scanner", func() {
|
|||
Context("when CheckEvery is never", func() {
|
||||
BeforeEach(func() {
|
||||
fakeResource.CheckEveryReturns(&atc.CheckEvery{Never: true})
|
||||
|
||||
fakeResource.TypeReturns("parent")
|
||||
fakeResource.PipelineIDReturns(1)
|
||||
fakeResourceType := new(dbfakes.FakeResourceType)
|
||||
fakeResourceType.NameReturns("parent")
|
||||
fakeResourceType.PipelineIDReturns(1)
|
||||
fakeCheckFactory.ResourceTypesReturns([]db.ResourceType{fakeResourceType}, nil)
|
||||
})
|
||||
|
||||
It("does not check", func() {
|
||||
Expect(fakeCheckFactory.TryCreateCheckCallCount()).To(Equal(0))
|
||||
It("does not check the resource but still checks the parent", func() {
|
||||
Expect(fakeCheckFactory.TryCreateCheckCallCount()).To(Equal(1))
|
||||
})
|
||||
})
|
||||
|
||||
|
|
Loading…
Reference in New Issue