Page tree

 

ENTITY CATALOG API CONFORMANCE

 

Document Number:  <###>

Document Version: : V1.0

Date:  June, 2017

Document Status: Draft

NOTICE

Copyright © TeleManagement Forum 2017. All Rights Reserved.

 

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to TM FORUM, except as needed for the purpose of developing any document or deliverable produced by a TM FORUM Collaboration Project Team (in which case the rules applicable to copyrights, as set forth in the TM FORUM IPR Policy , must be followed) or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by TM FORUM or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and TM FORUM DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

 

Direct inquiries to the TM Forum office:

240 Headquarters Plaza,

East Tower – 10 th Floor,

Morristown, NJ   07960 USA

Tel No.   +1 973 944 5100

Fax No.   +1 973 944 5110

TM Forum Web Page: www.tmforum.org

TM Forum Web Page: www.tmforum.org

Table of Contents

NOTICE

Table of Contents

List of Tables

Introduction

API DESCRIPTION

RESOURCE MODEL CONFORMANCE

Entity Catalog API MANDATORY AND OPTIONAL RESOURCES

EntitySpecification Resource Mandatory and Optional Attributes

EntityCatalogItem Resource Mandatory and Optional Attributes

Association Specification Resource Mandatory and Optional Attributes

Association Resource Mandatory and Optional Attributes

API OPERATIONS CONFORMANCE

Applicable Mandatory and Optional Operations

EntitySpecification Resource Mandatory and Optional Operations

EntityCatalogItem Resource Mandatory and Optional Operations

AssociationSpecification Resource Mandatory and Optional Operations

Association Resource Mandatory and Optional Operations

API GET FILTERING OPERATION CONFORMANCE

Filtering in EntitySpecification resource

Filtering in AssociationSpecification resource

Filtering in Association resource

Filtering in EntityCatalogItem resource

API POST OPERATION CONFORMANCE

API PATCH OPERATION CONFORMANCE

API DELETE OPERATION CONFORMANCE

API CONFORMANCE TEST SCENARIOS

EntitySpecification resource TEST CASES

AssociationSpecification resource TEST CASES

Association resource TEST CASES

EntityCatalgItem resource TEST CASES

 

List of Tables

 

None.

 

Introduction

The following document is the REST API Conformance for the Entity Catalog API.

API DESCRIPTION

The Catalog Management API allows the management of the entire lifecycle of the catalog elements, the consultation of catalog elements during several processes such as ordering process, campaign management, sales management, …

RESOURCE MODEL CONFORMANCE

Entity Catalog API MANDATORY AND OPTIONAL RESOURCES

 

Resource Name

M andatory or O ptional

Comments

Catalog

O

 

Category

O

There may not be categories associated with the Catalog structure

EntitySpecification

M

 

AssociationSpecification

M

 

Association

M

 

EntityCatalogItem

M

 

 

Only Mandatory resources are included in the basic certification.

 

EntitySpecification Resource Mandatory and Optional Attributes

 

Attribute Name

M andatory or O ptional

Comments

id

M/O

Mandatory in response messages.

Generated by the server and provided in the response upon resource creation.

Accepted in entity-creation requests if the server supports the incoming identifier as the reference to create new resources

href

M/O

Mandatory in response messages.

Value in response must be the same as the one set in Location header provided upon entity creation

@type

M/O

Only required in response messages

@baseType

O

 

@schemaLocation

O

Optional due to hyperlink backwards compatibility

name

M

 

description

M/O

Only required in response messages

version

M/O

Only required in response messages

lastUpdate

O

 

lifecycleStatus

M/O

Only required in response messages

validFor

M/O

Only required in response messages

relatedParty

O

Array of structures

 

role

O

 

id

M

Mandatory if relatedParty included

href

M

Mandatory if relatedParty included

name

M

Mandatory if relatedParty included

validFor

O

 

type

O

 

attachment

O

Array of structures

 

id

O

 

href

M/O

Mandatory if the attachment is represented as a REST resource

name

M

Mandatory if attachment specified

uri

M/O

Mandatory if the attachment is not represented as a REST resource

@type

O

 

validFor

O

 

mimeType

O

 

entitySchema

O

 

 

@type

M

Mandatory if entitySchema specified

@schemaLocation

M

Mandatory if entitySchema specified

specCharacteristics

O

Array of structures

 

name

M

Mandatory for specified characteristic

description

O

 

valueType

M

Mandatory for specified characteristic

configurable

O

 

validFor

O

 

@type

O

 

@schemaLocation

O

 

specCharacteristicValue

M

Array of structures. Minimum one element is required for each specified specCharacteristic

 

valueType

O

 

isDefault

O

 

rangeInterval

O

 

value

M

Mandatory if specCharacteristicValue specified

unitOfMeasure

O

 

valueFrom

O

 

valueTo

O

 

validFor

O

 

regex

O

 

specCharRelationship

O

Array of structures.

 

type

M

 

validFor

O

 

name

M

 

id

M

 

href

M

 

@type

O

 

entitySpecRelationship

O

 

 

type

M/O

Mandatory If associationSpec is not included

role

O

 

id

M

 

href

M

 

name

O

 

validFor

O

 

associationSpec

O

 

 

id

M

Mandatory for specified associationSpec

href

M

Mandatory for specified associationSpec

@type

O

 

 

 

EntityCatalogItem Resource Mandatory and Optional Attributes

Attribute Name

M andatory or O ptional

Comments

id

M/O

Mandatory in response messages.

Generated by the server and provided in the response upon resource creation.

Accepted in entity-creation requests if the server supports the incoming identifier as the reference to create new resources

href

M/O

Mandatory in only response messages.

Value in response must be the same as the one set in Location header provided upon entity creation

@type

M/O

Only required in response messages

@baseType

O

 

@schemaLocation

O

 

name

M

 

description

M/O

Only required in response messages

version

M/O

Only required in response messages

lastUpdate

O

 

lifecycleStatus

M/O

Only required in response messages

validFor

M/O

Only required in response messages

category

O

 

 

id

M

Mandatory for specified reference to category

 

href

M

Mandatory for specified reference to category

 

name

O

Mandatory for specified reference to category

 

version

O

 

specification

M

 

 

id

M

Mandatory for specified reference to entity specification

href

M

Mandatory for specified reference to entity specification

name

O

 

version

O

 

@type

O

 

 

Association Specification Resource Mandatory and Optional Attributes

Attribute Name

Mandatory or Optional

Comments

id

M/O

Mandatory in only response messages.

Generated by the server and provided in the response upon resource creation.

Accepted in entity-creation requests if the server supports the incoming identifier as the reference to create new resources

href

M/O

Mandatory in only response messages.

Value in response must be the same as the one set in Location header provided upon entity creation

@type

M/O

Only required in response messages

@baseType

O

 

@schemaLocation

O

 

name

M

 

description

M/O

Only required in response messages

lastUpdate

O

 

lifecycleStatus

M/O

Only required in response messages

validFor

M/O

Only required in response messages

version

M/O

Only required in response messages

associationRoleSpec

M

Array of structure. Minimum two instances are required

 

role

M

 

isSource

O

 

aggregation

O

 

minQuantity

O

 

maxQuantity

O

 

defaultQuantity

O

 

isNavigable

O

 

entityType

M

 

constraint

O

Array of constraint link objects

 

id

M

Mandatory for specified reference to Constraint

href

M

Mandatory for specified reference to Constraint

version

O

 

name

M

Mandatory for specified reference to Constraint

@type

O

 

 

Association Resource Mandatory and Optional Attributes

 

Attribute Name

Mandatory or Optional

Comments

id

M/O

Mandatory in only response messages.

Generated by the server and provided in the response upon resource creation.

Accepted in entity-creation requests if the server supports the incoming identifier as the reference to create new resources

href

M/O

Mandatory in only response messages.

Value in response must be the same as the one set in Location header provided upon entity creation

@type

M/O

Only required in response messages

@baseType

O

 

@schemaLocation

O

 

name

M

 

description

M/O

Only required in response messages

lastUpdate

O

 

lifecycleStatus

M/O

Only required in response messages

validFor

M/O

Only required in response messages

version

M/O

Only required in response messages

associationRole

M

Array of structure. Minimum two instances are required

 

role

M

 

isSource

O

 

id

M

 

href

M

 

name

O

 

@type

O

 

constraint

O

Array of constraint link objects

 

id

M

Mandatory for specified reference to Constraint

href

M

Mandatory for specified reference to Constraint

version

O

 

name

M

Mandatory for specified reference to Constraint

@type

O

 

 

 

 

API OPERATIONS CONFORMANCE

For every single mandatory resource use the following sections define what operations are optional and what operations are mandatory.

 

Applicable Mandatory and Optional Operations

 

Uniform API Operation

Comments

GET

GET must be used to retrieve a representation of a resource

POST

POST must be used to create a new resource

PUT

PUT must be used to completely update a resource identified by its resource URI

PATCH (JSON-MERGE)

PATCH must be used to partially update a resource

DELETE

DELETE must be used to remove a resource

 

 

EntitySpecification Resource Mandatory and Optional Operations

 

Uniform API Operation

M andatory/ O ptional

Comments

GET

M

 

POST

M

 

PUT

O

 

PATCH (JSON-MERGE)

O

 

DELETE

O

 

 

 

EntityCatalogItem Resource Mandatory and Optional Operations

 

Uniform API Operation

M andatory/ O ptional

Comments

GET

M

 

POST

M

 

PUT

O

 

PATCH (JSON-MERGE)

O

 

DELETE

O

 

 

 

 

AssociationSpecification Resource Mandatory and Optional Operations

 

Uniform API Operation

M andatory/ O ptional

Comments

GET

M

 

POST

M

 

PUT

O

 

PATCH (JSON-MERGE)

O

 

DELETE

O

 

 

 

Association Resource Mandatory and Optional Operations

 

Uniform API Operation

M andatory/ O ptional

Comments

GET

M

 

POST

M

 

PUT

O

 

PATCH (JSON-MERGE)

O

 

DELETE

O

 

 

 

 

 

 

API GET FILTERING OPERATION CONFORMANCE

Definitions

 

Filtered Search: A filtered search can be applied using query parameters in order to obtain only the resource entities that meet the criteria defined by the filtering parameters included in the query request. Several elements can be applied to the filtered search. In that case logic, a logical AND is applied to combine the criteria (e.g.:?category=<value> &isBundle=<value>)

 

Filtered Data (Attribute selection): In order to apply a filter and limit the number of attributes included in the response, the GET request can include the  “ ?fields=” query parameter. Several elements can be applied to the filter. In that case, a logical AND is applied to combine the values (e.g.:?fields=category,channel) will provide in the response only the values assigned to attributes category and channel. Attribute selection capabilities are the same for collections retrieval and individual resource queries.

 

 

Filtering in EntitySpecification resource

Attribute name

Filtered search

First Level

Filtered search

N Level

Attribute Selection First Level

Attribute Selection N Level

id

NA

NA

M

NA

href

NA

NA

M

NA

@type

M

NA

M

NA

@baseType

O

NA

M

NA

@schemaLocation

O

NA

M

NA

name

M

NA

M

NA

description

O

NA

M

NA

lastUpdate

O

NA

M

NA

lifecycleStatus

M

NA

M

NA

version

O

NA

M

NA

validFor

NA

O

M

O

attachment

NA

O

M

O

entitySchema

NA

O

M

O

relatedParty

NA

O

M

O

specCharacteristic

NA

O

M

O

entitySpecRelationship

NA

O

M

O

 

 

Filtering in AssociationSpecification resource

Attribute name

Filtered search

First Level

Filtered search

N Level

Attribute Selection First Level

Attribute Selection N Level

id

NA

NA

M

NA

href

NA

NA

M

NA

@type

M

NA

M

NA

@baseType

O

NA

M

NA

@schemaLocation

O

NA

M

NA

name

M

NA

M

NA

description

O

NA

M

NA

lastUpdate

O

NA

M

NA

lifecycleStatus

M

NA

M

NA

version

O

NA

M

NA

validFor

NA

O

M

O

associationRoleSpec

NA

O

M

O

constraint

NA

O

M

O

 

 

Filtering in Association resource

Attribute name

Filtered search

First Level

Filtered search

N Level

Attribute Selection First Level

Attribute Selection N Level

id

NA

NA

M

NA

href

NA

NA

M

NA

@type

M

NA

M

NA

@baseType

O

NA

M

NA

@schemaLocation

O

NA

M

NA

name

M

NA

M

NA

description

O

NA

M

NA

lastUpdate

O

NA

M

NA

lifecycleStatus

M

NA

M

NA

version

O

NA

M

NA

validFor

NA

O

M

O

associationSpec

NA

O

M

O

associationRole

NA

O

M

O

constraint

NA

O

M

O

 

 

Filtering in EntityCatalogItem resource

Attribute name

Filtered search

First Level

Filtered search

N Level

Attribute Selection First Level

Attribute Selection N Level

id

NA

NA

M

NA

href

NA

NA

M

NA

@type

M

NA

M

NA

@baseType

O

NA

M

NA

@schemaLocation

O

NA

M

NA

name

M

NA

M

NA

description

O

NA

M

NA

lastUpdate

O

NA

M

NA

lifecycleStatus

M

NA

M

NA

version

O

NA

M

NA

validFor

NA

O

M

O

specification

NA

O

M

O

category

NA

O

M

O

 

 

API POST OPERATION CONFORMANCE

 

The following POST Operation requirements apply to all resources which have POST operation as Mandatory.

  • The response to POST operation must include a Location header set to href of created resource.
  • The server should return response code as 201 upon successful creation of a resource.
  • If the POST request doesn’t include mandatory parameters as per the model resource definition then the server must reject the request (replying with a 4xx error response) indicating the parameter not specified.
  • If the POST request includes optional parameters as per the model resource definition that are not supported by the server, then the server must reject the request (replying with a 4xx error response) indicating the parameter not supported.
  • The response to POST request from the server must include a BODY with the contents of the new resource created
  • The BODY of the POST response from the server must include attribute “href” under each one of the entities within the resource model that can be addressed individually and were included in the request.

 

 

 

API PATCH OPERATION CONFORMANCE

This section defines which attributes are patchable.

Since PATCH operation is optional and not included in the certification this is not applicable in this conformance document.

API DELETE OPERATION CONFORMANCE

The following DELETE Operation requirements apply to all resources which have POST operation as Mandatory.

 

  • The server should return response code as 204 upon successful deletion of a resource.

API CONFORMANCE TEST SCENARIOS

This section describes the test scenarios required for the basic certification of Entity Catalog API.

Test Cases must be executed in the order defined for each resource because the result from one of the scenarios will be input for the next one.

Requests must be addressed to the endpoint provided for certification, specifically they must be addressed to the URI defined by the concatenation of the {apiRoot} and the specific resource, where the {apiRoot} is defined as {serverRoot}/catalogManagement/v2 , being {serverRoot} defines the certification endpoint

 

EntitySpecification resource TEST CASES

 

Test Case ID

Title

Description

TC_EntitySpec_POST_N1

Create Entity Specification

Pre-requisite: None

  1. Send POST message to {apiRoot}/entitySpecfication/ with all mandatory parameters and supported optional parameters to create a new EntitySpecification such as:

{

    “name”: “<anytext>”,

    “description”: “<anytext>”,

    “lifecycleStatus”: “Active”,

    “validFor”:

    {

        “startDateTime”: ”<any value with correct datetime format>”,

        “endDateTime”: “<any value with correct datetime format>”

    },

    “specCharacteristic”:

    [

    {     

        “name”: “Characteristic1”,

        “valueType”: “string”,

        “specCharacteristicValue”:

    [

{     

        “valueType”: “string”,

        “isDefault”: true,

        “value”: “value11”

    },

{     

        “valueType”: “string”,

        “isDefault”: false,

        “value”: “value12”

    }

]

    }

    ]}

 

  1. Verify the response with code 201, location header set to url of the created resource and body including full representation of the created resource

TC_EntitySpec_POST_N2

Create Entity Specification with missing mandatory parameter

Pre-requisite: None

  1. Send POST message to {apiRoot}/entitySpecfication/ without mandatory parameters like name to create a new EntitySpecification
  2. Verify that server rejects the request by sending the proper response code/error message

TC_EntitySpec_GET_N3

Search for Entity Specifications- no filtering

Pre-requisite: create multiple EntitySpecification as per TC_EntitySpec_POST_N1

  1. Send a GET message to /{apiRoot}/entitySpecification
  2. Verify the response with code 200,
  3. Ensure that all created EntitySpecification items are returned in the body of response
  4. Ensure that the response message includes all mandatory parameters and specified optional parameters
  5. Ensure that the body of the response for each resource matches the values in the original POST request

TC_EntitySpec_GET_N4

Search for Entity Specifications with filtering

Pre-requisite: create multiple EntitySpecification as per TC_EntitySpec_POST_N1

  1. Send a GET message to /{apiRoot}/entitySpecification with filtering of mandatory parametrs as defined in API GET Filtering Operation Conformance like name
  2. Verify the response with code 200,
  3. Ensure that all created EntitySpecification items which match the filter criteria are returned in the body of response
  4. Ensure that the response message includes all mandatory parameters and specified optional parameters
  5. Ensure that the body of the response for each resource matches the values in the original POST request

TC_EntitySpec_GET_N5

Search for Entity Specifications with filtering and selected attributes

Pre-requisite: create multiple EntitySpecification as per TC_EntitySpec_POST_N1

  1. Send a GET message to /{apiRoot}/entitySpecification with filtering of mandatory parametrs like name and selection attibutes as defined in API GET Filtering Operation Conformance
  2. Verify the response with code 200,
  3. Ensure that all created EntitySpecification items which match the filter criteria are returned in the body of response
  4. Ensure that the response message includes only selected parameters
  5. Ensure that the body of the response for each resource and selected fields matches the values in the original POST request

 

AssociationSpecification resource TEST CASES

 

Test Case ID

Title

Description

TC_AssocSpec_POST_N1

Create Association Specification

Pre-requisite: None

  1. Send POST message to {apiRoot}/associationSpecfication/ with all mandatory parameters and supported optional parameters to create a new AssociationSpecification such as:

{

    “name”: “requires”,

    “description”: “<anytext>”,   

    “lifecycleStatus”: “Active”,

    “validFor”:

    {

        “startDateTime”: ”<any value with correct datetime format>”,

        “endDateTime”: “<any value with correct datetime format>”

    },

    “associationRoleSpec”:

    [

        {

            "role": "a",

"isSource": true,

"defaultQuantity": 1,

"entityType": "EntitySpecification"       

  },

        {

             "role": "z",

"isSource": false,

"defaultQuantity": 1,

"entityType": "EntitySpecification"

        }

    ]

}

 

  1. Verify the response with code 201, location header set to url of the created resource and body including full representation of the created resource

TC_AssocSpec_POST_N2

Create Association Specification with missing mandatory parameter

Pre-requisite: None

  1. Send POST message to {apiRoot}/associationSpecfication/ without mandatory parameters like name or roles to create a new AssociationSpecification
  2. Verify that server rejects the request by sending the proper response code/error message

TC_AssocSpec_GET_N3

Search for Association Specifications- no filtering

Pre-requisite: create multiple Association Specification as per TC_AssocSpec_POST_N1 with different names and roles

  1. Send a GET message to /{apiRoot}/associationSpecification
  2. Verify the response with code 200,
  3. Ensure that all created AssociationSpecification items are returned in the body of response
  4. Ensure that the response message includes all mandatory parameters and specified optional parameters
  5. Ensure that the body of the response for each resource matches the values in the original POST request

TC_AssocSpec_GET_N4

Search for Association Specifications with filtering

Pre-requisite: create multiple Association Specification as per TC_AssocSpec_POST_N1

  1. Send a GET message to /{apiRoot}/associationSpecification with filtering of mandatory parametrs as defined in API GET Filtering Operation Conformance like name
  2. Verify the response with code 200,
  3. Ensure that all created AssociationSpecification items which match the filter criteria are returned in the body of response
  4. Ensure that the response message includes all mandatory parameters and specified optional parameters
  5. Ensure that the body of the response for each resource matches the values in the original POST request

TC_AssocSpec_GET_N5

Search for Association Specification items with filtering and selected attributes

Pre-requisite: create multiple Association Specification as per TC_AssocSpec_POST_N1

  1. Send a GET message to /{apiRoot}/associationSpecification with filtering of mandatory parametrs like name and selection attibutes as defined in API GET Filtering Operation Conformance
  2. Verify the response with code 200,
  3. Ensure that all created AsssociationSpecification items which match the filter criteria are returned in the body of response
  4. Ensure that the response message includes only selected parameters
  5. Ensure that the body of the response for each resource and selected fields matches the values in the original POST request

 

 

 

Association resource TEST CASES

 

Test Case ID

Title

Description

TC_Assoc_POST_N1

Create Association

Pre-requisite: corresponding Association Specification and Entity Specification created

  1. Send POST message to {apiRoot}/association/ with all mandatory parameters and supported optional parameters to create a new Association such as:

{

    “name”: “requires”,

    “description”: “<anytext>”,   

    “lifecycleStatus”: “Active”,

    “validFor”:

    {

        “startDateTime”: ”<any value with correct datetime format>”,

        “endDateTime”: “<any value with correct datetime format>”

    },

    “associationSpec”:

     {

        "id": "IDasp1",

        "@type": "AssociationSpecfication",

  "href": </{apiRoot}/associationSpecification/{IDasp1>

 

    },

    “associationRole”:

    [

        {

            "role": "a",

"id": "IDes1",

"@type": "EntitySpecfication",

"href": </{apiRoot}/associationSpecification/{IDes1>
 

  },

        {

             "role": "z",

"id": "IDes2",

"@type": "EntitySpecfication",

"href": </{apiRoot}/associationSpecification/{IDes2>      

    }

    ]

}

 

  1. Verify the response with code 201, location header set to url of the created resource and body including full representation of the created resource

TC_Assoc_POST_N2

Create Association with missing mandatory parameter

Pre-requisite: None

  1. Send POST message to {apiRoot}/association/ without mandatory parameters like name or roles to create a new Association
  2. Verify that server rejects the request by sending the proper response code/error message

TC_Assoc_GET_N3

Search for Association - no filtering

Pre-requisite: create multiple Association as per TC_Assoc_POST_N1 with different names and roles

  1. Send a GET message to /{apiRoot}/association
  2. Verify the response with code 200,
  3. Ensure that all created Association items are returned in the body of response
  4. Ensure that the response message includes all mandatory parameters and specified optional parameters
  5. Ensure that the body of the response for each resource matches the values in the original POST request

TC_Assoc_GET_N4

Search for Association with filtering

Pre-requisite: create multiple Association as per TC_Assoc_POST_N1

  1. Send a GET message to /{apiRoot}/association with filtering of mandatory parametrs as defined in API GET Filtering Operation Conformance like name
  2. Verify the response with code 200,
  3. Ensure that all created Association items which match the filter criteria are returned in the body of response
  4. Ensure that the response message includes all mandatory parameters and specified optional parameters
  5. Ensure that the body of the response for each resource matches the values in the original POST request

TC_Assoc_GET_N5

Search for Association items with filtering and selected attributes

Pre-requisite: create multiple Association s per TC_Assoc_POST_N1

  1. Send a GET message to /{apiRoot}/association with filtering of mandatory parametrs like name and selection attibutes as defined in API GET Filtering Operation Conformance
  2. Verify the response with code 200,
  3. Ensure that all created Asssociation items which match the filter criteria are returned in the body of response
  4. Ensure that the response message includes only selected parameters
  5. Ensure that the body of the response for each resource and selected fields matches the values in the original POST request

 

 

 

EntityCatalgItem resource TEST CASES

 

Test Case ID

Title

Description

TC_EntityCatItem_POST_N1

Create Entity Catalog Item

Pre-requisite: corresponding Entity Specification created

  1. Send POST message to {apiRoot}/entityCatalogItem/ with all mandatory parameters and supported optional parameters to create a new EntityCatalogItem such as:

{

    “name”: “requires”,

    “description”: “<anytext>”,   

    “lifecycleStatus”: “Active”,

    “validFor”:

    {

        “startDateTime”: ”<any value with correct datetime format>”,

        “endDateTime”: “<any value with correct datetime format>”

    },

    “associationSpec”:

     {

        "id": "IDasp1",

        "@type": "AssociationSpecfication",

  "href": </{apiRoot}/associationSpecification/{IDasp1>

 

    },

    “associationRole”:

    [

        {

            "role": "a",

"id": "IDes1",

"@type": "EntitySpecfication",

"href": </{apiRoot}/associationSpecification/{IDes1>
 

  },

        {

             "role": "z",

"id": "IDes2",

"@type": "EntitySpecfication",

"href": </{apiRoot}/associationSpecification/{IDes2>      

    }

    ]

}

 

  1. Verify the response with code 201, location header set to url of the created resource and body including full representation of the created resource

TC_EntityCatItem_POST_N2

Create Entity Catalog Item with missing mandatory parameter

Pre-requisite: None

  1. Send POST message to {apiRoot}/entityCatalogItem/ without mandatory parameters like name or (entity) specification to create a new EntityCatalogItem
  2. Verify that server rejects the request by sending the proper response code/error message

TC_EntityCatItem_GET_N3

Search for Entity Catalog Item - no filtering

Pre-requisite: create multiple Entity Catalog Items as per TC_EntityCatItem_POST_N1 with different names and specifications

  1. Send a GET message to /{apiRoot}/entityCatalogItem
  2. Verify the response with code 200,
  3. Ensure that all created EntityCatalogItems are returned in the body of response
  4. Ensure that the response message includes all mandatory parameters and specified optional parameters
  5. Ensure that the body of the response for each resource matches the values in the original POST request

TC_EntityCatItem_GET_N4

Search for Entity Catalog Item with filtering

Pre-requisite: create multiple Entity Catalog Item as per TC_EntityCatItem_POST_N1 with different names and specifications

  1. Send a GET message to /{apiRoot}/entityCatalogItem with filtering of mandatory parametrs as defined in API GET Filtering Operation Conformance like name
  2. Verify the response with code 200,
  3. Ensure that all created Entity Catalog Items which match the filter criteria are returned in the body of response
  4. Ensure that the response message includes all mandatory parameters and specified optional parameters
  5. Ensure that the body of the response for each resource matches the values in the original POST request

TC_EntityCatItem_GET_N5

Search for Entity Catalog Items with filtering and selected attributes

Pre-requisite: create multiple Entity Catalog Item as per TC_EntityCatItem_POST_N1 with different names and specifications

  1. Send a GET message to /{apiRoot}/entityCatalogItem with filtering of mandatory parametrs like name and selection attibutes as defined in API GET Filtering Operation Conformance
  2. Verify the response with code 200,
  3. Ensure that all created Entity Catalog Items which match the filter criteria are returned in the body of response
  4. Ensure that the response message includes only selected parameters
  5. Ensure that the body of the response for each resource and selected fields matches the values in the original POST request