test-infra: 2 housekeeping fixes + HttpCtrl stub-reply double-encode fix

Three independent test-side issues:

  • 038_05.robot: add the standard ${date_format} variable, copying the convention from sibling 046_07/11.
  • jsonldContext.resource: add missing ${ERROR_TYPE_RESOURCE_NOT_FOUND} mapping so 053_03_01 / 051_04_02 / 051_04_03 resolve their assertion.
  • HttpCtrl/__init__.pySet Stub Reply: skip json.dumps() when the body is already a str/bytes (or None). Many distop tests (D011_02_red, D011_03_inc, D011_04_inc, D011_01_aux, etc.) build the stub body via Load Entity As Serialized Array, which already returns a JSON-encoded string. Without this guard the library double-encodes it into an escaped string-of-a-string and the broker under test fails to parse the entity payload coming back from the mocked CSR.

Documented as testsuite-doubts.md #78 (closed) (78a, 78b for the first two items) plus new entries #79 (closed) (D011_02_exc_01 attrs= vs pick=), #80 (closed) (046_22_08 deleteAll=${true} -> "True"), and #80b (Create Subscription And Entity keyword default-arg bug causing every caller to use urn:ngsi-ld:Building:None).

Verified: each affected test now passes against swBroker.


Scope reduction (2026-05-30, after MR review): the original bundle had three more items — almostFull compaction in 001_05/003_05, notificationTrigger ignore in 038_01/040_01, and Library DateTime in Common.resource. All three were pulled after deeper analysis:

  • The first two were broker-side bugs (@vocab over-stripping when the user @context defines the same short name to a different IRI; and the broker auto-populating notificationTrigger on CSR subscriptions despite TS 104-175 § 5.2 explicitly excluding the field for that Subscription type). Filed separately and fixed in swBroker.
  • The DateTime case is likely an env-delta on my side (Robot 7.4.1 / Python 3.14.4) — the tests have been passing on Forge CI for years. Pulled pending re-verification on a clean checkout.

Inline notes preserved in testsuite-doubts.md #78 (closed) under "Items removed".

Edited by Ken Zangelin

Merge request reports

Loading