forked from TrueCloudLab/frostfs-sdk-go
[#223] object: Introduce ec_parent
search filter
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
This commit is contained in:
parent
d4e6f4e125
commit
09b79d13f3
2 changed files with 24 additions and 0 deletions
|
@ -120,6 +120,7 @@ const (
|
|||
fKeySplitID
|
||||
fKeyPropRoot
|
||||
fKeyPropPhy
|
||||
fKeyECParent
|
||||
)
|
||||
|
||||
func (k filterKey) String() string {
|
||||
|
@ -152,6 +153,8 @@ func (k filterKey) String() string {
|
|||
return v2object.FilterPropertyRoot
|
||||
case fKeyPropPhy:
|
||||
return v2object.FilterPropertyPhy
|
||||
case fKeyECParent:
|
||||
return v2object.FilterHeaderECParent
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -277,6 +280,10 @@ func (f *SearchFilters) AddSplitIDFilter(m SearchMatchType, id *SplitID) {
|
|||
f.addReservedFilter(m, fKeySplitID, staticStringer(id.String()))
|
||||
}
|
||||
|
||||
func (f *SearchFilters) AddECParentFilter(m SearchMatchType, parentID oid.ID) {
|
||||
f.addReservedFilter(m, fKeyECParent, staticStringer(parentID.String()))
|
||||
}
|
||||
|
||||
// AddTypeFilter adds filter by object type.
|
||||
func (f *SearchFilters) AddTypeFilter(m SearchMatchType, typ Type) {
|
||||
f.addReservedFilter(m, fKeyType, staticStringer(typ.String()))
|
||||
|
|
|
@ -160,6 +160,23 @@ func TestSearchFilters_AddSplitIDFilter(t *testing.T) {
|
|||
})
|
||||
}
|
||||
|
||||
func TestSearchFilters_AddECParentFilter(t *testing.T) {
|
||||
id := testOID()
|
||||
|
||||
fs := new(object.SearchFilters)
|
||||
fs.AddECParentFilter(object.MatchStringEqual, id)
|
||||
|
||||
t.Run("v2", func(t *testing.T) {
|
||||
fsV2 := fs.ToV2()
|
||||
|
||||
require.Len(t, fsV2, 1)
|
||||
|
||||
require.Equal(t, v2object.FilterHeaderECParent, fsV2[0].GetKey())
|
||||
require.Equal(t, id.String(), fsV2[0].GetValue())
|
||||
require.Equal(t, v2object.MatchStringEqual, fsV2[0].GetMatchType())
|
||||
})
|
||||
}
|
||||
|
||||
func TestSearchFilters_AddTypeFilter(t *testing.T) {
|
||||
typ := object.TypeTombstone
|
||||
|
||||
|
|
Loading…
Reference in a new issue