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__.py—Set Stub Reply: skipjson.dumps()when the body is already astr/bytes(orNone). Many distop tests (D011_02_red, D011_03_inc, D011_04_inc, D011_01_aux, etc.) build the stub body viaLoad 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 (
@vocabover-stripping when the user @context defines the same short name to a different IRI; and the broker auto-populatingnotificationTriggeron CSR subscriptions despite TS 104-175 § 5.2 explicitly excluding the field for that Subscription type). Filed separately and fixed in swBroker. - The
DateTimecase 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".