Commit 7649c37f authored by kzangeli's avatar kzangeli
Browse files

HttpCtrl: install the vendored 0.3.1 fork + align D011_02_exc stub URL

`requirements.txt` was pinning upstream `robotframework-httpctrl==0.3.3`,
which ships a stub matcher that requires the criteria URL to **exactly**
equal the stub URL. That defeats every distop test where the broker
appends spec-mandated parameters (`pick=…&sysAttrs=true&…`) to the
forwarded URL — see testsuite-doubts.md #22. The vendored fork at
`libraries/robotframework-httpctrl/` is 0.3.1 with a distop-aware
substring matcher; it's been orphaned (nothing installed it) since the
requirements bump.

- requirements.txt: switch the pin to `-e ./libraries/robotframework-httpctrl/`
  so the local fork actually runs.
- D011_02_exc.robot: the stub URL hardcoded the deprecated `attrs=speed`
  query param. Spec § 5 says `attrs` is a synonym for `pick` + `q` and
  is **deprecated**; the broker forwards with the canonical `pick=`.
  Switched the stub to `pick=speed` so the new substring matcher
  reaches it. (Even with the new matcher, the original `attrs=` token
  wasn't a substring of the broker's `pick=…` URL.)

This doesn't flip D011_02_exc_01 itself — a second-order Link-header /
context issue remains, tracked separately in the doubts file — but it
lets the matcher reach the stub and lets 8-10 other distop tests newly
reach end-to-end for triage.
parent aed085be
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -60,7 +60,12 @@ Setup Registration And Context Source Mock Server And Query The Context Broker W
    @{entities_id}=    Create List    ${entity_id}

    IF    '${method}' == 'GET'
        Set Stub Reply    ${method}    ${url}?type=Vehicle&id=${entity_id}&attrs=speed    200    ${serialized_entity}
        # Broker forwards with `pick=…` (spec § 5: `attrs` is deprecated and
        # is a synonym for `pick` + `q`). HttpCtrl's stub matcher substring-
        # checks each stub-param name+value against the criteria query
        # string, so the stub must use the canonical `pick=`. See
        # testsuite-doubts.md #22.
        Set Stub Reply    ${method}    ${url}?type=Vehicle&pick=speed    200    ${serialized_entity}
        ${response2}=    Query Entities    entity_types=Vehicle    context=${ngsild_test_suite_context}
    ELSE IF    '${method}' == 'POST'
        Set Stub Reply    ${method}    ${url}    200    ${serialized_entity}
+4 −1
Original line number Diff line number Diff line
@@ -5,6 +5,9 @@ robotframework-requests==0.9.7
deepdiff==8.6.1
prettydiff==0.1.0
paho-mqtt==1.6.1
robotframework-httpctrl==0.3.3
# Vendored fork at libraries/robotframework-httpctrl/: 0.3.1 base with the
# distop-aware substring stub-URL matcher upstream 0.3.3 ships without
# (see testsuite-doubts.md #22).
-e ./libraries/robotframework-httpctrl/
robotframework-robocop==7.2.0
robotframework-mqttlibrary==0.7.1.post3