Automatic Integration Test Cases of Data-Router
The below tests are all covered by the CSIT tests which are run daily by the ONAP Integration Jenkins Jobs
Test Case | Description | Status | Owner | Date | JIRA link | Comment | Passing |
---|---|---|---|---|---|---|---|
Create Feed | Create feed in Robot framework by sending POST request to https://prov.datarouternew.com:8443 with data below. | Story ready | 10 August 2017 | ||||
Create Subscription | Create subscription to existing feed in Robot framework by sending POST request to https://prov.datarouternew.com:8443/subscribe/1 with data below. | Story ready | 10 August 2017 | ||||
Update Subscription | Update existing subscription by sending PUT request to https://prov.datarouternew.com:8443/subs/1 with data below. Change delivery url and username and password. Send GET request to https://prov.datarouternew.com:8443/subs/1 to check updated attributes | Story ready | 10 August 2017 | ||||
Update Feed | Update existing feed by sending PUT request to https://prov.datarouternew.com:8443/feed/1 with data below. Change description and suspend feed. Send GET request to https://prov.datarouternew.com:8443/feed/1 to check updated attributes. | Story ready | 10 August 2017 | ||||
Delete Feed | Delete existing feed by sending DELETE request to https://prov.datarouternew.com:8443/feed/1. Check response is 204 No Content. | Story ready | 10 August 2017 | ||||
Delete Subscription | Delete existing subscription by sending DELETE request to https://prov.datarouternew.com:8443/subs/1. Check response is 204 No Content. | Story ready | 10 August 2017 | ||||
Publish to Feed | Publish a file to an existing feed by sending PUT request to https://node.datarouternew.com:8443/publish/1/csit_test with any file, we use the Create Feed Data in the tests. Check response is 204 No Content. | Story ready | 07 August 2018 | Currently only sending publish to node container, need to investigate if publish to prov is possible in CSIT Tests |
{ "name": "CSIT_Test", "version": "m1.0", "description": "CSIT_Test", "business_description": "CSIT_Test", "suspend": false, "deleted": false, "changeowner": true, "authorization": { "classification": "unclassified", "endpoint_addrs": [], // List of IP Addresses that can publish to this feed "endpoint_ids": [{ "password": "dradmin", // Any application that publishes to this feed must use these credentials "id": "dramin" }] } }
{ "delivery":{ "url":"https://{subscriber_ip}:7070/", // IP Address of subscriber and port that can be accessed through "user":"LOGIN", // Credentials used to send file to this subscriber "password":"PASSWORD", "use100":true }, "metadataOnly":false, "suspend":false, "groupid":29, "subscriber":"dradmin" }
{ "delivery":{ "url":"https://${new_subscriber_ip}:7070/", // Subscriber IP Address can be updated, as well as credentials "user":"sg481n", "password":"sg481n", "use100":true }, "metadataOnly":false, "suspend":true, "groupid":29, "subscriber":"dradmin" }
{ "name": "CSIT_Test", "version": "m1.0", "description": "UPDATED-CSIT_Test", // Updated description, values name and version cannot be updated "business_description": "CSIT_Test", "suspend": true, "deleted": false, "changeowner": true, "authorization": { "classification": "unclassified", "endpoint_addrs": [], "endpoint_ids": [{ "password": "rs873m", "id": "rs873m" }] } }
Manual Test Case
Testing whether the subscriber receives the published file can only be tested manually so far. A subscriber image has been built to test this functionality. You then need to change the org.onap.dmaap.datarouter.provserver.https.relaxation property in datarouter-prov/src/main/resources/provserver.properties to true
org.onap.dmaap.datarouter.provserver.https.relaxation = true
And add the subscriber to the docker-compose.yml in datarouter-prov also
subscriber: image: subscriber container_name: subscriber ports: - "7070:7070" entrypoint: ["bash", "-c", "./startup.sh"] extra_hosts: - "node.datarouternew.com:172.100.0.4" networks: testing_net: ipv4_address: 172.100.0.5
The subscriber IP Address and Port is then 172.100.0.5:7070 and the credentials are LOGIN:PASSWORD.
Then you should be able to run the subscriber use case.