forked from TrueCloudLab/frostfs-api-go
[#331] pkg/object: Add COMMON_PREFIX matchtype enum constant and test case for it
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
parent
e6cd9c48ed
commit
4e7a966a49
2 changed files with 15 additions and 8 deletions
|
@ -18,6 +18,7 @@ const (
|
|||
MatchStringEqual
|
||||
MatchStringNotEqual
|
||||
MatchNotPresent
|
||||
MatchCommonPrefix
|
||||
)
|
||||
|
||||
func (m SearchMatchType) ToV2() v2object.MatchType {
|
||||
|
@ -28,6 +29,8 @@ func (m SearchMatchType) ToV2() v2object.MatchType {
|
|||
return v2object.MatchStringNotEqual
|
||||
case MatchNotPresent:
|
||||
return v2object.MatchNotPresent
|
||||
case MatchCommonPrefix:
|
||||
return v2object.MatchCommonPrefix
|
||||
default:
|
||||
return v2object.MatchUnknown
|
||||
}
|
||||
|
@ -41,6 +44,8 @@ func SearchMatchFromV2(t v2object.MatchType) (m SearchMatchType) {
|
|||
m = MatchStringNotEqual
|
||||
case v2object.MatchNotPresent:
|
||||
m = MatchNotPresent
|
||||
case v2object.MatchCommonPrefix:
|
||||
m = MatchCommonPrefix
|
||||
default:
|
||||
m = MatchUnknown
|
||||
}
|
||||
|
@ -54,6 +59,7 @@ func SearchMatchFromV2(t v2object.MatchType) (m SearchMatchType) {
|
|||
// * MatchStringEqual: STRING_EQUAL;
|
||||
// * MatchStringNotEqual: STRING_NOT_EQUAL;
|
||||
// * MatchNotPresent: NOT_PRESENT;
|
||||
// * MatchCommonPrefix: COMMON_PREFIX;
|
||||
// * MatchUnknown, default: MATCH_TYPE_UNSPECIFIED.
|
||||
func (m SearchMatchType) String() string {
|
||||
return m.ToV2().String()
|
||||
|
|
|
@ -10,14 +10,13 @@ import (
|
|||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
var (
|
||||
eqV2Matches = map[object.SearchMatchType]v2object.MatchType{
|
||||
object.MatchUnknown: v2object.MatchUnknown,
|
||||
object.MatchStringEqual: v2object.MatchStringEqual,
|
||||
object.MatchStringNotEqual: v2object.MatchStringNotEqual,
|
||||
object.MatchNotPresent: v2object.MatchNotPresent,
|
||||
}
|
||||
)
|
||||
var eqV2Matches = map[object.SearchMatchType]v2object.MatchType{
|
||||
object.MatchUnknown: v2object.MatchUnknown,
|
||||
object.MatchStringEqual: v2object.MatchStringEqual,
|
||||
object.MatchStringNotEqual: v2object.MatchStringNotEqual,
|
||||
object.MatchNotPresent: v2object.MatchNotPresent,
|
||||
object.MatchCommonPrefix: v2object.MatchCommonPrefix,
|
||||
}
|
||||
|
||||
func TestMatch(t *testing.T) {
|
||||
t.Run("known matches", func(t *testing.T) {
|
||||
|
@ -181,6 +180,7 @@ func TestSearchFiltersEncoding(t *testing.T) {
|
|||
fs := object.NewSearchFilters()
|
||||
fs.AddFilter("key 1", "value 2", object.MatchStringEqual)
|
||||
fs.AddFilter("key 2", "value 2", object.MatchStringNotEqual)
|
||||
fs.AddFilter("key 2", "value 2", object.MatchCommonPrefix)
|
||||
|
||||
t.Run("json", func(t *testing.T) {
|
||||
data, err := fs.MarshalJSON()
|
||||
|
@ -199,6 +199,7 @@ func TestSearchMatchType_String(t *testing.T) {
|
|||
}
|
||||
|
||||
testEnumStrings(t, new(object.SearchMatchType), []enumStringItem{
|
||||
{val: toPtr(object.MatchCommonPrefix), str: "COMMON_PREFIX"},
|
||||
{val: toPtr(object.MatchStringEqual), str: "STRING_EQUAL"},
|
||||
{val: toPtr(object.MatchStringNotEqual), str: "STRING_NOT_EQUAL"},
|
||||
{val: toPtr(object.MatchNotPresent), str: "NOT_PRESENT"},
|
||||
|
|
Loading…
Reference in a new issue