blob: 013ead463ac4c9a57c6637f811652f2b2288dd57 [file] [log] [blame]
# XOS Core Test
#
# This test will validate the xos-core's sync steps and model policies using the TestService
#
*** Settings ***
Documentation Test migration of a Service in the core
Library RequestsLibrary
Library HttpLibrary.HTTP
Library Collections
Library String
Library OperatingSystem
Library DateTime
Library ../../Framework/utils/utils.py
Resource ../../Framework/utils/utils.robot
Library ../../Framework/restApi.py
Variables ../../Properties/RestApiProperties.py
Suite Setup Setup
Suite Teardown Teardown
*** Variables ***
${testservice_api} /xosapi/v1/testservice/testserviceservices
${testservice_si} /xosapi/v1/testservice/testserviceserviceinstances
${testservice_duplicate_si} /xosapi/v1/testservice/testserviceduplicateserviceinstances
*** Test Cases ***
Create Test Model with No Duplicate
[Documentation] Create a testservice service instance with no duplicate
[Tags] create
${model_name}= Generate Random Value string
${data}= Create Dictionary name=${model_name} create_duplicate=${false}
${resp}= CORD Post ${testservice_si} ${data}
${json_content}= To Json ${resp.content}
${test_serviceinstance_id}= Get From Dictionary ${json_content} id
Set Suite Variable ${test_serviceinstance_id}
Set Suite Variable ${model_name}
Repeat Keyword 10s Validate Duplicate Model false
Update Model with Duplicate
[Tags] update
CORD Put ${testservice_si} {'create_duplicate': ${true}} ${test_serviceinstance_id}
Wait Until Keyword Succeeds 60s 2s Validate Duplicate Model true
Revert Model
[Tags] revert notready
CORD Put ${testservice_si} {'create_duplicate': ${false}} ${test_serviceinstance_id}
Wait Until Keyword Succeeds 60s 2s Validate Duplicate Model false
*** Keywords ***
Setup
${auth} = Create List ${XOS_USER} ${XOS_PASSWD}
${HEADERS} Create Dictionary Content-Type=application/json allow_modify_feedback=True
Create Session ${server_ip} http://${server_ip}:${server_port} auth=${AUTH} headers=${HEADERS}
# create test-service
${data}= Create Dictionary name=xos-core-test-service-test
${resp}= CORD Post ${testservice_api} ${data}
Teardown
[Documentation] Delete all https sessions
Clean Up Objects ${testservice_si}
Clean Up Objects ${testservice_duplicate_si}
Clean Up Objects ${testservice_api}
Delete All Sessions
Validate Duplicate Model
[Documentation] Checks if 'testserviceduplicateserviceinstances' was created or not
[Arguments] ${exists}=false
${resp}= Wait Until Keyword Succeeds 60s 2s CORD Get ${testservice_duplicate_si}
${jsondata}= To Json ${resp.content}
Run Keyword If '${exists}' == 'false' Should Be Empty ${jsondata['items']} ELSE Verify Exists ${jsondata}
Verify Exists
[Arguments] ${data}
${dict}= Get From List ${data['items']} 0
Should Be Equal As Strings ${dict['name']} ${model_name}