Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Jira
serverONAP Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyCPS-595
Integration Test: 


Issues and Decisions

#DescriptionNotesDecision
1Where to include which CSIT test 

2How to include the cps-core services available to the client docker-composeSee alternatives in table below

Integration Test

Integration tests are used to check how each service works with other services and with external components. They are not concerned with the behavior of each service internally, but focus instead on the communication between services. They can also be used to test external components like databases.

Implementation in CPS

...

At present CPS has 3 different components namely, cps-core, cps-temporal, ncmp-dmi-plugin. Integration test of a component hence would be dependent on another component.

...

Three different implementation proposals as below:

1. Each component contains its own docker-compose file listing all the services required for the integration test. Eg : cps-temporal docker-compose would have services  cps-temporal, timescaledb, zookeeper, cps-and-ncmp and kafka.

Pros:

  • Faster implementation

...

  • CI-management jobs will have to be created, hence time consuming for now
  • Manageability of an additional repo .

Test Plan:

S NoScenarioSteps Status
CPS

1.1
CPS Admin Details Insert
  1. Create Dataspace 
  2. Create Schema set with Zip file
  3. Get schema set 
  4. Create anchor for the created schema-set and dataspace
  5. Get Anchor
To Be Updated
1.2CPS Data Node Insert, Update and Delete
  1. Create Data Node for an anchor
  2. Get Datanode by the dataspace, anchor and xpath
  3. Update data node
  4. Get data node using the Query API to ensure the update data node is fetched.
  5. Delete the created data node
  6. Get Datanode by the dataspace, anchor and xpath to ensure the 
To Be Updated
CPS Temporal
2.1Create an anchor history
  1. Create Data Node using cps api 
  2. Update the Data Node using cps api
  3. Get the history of the anchor using cps-temporal api 
    /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/history

2.2Delete the data node to add it to history
  1. Create Data Node using cps api 
  2. Update the Data Node using cps api
  3. Delete the data node using cps-api
  4. Get the history of the anchor using cps-temporal api 
    /v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/history

CPS-NCMP-DMI_PLUGIN
3.1

Model-Sync, Write & read data using datastore PassTrough

  1. Create Data Node using cps api 
  2. Notify NCMP DMI has new node 
    1. http://localhost:8783/dmi/api/v1/inventory/cmHandles
    2. This will kick off model sync as part of registation
  3. wait till above method call completes and send a 2xx response
  4. Show data in Postgres: anchor and module-set
  5. Use CPS endpoint that shows anchors & namespaces to conclude test completed
    1. <ENDPOINT TO BE CONFIRMED>