Search: Fix field selector parsing (#114940)
This commit is contained in:
@@ -124,7 +124,7 @@ func toListRequest(k *resourcepb.ResourceKey, opts storage.ListOptions) (*resour
|
||||
if r.Value != "" {
|
||||
requirement.Values = append(requirement.Values, r.Value)
|
||||
}
|
||||
req.Options.Labels = append(req.Options.Labels, requirement)
|
||||
req.Options.Fields = append(req.Options.Fields, requirement)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -117,6 +117,49 @@ func TestToListRequest(t *testing.T) {
|
||||
},
|
||||
wantErr: nil,
|
||||
},
|
||||
{
|
||||
name: "with field selector",
|
||||
key: &resourcepb.ResourceKey{
|
||||
Group: "test",
|
||||
Resource: "test",
|
||||
Namespace: "default",
|
||||
},
|
||||
opts: storage.ListOptions{
|
||||
Predicate: storage.SelectionPredicate{
|
||||
Label: labels.SelectorFromSet(labels.Set{"label": "A"}),
|
||||
Field: fields.SelectorFromSet(fields.Set{"field": "B"}),
|
||||
},
|
||||
},
|
||||
want: &resourcepb.ListRequest{
|
||||
VersionMatchV2: 1,
|
||||
Options: &resourcepb.ListOptions{
|
||||
Key: &resourcepb.ResourceKey{
|
||||
Group: "test",
|
||||
Resource: "test",
|
||||
Namespace: "default",
|
||||
},
|
||||
Labels: []*resourcepb.Requirement{
|
||||
{
|
||||
Key: "label",
|
||||
Operator: string(selection.Equals),
|
||||
Values: []string{"A"},
|
||||
},
|
||||
},
|
||||
Fields: []*resourcepb.Requirement{
|
||||
{
|
||||
Key: "field",
|
||||
Operator: string(selection.Equals),
|
||||
Values: []string{"B"},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
wantPredicate: storage.SelectionPredicate{
|
||||
Label: labels.SelectorFromSet(labels.Set{"label": "A"}),
|
||||
Field: fields.SelectorFromSet(fields.Set{"field": "B"}),
|
||||
},
|
||||
wantErr: nil,
|
||||
},
|
||||
{
|
||||
name: "with trash label",
|
||||
key: &resourcepb.ResourceKey{
|
||||
|
||||
Reference in New Issue
Block a user