Improve signature of index.Move

This commit is contained in:
André Duffeck
2022-05-11 11:14:10 +02:00
parent c8279f7676
commit 4e378be020
6 changed files with 29 additions and 28 deletions

View File

@@ -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)
})

View File

@@ -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)

View File

@@ -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)
}

View File

@@ -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")
}

View File

@@ -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
})

View File

@@ -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)
}