feat(entity): add TCs for Retrieve Attribute (062_01 fragment, 062_03 errors, 062_05 datasetId)
New Test Cases for Retrieve Attribute, GET /entities/{entityId}/attrs/{attrId} (TS 104-176 7.5.3.1, TS 104-175 10.4.4). Until now the suite did not test this operation.
062_01: the attribute fragment, for a Property and for a second attribute062_03: 400 for an invalid entity id, 404 for an unknown entity, 404 for an unknown attribute062_05:datasetId: the instance it names; 404 when the attribute has no default instance and nodatasetIdis given; 404 for an unknowndatasetId062_06:lang: a LanguageProperty in one language; the whole LanguageProperty withoutlang062_07:type: the Entity's type gives 200, another type 404 (TS 104-175 10.4.4.4)
12 Test Cases in TP/NGSI-LD/ContextInformation/Consumption/EntityAttributes/RetrieveAttributeValue/ (TP ids CI/Cons/EA/062_xx), all tagged since_ts104_v1.1.1: the operation has no ETSI GS CIM 009 counterpart. doc/README.md documents that tag form, and statisticsDocumentationData.py keeps the whole release after since_.
Also in the MR:
- the keyword
Retrieve Entity Attribute(resources/ApiUtils/ContextInformationConsumption.resource) - the expectation files in
data/entities/expectations/ - the documentation-generator entries (
doc/analysis/requests.py,generaterobotdata.py)
Scope: this MR covers 7.5.3.1, the attribute fragment. 062_02 and 062_04 are kept free for 7.6.3.1 (GET .../attrs/{attrId}/value), which comes in the next MR and reuses the same helpers. Set Attribute Value (063) follows after that. Not covered here: join/joinLevel (they exist only on 7.5.3.1, so they need a keyword of their own) and the EntityMap parameters.
The dry run (12/12) and the documentation generator are clean. Against a broker: 11 of 12 pass. 062_07_02 fails because that broker ignores type on this route, which is a broker bug.
MR 4 of the plan: https://famzang.com/ttf/ngsi-ld-suite-plan.html