From 4e378be0203a529a17d28bf798bda7e8fb0a5808 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Duffeck?= Date: Wed, 11 May 2022 11:14:10 +0200 Subject: [PATCH] Improve signature of index.Move --- extensions/search/pkg/search/index/index.go | 7 ++-- .../search/pkg/search/index/index_test.go | 2 +- .../search/pkg/search/mocks/IndexClient.go | 34 +++++++++---------- .../search/pkg/search/provider/events.go | 2 +- .../search/pkg/search/provider/events_test.go | 4 +-- extensions/search/pkg/search/search.go | 8 ++--- 6 files changed, 29 insertions(+), 28 deletions(-) diff --git a/extensions/search/pkg/search/index/index.go b/extensions/search/pkg/search/index/index.go index bc06ba466..338742f19 100644 --- a/extensions/search/pkg/search/index/index.go +++ b/extensions/search/pkg/search/index/index.go @@ -165,15 +165,16 @@ func (i *Index) Purge(id *sprovider.ResourceId) error { } // Move update the path of an entry and all its children -func (i *Index) Move(ri *sprovider.ResourceInfo, fullPath string) error { - doc, err := i.getEntity(idToBleveId(ri.Id)) +func (i *Index) Move(id *sprovider.ResourceId, fullPath string) error { + bleveId := idToBleveId(id) + doc, err := i.getEntity(bleveId) if err != nil { return err } oldName := doc.Path newName := utils.MakeRelativePath(fullPath) - doc, err = i.updateEntity(idToBleveId(ri.Id), func(doc *indexDocument) { + doc, err = i.updateEntity(bleveId, func(doc *indexDocument) { doc.Path = newName doc.Name = path.Base(newName) }) diff --git a/extensions/search/pkg/search/index/index_test.go b/extensions/search/pkg/search/index/index_test.go index 7c46c64b2..e3e4b43e6 100644 --- a/extensions/search/pkg/search/index/index_test.go +++ b/extensions/search/pkg/search/index/index_test.go @@ -366,7 +366,7 @@ var _ = Describe("Index", func() { Expect(err).ToNot(HaveOccurred()) parentRi.Path = "newname" - err = i.Move(parentRi, "./somewhere/else/newname") + err = i.Move(parentRi.Id, "./somewhere/else/newname") Expect(err).ToNot(HaveOccurred()) assertDocCount(rootId, "subdir", 0) diff --git a/extensions/search/pkg/search/mocks/IndexClient.go b/extensions/search/pkg/search/mocks/IndexClient.go index f43f9f3a9..d2286517a 100644 --- a/extensions/search/pkg/search/mocks/IndexClient.go +++ b/extensions/search/pkg/search/mocks/IndexClient.go @@ -30,13 +30,13 @@ func (_m *IndexClient) Add(ref *providerv1beta1.Reference, ri *providerv1beta1.R return r0 } -// Delete provides a mock function with given fields: ri -func (_m *IndexClient) Delete(ri *providerv1beta1.ResourceId) error { - ret := _m.Called(ri) +// Delete provides a mock function with given fields: id +func (_m *IndexClient) Delete(id *providerv1beta1.ResourceId) error { + ret := _m.Called(id) var r0 error if rf, ok := ret.Get(0).(func(*providerv1beta1.ResourceId) error); ok { - r0 = rf(ri) + r0 = rf(id) } else { r0 = ret.Error(0) } @@ -65,13 +65,13 @@ func (_m *IndexClient) DocCount() (uint64, error) { return r0, r1 } -// Move provides a mock function with given fields: ri, path -func (_m *IndexClient) Move(ri *providerv1beta1.ResourceInfo, path string) error { - ret := _m.Called(ri, path) +// Move provides a mock function with given fields: id, fullPath +func (_m *IndexClient) Move(id *providerv1beta1.ResourceId, fullPath string) error { + ret := _m.Called(id, fullPath) var r0 error - if rf, ok := ret.Get(0).(func(*providerv1beta1.ResourceInfo, string) error); ok { - r0 = rf(ri, path) + if rf, ok := ret.Get(0).(func(*providerv1beta1.ResourceId, string) error); ok { + r0 = rf(id, fullPath) } else { r0 = ret.Error(0) } @@ -79,13 +79,13 @@ func (_m *IndexClient) Move(ri *providerv1beta1.ResourceInfo, path string) error return r0 } -// Purge provides a mock function with given fields: ri -func (_m *IndexClient) Purge(ri *providerv1beta1.ResourceId) error { - ret := _m.Called(ri) +// Purge provides a mock function with given fields: id +func (_m *IndexClient) Purge(id *providerv1beta1.ResourceId) error { + ret := _m.Called(id) var r0 error if rf, ok := ret.Get(0).(func(*providerv1beta1.ResourceId) error); ok { - r0 = rf(ri) + r0 = rf(id) } else { r0 = ret.Error(0) } @@ -93,13 +93,13 @@ func (_m *IndexClient) Purge(ri *providerv1beta1.ResourceId) error { return r0 } -// Restore provides a mock function with given fields: ri -func (_m *IndexClient) Restore(ri *providerv1beta1.ResourceId) error { - ret := _m.Called(ri) +// Restore provides a mock function with given fields: id +func (_m *IndexClient) Restore(id *providerv1beta1.ResourceId) error { + ret := _m.Called(id) var r0 error if rf, ok := ret.Get(0).(func(*providerv1beta1.ResourceId) error); ok { - r0 = rf(ri) + r0 = rf(id) } else { r0 = ret.Error(0) } diff --git a/extensions/search/pkg/search/provider/events.go b/extensions/search/pkg/search/provider/events.go index d243c5237..2c9e5ec47 100644 --- a/extensions/search/pkg/search/provider/events.go +++ b/extensions/search/pkg/search/provider/events.go @@ -76,7 +76,7 @@ func (p *Provider) handleEvent(ev interface{}) { return } - err = p.indexClient.Move(statRes.Info, gpRes.Path) + err = p.indexClient.Move(statRes.Info.Id, gpRes.Path) if err != nil { p.logger.Error().Err(err).Msg("failed to restore the changed resource in the index") } diff --git a/extensions/search/pkg/search/provider/events_test.go b/extensions/search/pkg/search/provider/events_test.go index 9de17c5df..a36b36aef 100644 --- a/extensions/search/pkg/search/provider/events_test.go +++ b/extensions/search/pkg/search/provider/events_test.go @@ -156,8 +156,8 @@ var _ = Describe("Searchprovider", func() { Status: status.NewOK(ctx), Path: "./new/path.pdf", }, nil) - indexClient.On("Move", mock.MatchedBy(func(riToIndex *sprovider.ResourceInfo) bool { - return riToIndex.Id.OpaqueId == ri.Id.OpaqueId + indexClient.On("Move", mock.MatchedBy(func(id *sprovider.ResourceId) bool { + return id.OpaqueId == ri.Id.OpaqueId }), "./new/path.pdf").Return(nil).Run(func(args mock.Arguments) { called = true }) diff --git a/extensions/search/pkg/search/search.go b/extensions/search/pkg/search/search.go index 12df20342..0a8bedd26 100644 --- a/extensions/search/pkg/search/search.go +++ b/extensions/search/pkg/search/search.go @@ -38,9 +38,9 @@ type ProviderClient interface { type IndexClient interface { Search(ctx context.Context, req *searchsvc.SearchIndexRequest) (*searchsvc.SearchIndexResponse, error) Add(ref *providerv1beta1.Reference, ri *providerv1beta1.ResourceInfo) error - Move(ri *providerv1beta1.ResourceInfo, path string) error - Delete(ri *providerv1beta1.ResourceId) error - Restore(ri *providerv1beta1.ResourceId) error - Purge(ri *providerv1beta1.ResourceId) error + Move(id *providerv1beta1.ResourceId, fullPath string) error + Delete(id *providerv1beta1.ResourceId) error + Restore(id *providerv1beta1.ResourceId) error + Purge(id *providerv1beta1.ResourceId) error DocCount() (uint64, error) }