Context Information Management (CIM); NGSI-LD Test Purposes Descriptions

RGS/CIM-0013v211

General Information

Status
Not Published
Current Stage
12 - Citation in the OJ (auto-insert)
Due Date
29-Mar-2024
Completion Date
29-Apr-2024
Ref Project
Standard
ETSI GS CIM 013 V2.1.1 (2024-04) - Context Information Management (CIM); NGSI-LD Test Purposes Descriptions
English language
275 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


GROUP SPECIFICATION
Context Information Management (CIM);
NGSI-LD Test Purposes Descriptions
Disclaimer
The present document has been produced and approved by the cross-cutting Context Information Management (CIM) ETSI
Industry Specification Group (ISG) and represents the views of those members who participated in this ISG.
It does not necessarily represent the views of the entire ETSI membership.

2 ETSI GS CIM 013 V2.1.1 (2024-04)

Reference
RGS/CIM-0013v211
Keywords
API, IoT, NGSI-LD, testing
ETSI
650 Route des Lucioles
F-06921 Sophia Antipolis Cedex - FRANCE

Tel.: +33 4 92 94 42 00  Fax: +33 4 93 65 47 16

Siret N° 348 623 562 00017 - APE 7112B
Association à but non lucratif enregistrée à la
Sous-Préfecture de Grasse (06) N° w061004871

Important notice
The present document can be downloaded from:
https://www.etsi.org/standards-search
The present document may be made available in electronic versions and/or in print. The content of any electronic and/or
print versions of the present document shall not be modified without the prior written authorization of ETSI. In case of any
existing or perceived difference in contents between such versions and/or in print, the prevailing version of an ETSI
deliverable is the one made publicly available in PDF format at www.etsi.org/deliver.
Users of the present document should be aware that the document may be subject to revision or change of status.
Information on the current status of this and other ETSI documents is available at
https://portal.etsi.org/TB/ETSIDeliverableStatus.aspx
If you find errors in the present document, please send your comment to one of the following services:
https://portal.etsi.org/People/CommiteeSupportStaff.aspx
If you find a security vulnerability in the present document, please report it through our
Coordinated Vulnerability Disclosure Program:
https://www.etsi.org/standards/coordinated-vulnerability-disclosure
Notice of disclaimer & limitation of liability
The information provided in the present deliverable is directed solely to professionals who have the appropriate degree of
experience to understand and interpret its content in accordance with generally accepted engineering or
other professional standard and applicable regulations.
No recommendation as to products and services or vendors is made or should be implied.
No representation or warranty is made that this deliverable is technically accurate or sufficient or conforms to any law
rule and/or regulation and further, no representation or warranty is made of merchantability or fitness
and/or governmental
for any particular purpose or against infringement of intellectual property rights.
In no event shall ETSI be held liable for loss of profits or any other incidental or consequential damages.

Any software contained in this deliverable is provided "AS IS" with no warranties, express or implied, including but not
limited to, the warranties of merchantability, fitness for a particular purpose and non-infringement of intellectual property
rights and ETSI shall not be held liable in any event for any damages whatsoever (including, without limitation, damages
for loss of profits, business interruption, loss of information, or any other pecuniary loss) arising out of or related to the use
of or inability to use the software.
Copyright Notification
No part may be reproduced or utilized in any form or by any means, electronic or mechanical, including photocopying and
microfilm except as authorized by written permission of ETSI.
The content of the PDF version shall not be modified without the written authorization of ETSI.
The copyright and the foregoing restriction extend to reproduction in all media.

© ETSI 2024.
All rights reserved.
ETSI
3 ETSI GS CIM 013 V2.1.1 (2024-04)
Contents
Intellectual Property Rights . 5
Foreword . 5
Modal verbs terminology . 5
1 Scope . 6
2 References . 6
2.1 Normative references . 6
2.2 Informative references . 6
3 Definition of terms, symbols and abbreviations . 7
3.1 Terms . 7
3.2 Symbols . 7
3.3 Abbreviations . 7
4 Test Purposes Descriptions . 8
4.1 jsonldContext . 8
4.1.1 Consumption . 8
4.1.1.1 ServeContext . 8
4.1.1.2 ListContexts . 13
4.1.2 Provision . 30
4.1.2.1 AddContext . 30
4.1.2.2 DeleteContext . 33
4.2 CommonBehaviours . 39
4.2.1 CommonResponses . 39
4.2.1.1 VerifyNotAcceptableMediaType . 39
4.2.1.2 VerifyLdContextNotAvailable . 42
4.2.1.3 VerifyGETWithoutAccept . 44
4.2.1.4 VerifyUnsupportedMediaType . 46
4.2.1.5 VerifyMergePatchJson . 49
4.3 ContextSource . 50
4.3.1 Registration . 50
4.3.1.1 DeleteContextSourceRegistration . 50
4.3.1.2 UpdateContextSourceRegistration . 52
4.3.1.3 RegisterContextSource . 56
4.3.2 RegistrationSubscription . 65
4.3.2.1 RetrieveContextSourceRegistrationSubscription . 65
4.3.2.2 ContextSourceRegistrationSubscriptionNotificationBehaviour . 67
4.3.2.3 DeleteContextSourceRegistrationSubscription . 78
4.3.2.4 CreateContextSourceRegistrationSubscription . 80
4.3.2.5 UpdateContextSourceRegistrationSubscription . 87
4.3.2.6 QueryContextSourceRegistrationSubscriptions . 91
4.3.3 Discovery . 96
4.3.3.1 RetrieveContextSourceRegistration . 96
4.3.3.2 QueryContextSourceRegistrations . 99
4.4 ContextInformation . 111
4.4.1 Consumption . 111
4.4.1.1 TemporalEntity . 111
4.4.1.1.1 RetrieveTemporalEvolutionOfEntity . 111
4.4.1.1.2 QueryTemporalEvolutionOfEntities. 124
4.4.1.2 Discovery . 136
4.4.1.2.1 RetrieveAvailableEntityTypes . 136
4.4.1.2.2 RetrieveAvailableAttributes . 136
4.4.1.2.3 RetrieveDetailsOfAvailableEntityTypes . 137
4.4.1.2.4 RetrieveAvailableAttributeInformation . 138
4.4.1.2.5 RetrieveDetailsOfAvailableAttributes . 139
4.4.1.2.6 RetrieveAvailableEntityTypeInformation . 140
4.4.1.3 Entity . 141
ETSI
4 ETSI GS CIM 013 V2.1.1 (2024-04)
4.4.1.3.1 QueryEntities . 141
4.4.1.3.2 RetrieveEntity . 158
4.4.2 Subscription . 167
4.4.2.1 UpdateSubscription . 167
4.4.2.2 RetrieveSubscription . 174
4.4.2.3 SubscriptionNotificationBehaviour . 175
4.4.2.4 QuerySubscriptions . 187
4.4.2.5 DeleteSubscription . 190
4.4.2.6 CreateSubscription . 191
4.4.3 Provision . 195
4.4.3.1 TemporalEntity . 195
4.4.3.1.1 UpdateTemporalRepresentationOfEntity . 195
4.4.3.1.2 DeleteTemporalRepresentationOfEntity . 196
4.4.3.1.3 CreateTemporalRepresentationOfEntity . 198
4.4.3.2 BatchEntities . 201
4.4.3.2.1 CreateBatchOfEntities . 201
4.4.3.2.2 DeleteBatchOfEntities . 209
4.4.3.2.3 UpsertBatchOfEntities . 212
4.4.3.2.4 UpdateBatchOfEntities . 218
4.4.3.3 EntityAttributes . 222
4.4.3.3.1 DeleteEntityAttribute . 222
4.4.3.3.2 PartialAttributeUpdate . 227
4.4.3.3.3 UpdateEntityAttributes . 232
4.4.3.3.4 AppendEntityAttributes . 237
4.4.3.4 Entities . 243
4.4.3.4.1 CreateEntity . 243
4.4.3.4.2 DeleteEntity . 252
4.4.3.5 TemporalEntityAttributes . 254
4.4.3.5.1 DeleteAttribute . 254
4.4.3.5.2 DeleteAttributeInstance . 259
4.4.3.5.3 AddAttributes . 264
4.4.3.5.4 PartialUpdateAttributeInstance . 267
Annex A (informative): Bibliography . 273
Annex B (informative): Change History . 274
History . 275

ETSI
5 ETSI GS CIM 013 V2.1.1 (2024-04)
Intellectual Property Rights
Essential patents
IPRs essential or potentially essential to normative deliverables may have been declared to ETSI. The declarations
pertaining to these essential IPRs, if any, are publicly available for ETSI members and non-members, and can be
found in ETSI SR 000 314: "Intellectual Property Rights (IPRs); Essential, or potentially Essential, IPRs notified to
ETSI in respect of ETSI standards", which is available from the ETSI Secretariat. Latest updates are available on the
ETSI Web server (https://ipr.etsi.org/).
Pursuant to the ETSI Directives including the ETSI IPR Policy, no investigation regarding the essentiality of IPRs,
including IPR searches, has been carried out by ETSI. No guarantee can be given as to the existence of other IPRs not
referenced in ETSI SR 000 314 (or the updates on the ETSI Web server) which are, or may be, or may become,
essential to the present document.
Trademarks
The present document may include trademarks and/or tradenames which are asserted and/or registered by their owners.
ETSI claims no ownership of these except for any which are indicated as being the property of ETSI, and conveys no
right to use or reproduce any trademark and/or tradename. Mention of those trademarks in the present document does
not constitute an endorsement by ETSI of products, services or organizations associated with those trademarks.
DECT™, PLUGTESTS™, UMTS™ and the ETSI logo are trademarks of ETSI registered for the benefit of its

Members. 3GPP™ and LTE™ are trademarks of ETSI registered for the benefit of its Members and of the 3GPP
Organizational Partners. oneM2M™ logo is a trademark of ETSI registered for the benefit of its Members and of the ®
oneM2M Partners. GSM and the GSM logo are trademarks registered and owned by the GSM Association.
Foreword
This Group Specification (GS) has been produced by ETSI Industry Specification Group (ISG) cross-cutting Context
Information Management (CIM).
Modal verbs terminology
In the present document "shall", "shall not", "should", "should not", "may", "need not", "will", "will not", "can" and
"cannot" are to be interpreted as described in clause 3.2 of the ETSI Drafting Rules (Verbal forms for the expression of
provisions).
"must" and "must not" are NOT allowed in ETSI deliverables except when used in direct citation.

ETSI
6 ETSI GS CIM 013 V2.1.1 (2024-04)
1 Scope
The present document contains the description of each abstract test case using the Test Template [i.2] and using the Test
Purposes Description Language identified in ETSI GS CIM 012 [2] and ETSI GR CIM 011 [i.1]. The test cases are
described in tabular form. All clauses mentioned in tables of clause 4 of the present document are references to the
NGSI-LD specification, hence to be found in [1].
2 References
2.1 Normative references
References are either specific (identified by date of publication and/or edition number or version number) or non-
specific. For specific references, only the cited version applies. For non-specific references, the latest version of the
referenced document (including any amendments) applies.
Referenced documents which are not found to be publicly available in the expected location might be found at
https://docbox.etsi.org/Reference.
NOTE: While any hyperlinks included in this clause were valid at the time of publication, ETSI cannot guarantee
their long-term validity.
The following referenced documents are necessary for the application of the present document.
[1] ETSI GS CIM 009 (V1.5.1) (2021-11): "Context Information Management (CIM); NGSI-LD
API".
[2] ETSI GS CIM 012 (V1.1.1) (2021-03): "Context Information Management (CIM); NGSI-LD Test
Suite Structure".
[3] Void.
2.2 Informative references
References are either specific (identified by date of publication and/or edition number or version number) or non-
specific. For specific references, only the cited version applies. For non-specific references, the latest version of the
referenced document (including any amendments) applies.
NOTE: While any hyperlinks included in this clause were valid at the time of publication, ETSI cannot guarantee
their long-term validity.
The following referenced documents are not necessary for the application of the present document but they assist the
user with regard to a particular subject area.
[i.1] ETSI GR CIM 011 (V1.1.1) (2021-04): "Context Information Management (CIM); NGSI-LD
Testing Framework: Test Purposes Description Language (TPDL)".
[i.2] ETSI GS CIM 016 (V1.1.1) (2021-04): "Context Information Management (CIM); NGSI-LD
Testing Framework: Test Template".
ETSI
7 ETSI GS CIM 013 V2.1.1 (2024-04)
3 Definition of terms, symbols and abbreviations
3.1 Terms
For the purposes of the present document, the following terms apply:
NOTE: The letters "NGSI-LD" were added to most terms to confirm that they are distinct from other terms of
similar/same name in use in other organizations, however, in the present document the letters "NGSI-LD"
are generally omitted for brevity.
NGSI-LD Central Broker: NGSI-LD Context Broker that only uses a local storage when serving NGSI-LD requests,
without involving any external Context Sources
NGSI-LD Context Broker: architectural component that implements all the NGSI-LD interfaces
NGSI-LD Context Consumer: agent that uses the query and subscription functionality of NGSI-LD to retrieve context
information
NGSI-LD Context Producer: agent that uses the NGSI-LD context provision and/or registration functionality to
provide or announce the availability of its context information to an NGSI-LD Context Broker
NGSI-LD Context Registry: software functional element where Context Sources register the information that they can
provide
NOTE: It is used by Distribution Brokers and Federation Brokers to find the appropriate Context Sources which
can provide the information required for serving an NGSI-LD request.
NGSI-LD Context Source: source of context information which implements the NGSI-LD consumption and
subscription (and possibly provision) interfaces defined by the present document
NOTE: It is usually registered with an NGSI-LD Registry so that it can announce what kind of information it can
provide, when requested, to Context Consumers and Brokers.
NGSI-LD Distribution Broker: NGSI-LD Context Broker that uses both local context information and registration
information from an NGSI-LD Context Registry, to access matching context information from a set of distributed
Context Sources
NGSI-LD Federation Broker: Distribution Broker that federates information from multiple underlying NGSI-LD
Context Brokers and across domains
3.2 Symbols
Void.
3.3 Abbreviations
For the purposes of the present document, the following abbreviations apply:
CF Config Identifier
DEL DELETE
HTTP HperText Transfer Protocol
JSON Java Script Object Notation
PICS Profile Implementation Conformance Statement
SUT System Under Test
TP Test Purpose
URI Unified Resource Identification
URL Unified Resource Location
ETSI
8 ETSI GS CIM 013 V2.1.1 (2024-04)
4 Test Purposes Descriptions
4.1 jsonldContext
4.1.1 Consumption
4.1.1.1 ServeContext
TP Id TP/NGSI-LD/CTX/Cons/053_06
Test objective
Check that the numberOfHits is increased after using a Cached context
Reference
ETSI GS CIM 009 V1.5.1 [1], clause 5.13.4
Config Id CF_01
PICS Selection PICS_SerOneSpeUse@co
Initial conditions with { the SUT containing a Cached @context created from a entity creation through
downloading from external server. }
Permutations
TP Permutation id TP/NGSI-LD/CTX/Cons/053_06_01
Name 053_06_01 Check that the numberOfHits is increased after using a Cached context
Parent Release v1.5.1
Description
Check that the numberOfHits is increased after using a Cached context
Expected behaviour Test events Direction
when { SUT <- Client
the SUT receives a Request from the client containing:
URL set to '/
ngsi-ld/v1/jsonldContexts/{contextId}'
method set to 'GET'
Serve a @context with contextID '$
{uri}' and details 'true'
}
then { SUT -> Client
the SUT sends a valid Response for the operations:
Serve a @context with Response Status Code set to
200   and
Serve a @context with Check that the numberOfHits in the response
body is set to '2'
}
TP Id
TP/NGSI-LD/CTX/Cons/053_04
Test objective Check that one can get an increase numberOfHits after creation of a Hosted @context and
using it
Reference
ETSI GS CIM 009 V1.5.1 [1], clause 5.13.4
Config Id
CF_01
PICS Selection PICS_SerOneSpeUse@co
Initial conditions with { the SUT containing a Cached @context created from a entity creation through
downloading from external server. }
Permutations
TP Permutation id TP/NGSI-LD/CTX/Cons/053_04_01
Name 053_04_01 Check that the numberOfHits is increased after using a Hosted context
Parent Release v1.5.1
Description Check that the numberOfHits is increased after using a Hosted context
Expected behaviour Test events Direction
when {
SUT <- Client
the SUT receives a Request from the client containing:
URL set to '/
ngsi-ld/v1/jsonldContexts/{contextId}'
method set to 'GET'
Serve a @context with contextID '$
{uri}' and details 'true'
}
ETSI
9 ETSI GS CIM 013 V2.1.1 (2024-04)
then { SUT -> Client
the SUT sends a valid Response for the operations:
Serve a @context with Response Status Code set to
200   and
Serve a @context with Check that the numberOfHits in the response
body is set to '2'
}
TP Id TP/NGSI-LD/CTX/Cons/053_02
Test objective Check that one can serve a previous created @context with details equal to True
Reference ETSI GS CIM 009 V1.5.1 [1], clause 5.13.4
Config Id CF_01
PICS Selection
PICS_SerOneSpeUse@co
Initial conditions with { the SUT containing a Hosted @context and the default Cached Core Context. }
Permutations
TP Permutation id TP/NGSI-LD/CTX/Cons/053_02_01
Name 053_02_01 Serve a @context with details set to True
Parent Release v1.5.1
Description Check that one can serve a @context with details
Expected behaviour Test events Direction
when { SUT <- Client
the SUT receives a Request from the client containing:
URL set to '/
ngsi-ld/v1/jsonldContexts/{contextId}'
method set to 'GET'
Serve a @context with contextID '$
{uri}' and details 'true'
}
then { SUT -> Client
the SUT sends a valid Response for the operations:
Serve a @context with Response Status Code set to
200   and
Serve a @context with Response reason set to 'OK'   and
Serve a @context with Response Header: Content-
Type set to application/
json   and
Serve a @context with Check the Body of the response should contain
a @context with 'URL' key not Empty and 'string' type, with 'localId' key not
Empty and 'string' type, with 'kind' key not Empty, 'string' type, and value set
to 'Hosted', and 'timestamp and 'DateTime' format   and
Serve a @context with The Response Body `$
{response.json()}' might contain the key 'lastUsage'   and
Serve a @context with The Response Body `$
{response.json()}' might contain the key 'numberOfHits'   and
Serve a @context with The Response Body `$
{response.json()}' might contain the key 'extraInfo'   and
Serve a @context with Check that the only allowed keys in the
response body of a @context are 'URL', 'localId', 'kind', 'timestamp',
'lastUsage', 'numberOfHits', 'extraInfo'
}
TP Id TP/NGSI-LD/CTX/Cons/053_05
Test objective
Check that the context served by a context server is still in the broker after a
ERROR_TYPE_LD_CONTEXT_NOT_AVAILABLE with details=true
Reference ETSI GS CIM 009 V1.5.1 [1], clause 5.13.4
Config Id
CF_01
PICS Selection
PICS_SerOneSpeUse@co
Initial conditions with { the SUT containing a Cached @context created from a entity creation through
downloading from external server. }
Permutations
TP Permutation id
TP/NGSI-LD/CTX/Cons/053_05_01
Name 053_05_01 Check that the context served by a context server is still in the broker after a
ERROR_TYPE_LD_CONTEXT_NOT_AVAILABLE with details=true
Parent Release
v1.5.1
ETSI
10 ETSI GS CIM 013 V2.1.1 (2024-04)
Description Check that the context served by a context server is still in the broker after a
ERROR_TYPE_LD_CONTEXT_NOT_AVAILABLE with details=true
Expected behaviour Test events Direction
when { SUT <- Client
the SUT receives a Request from the client containing:
URL set to '/
ngsi-ld/v1/jsonldContexts/{contextId}'
method set to 'GET'
Serve a @context with contextID '$
{uri}' and details 'true'
}
then { SUT -> Client
the SUT sends a valid Response for the operations:
Serve a @context with Response Status Code set to
200   and
Serve a @context with Response reason set to 'OK'   and
Serve a @context with Response Header: Content-
Type set to application/
json   and
Serve a @context with Check the Body of the response should contain
a @context with 'URL' key not Empty and 'string' type, with 'localId' key not
Empty and 'string' type, with 'kind' key not Empty, 'string' type, and value set
to 'Cached', and 'timestamp and 'DateTime' format   and
Serve a @context with The Response Body `$
{response.json()}' might contain the key 'lastUsage'   and
Serve a @context with The Response Body `$
{response.json()}' might contain the key 'numberOfHits'   and
Serve a @context with The Response Body `$
{response.json()}' might contain the key 'extraInfo'   and
Serve a @context with Check that the only allowed keys in the
response body of a @context are 'URL', 'localId', 'kind', 'timestamp',
'lastUsage', 'numberOfHits', 'extraInfo'
}
TP Id TP/NGSI-LD/CTX/Cons/053_07
Test objective
Check that one can serve a ImplicitlyCreated @context with details set to true
Reference
ETSI GS CIM 009 V1.5.1 [1], clause 5.13.4
Config Id CF_01
PICS Selection PICS_SerOneSpeUse@co
Initial conditions with { the SUT containing a ImplicitlyCreated @context created from a subscription query. }
Permutations
TP Permutation id
TP/NGSI-LD/CTX/Cons/053_07_01
Name
053_07_01 Check that one can serve a ImplicitlyCreated @context with details set to true
Parent Release v1.5.1
Description Check that one can serve a ImplicitlyCreated @context with details set to true
Expected behaviour Test events Direction
when { SUT <- Client
the SUT receives a Request from the client containing:
URL set to '/
ngsi-ld/v1/jsonldContexts/{contextId}'
method set to 'GET'
Serve a @context with contextID '$
{implicit_id}' and details 'true'
}
then { SUT -> Client
the SUT sends a valid Response for the operations:
Serve a @context with Response Status Code set to
200   and
Serve a @context with Response reason set to 'OK'   and
Serve a @context with Response Header: Content-
Type set to application/
json   and
Serve a @context with Check the Body of the response should contain
a @context with 'URL' key not Empty and 'string' type, with 'localId' key not
Empty and 'string' type, with 'kind' key not Empty, 'string' type, and value set
to 'ImplicitlyCreated', and 'timestamp and 'DateTime' format   and
Serve a @context with The Response Body `$
ETSI
11 ETSI GS CIM 013 V2.1.1 (2024-04)
{response.json()}' might contain the key 'lastUsage'   and
Serve a @context with The Response Body `$
{response.json()}' might contain the key 'numberOfHits'   and
Serve a @context with The Response Body `$
{response.json()}' might contain the key 'extraInfo'   and
Serve a @context with Check that the only allowed keys in the
response body of a @context are 'URL', 'localId', 'kind', 'timestamp',
'lastUsage', 'numberOfHits', 'extraInfo'
}
TP Id TP/NGSI-LD/CTX/Cons/053_03
Test objective
Check that one gets an error when try to serve a @context
Reference
ETSI GS CIM 009 V1.5.1 [1], clause 5.13.4
Config Id CF_01
PICS Selection PICS_SerOneSpeUse@co
Initial conditions with { the SUT containing a Hosted @context and the default Cached Core Context. }
Permutations
TP Permutation id TP/NGSI-LD/CTX/Cons/053_03_01
Name
053_03_01 Serve a @contexts with a wrong id and correct details
Parent Release
v1.5.1
Description Check that an error is returned when one requests for a @context that does not exist
Expected behaviour Test events Direction
when { SUT <- Client
the SUT receives a Request from the client containing:
URL set to '/
ngsi-ld/v1/jsonldContexts/{contextId}'
method set to 'GET'
Serve a @context with contextID 'wrong_id_context' and details 'true'
}
then { SUT -> Client
the SUT sends a valid Response for the operations:
Serve a @context with Response Status Code set to
404   and
Serve a @context with Response reason set to 'Not Found'   and
Serve a @context with Response Body containing the type '$
{ERROR_TYPE_RESOURCE_NOT_FOUND}' and Response Body Title is a
string and is not
${EMPTY}
and Response Body Detail is a string and is not
${EMPTY}
and Response Boty Title is not equal to Response Body Detail
}
TP Permutation id TP/NGSI-LD/CTX/Cons/053_03_02
Name 053_03_02 Serve a @contexts with a valid id and incorrect details
Parent Release v1.5.1
Description
Check that an error is returned when one requests for a @context that does not exist
Expected behaviour Test events Direction
when { SUT <- Client
the SUT receives a Request from the client containing:
URL set to '/
ngsi-ld/v1/jsonldContexts/{contextId}'
method set to 'GET'
Serve a @context with contextID '$
{uri}' and details 'other'
}
then { SUT -> Client
the SUT sends a valid Response for the operations:
Serve a @context with Response Status Code set to
400   and
Serve a @context with Response reason set to 'Bad Request'   and
Serve a @context with Response Body containing the type 'https://
uri.etsi.org/ngsi-ld/errors/
BadRequestData' and Response Body Title is a string and is not
${EMPTY}
and Response Body Detail is a string and is not
${EMPTY}
ETSI
12 ETSI GS CIM 013 V2.1.1 (2024-04)
and Response Boty Title is not equal to Response Body Detail
}
TP Permutation id TP/NGSI-LD/CTX/Cons/053_03_03
Name 053_03_03 Serve a Cached @contexts with details set to false
Parent Release v1.5.1
Description Check that an error is returned when one requests for a @context that does not exist
Expected behaviour Test events Direction
when { SUT <- Client
the SUT receives a Request from the client containing:
URL set to '/
ngsi-ld/v1/jsonldContexts/{contextId}'
method set to 'GET'
Serve a @context with contextID 'https://
uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context-
v1.6.jsonld' and details 'false'
}
then { SUT -> Client
the SUT sends a valid Response for the operations:
Serve a @context with Response Status Code set to
422   and
Serve a @context with Response reason set to 'Unprocessable
Content'   and
Serve a @context with Response Body containing the type 'https://
uri.etsi.org/ngsi-ld/errors/
OperationNotSupported' and Response Body Title is a string and is not
${EMPTY}
and Response Body Detail is a string and is not
${EMPTY}
and Response Boty Title is not equal to Response Body Detail
}
TP Id
TP/NGSI-LD/CTX/Cons/053_01
Test objective
Check that one can serve a previous created @context
Reference ETSI GS CIM 009 V1.5.1 [1], clause 5.13.4
Config Id CF_01
PICS Selection PICS_SerOneSpeUse@co
Initial conditions with { the SUT containing a Hosted @context and the default Cached Core Context. }
Permutations
TP Permutation id
TP/NGSI-LD/CTX/Cons/053_01_01
Name
053_01_01 Serve a @context without details
Parent Release v1.5.1
Description Check that one can serve a @context with details equal to empty or false
Expected behaviour Test events Direction
when { SUT <- Client
the SUT receives a Request from the client containing:
URL set to '/
ngsi-ld/v1/jsonldContexts/{contextId}'
method set to 'GET'
Serve a @context with contextID '$
{uri}' and details '${EMPTY}'
}
then { SUT -> Client
the SUT sends a valid Response for the operations:
Serve a @context with Response Status Code set to
200   and
Serve a @context with Response reason set to 'OK'   and
Serve a @context with Response Header: Content-
Type set to application/
json   and
Serve a @context with Check the Body of the response should contain
the @context `@context-
minimal-valid.json'
}
TP Permutation id TP/NGSI-LD/CTX/Cons/053_01_02
Name 053_01_02 Serve a @context with details equal to false
Parent Release
v1.5.1
ETSI
13 ETSI GS CIM 013 V2.1.1 (2024-04)
Description Check that one can serve a @context with details equal to empty or false
Expected behaviour Test events Direction
when { SUT <- Client
the SUT receives a Request from the client containing:
URL set to '/
ngsi-ld/v1/jsonldContexts/{contextId}'
method set to 'GET'
Serve a @context with contextID '$
{uri}' and details 'false'
}
then { SUT -> Client
the SUT sends a valid Response for the operations:
Serve a @context with Response Status Code set to
200   and
Serve a @context with Response reason set to 'OK'   and
Serve a @context with Response Header: Content-
Type set to application/
json   and
Serve a @context with Check the Body of the response should contain
the @context `@context-
minimal-valid.json'
}
TP Id TP/NGSI-LD/CTX/Cons/053_08
Test objective Check that the numberOfHits is increased after using a ImplicitlyCreated context
Reference
ETSI GS CIM 009 V1.5.1 [1], clause 5.13.4
Config Id
CF_01
PICS Selection PICS_SerOneSpeUse@co
Initial conditions with { the SUT containing a ImplicitlyCreated @context created from a subscription query. }
Permutations
TP Permutation id TP/NGSI-LD/CTX/Cons/053_08_01
Name 053_08_01 Check that the numberOfHits is increased after using a ImplicitlyCreated context
Parent Release
v1.5.1
Description
Check that the numberOfHits is increased after using a ImplicitlyCreated context
Expected behaviour Test events Direction
when { SUT <- Client
the SUT receives a Request from the client containing:
URL set to '/
ngsi-ld/v1/jsonldContexts/{contextId}'
method set to 'GET'
Serve a @context with contextID '$
{implicit_id}' and details 'true'
}
then {
SUT -> Client
the SUT sends a valid Response for the operations:
Serve a @context with Response Status Code set to
200   and
Serve a @context with Check that the numberOfHits in the response
body is set to '2'
}
4.1.1.2 ListContexts
TP Id TP/NGSI-LD/CTX/Cons/052_06
Test objective Check that one can list all the @context available in the broker with no previous add
@context
Reference ETSI GS CIM 009 V1.5.1 [1], clause 5.13.3
Config Id CF_01
PICS Selection PICS_LisAllCac@co
Initial conditions with { the SUT containing a ImplicitlyCreated @context created from a subscription query. }
Permutations
TP Permutation id
TP/NGSI-LD/CTX/Cons/052_06_01
Name 052_06_01 List @contexts with neither details or kind and a created ImplicitlyCreated
@context
ETSI
14 ETSI GS CIM 013 V2.1.1 (2024-04)
Parent Release v1.5.1
Description Check that one can list @contexts
Expected behaviour Test events Direction
when { SUT <- Client
the SUT receives a Request from the client containing:
URL set to '/ngsi-ld/v1/jsonldContexts?${params_as_string}'
method set to 'GET'
List @contexts: and
Query Parameter: details set to '${EMPTY}' and
Query Parameter: kind set to '${EMPTY}'
}
then { SUT -> Client
the SUT sends a valid Response for the operations:
List @contexts with Response Status Code set to
200   and
List @contexts with Response reason set to 'OK'   and
List @contexts with Check Context Response Body Containing a list of
identifiers and
Query Parameter: response_body set to 'response.json()' and
Query Parameter: expected_length set to '4' and
Query Parameter: list_contexts set to 'list_contexts'
}
TP Permutation id
TP/NGSI-LD/CTX/Cons/052_06_02
Name 052_06_02 List @contexts with no details and kind set to hosted and a created
ImplicitlyCreated @context
Parent Release
v1.5.1
Description Check that one can list @contexts
Expected behaviour Test events Direction
when { SUT <- Client
the SUT receives a Request from the client containing:
URL set to '/ngsi-ld/v1/jsonldContexts?${params_as_string}'
method set to 'GET'
List @contexts: and
Query Parameter: details set to '${EMPTY}' and
Query Parameter: kind set to 'Hosted'
}
then { SUT -> Client
the SUT sends a valid Response for the operations:
List @contexts with Response Status Code set to
200   and
List @contexts with Response reason set to 'OK'   and
List @contexts with Check Context Response Body Containing a list of
identifiers and
Query Parameter: response_body set to 'response.json()' and
Query Parameter: expected_length set to '0' and
Query Parameter: list_contexts set to 'list_contexts'
}
TP Permutation id
TP/NGSI-LD/CTX/Cons/052_06_03
Name
052_06_03 List @contexts with no details and kind set to cached and a created
ImplicitlyCreated @context
Parent Release
v1.5.1
Description
Check that one can list @contexts
Expected behaviour Test events Direction
when { SUT <- Client
the SUT receives a Request from the client containing:
URL set to '/ngsi-ld/v1/jsonldContexts?${params_as_string}'
method set to 'GET'
List @contexts: and
Query Parameter: details set to '${EMPTY}' and
Query Parameter: kind set to 'Cached'
}
then { SUT -> Client
the SUT sends a valid Response for the operations:
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...