Skip to content

Commit ac32e89

Browse files
committed
test(destination): add regression test for multi-label OData filter
Verifies that ListOptions with multiple filter_labels generates a valid OData HAS expression joined by AND, using real label keys from the sap-managed-runtime domain (AFSDK-3656). The no-parens format is what the Destination Service API accepts. Parenthesized clauses return 400 — confirmed against live API.
1 parent 608c9ee commit ac32e89

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

tests/destination/unit/test_models.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -767,6 +767,17 @@ def test_multiple_labels_joined_with_and(self):
767767
params = opts.to_query_params()
768768
assert params["$filter"] == "Label['env'] HAS ('prod') AND Label['team'] HAS ('platform')"
769769

770+
def test_multiple_labels_real_keys(self):
771+
opts = ListOptions(filter_labels=[
772+
Label(key="sap-managed-runtime-type", values=["agw.a2a.server"]),
773+
Label(key="sap-managed-runtime-ordid", values=["d95a09d8-2152-40c9-abfd-52f3a53f6150"]),
774+
])
775+
params = opts.to_query_params()
776+
assert params["$filter"] == (
777+
"Label['sap-managed-runtime-type'] HAS ('agw.a2a.server') AND "
778+
"Label['sap-managed-runtime-ordid'] HAS ('d95a09d8-2152-40c9-abfd-52f3a53f6150')"
779+
)
780+
770781
def test_filter_labels_and_filter_names_raises(self):
771782
opts = ListOptions(
772783
filter_names=["dest1"],

0 commit comments

Comments
 (0)