--- /dev/null
+*** Settings ***
+Documentation Verifies queries
+
+Library StringTemplater
+Library UUID
+Library Collections
+
+Resource ../resources/test_templates/change_management_ete.robot
+
+Suite Setup Create Scheduler Request
+Suite Teardown Delete Scheduler Request
+
+*** Variables ***
+${QUERY_TEST_UUID} ""
+
+*** Test Cases ***
+Change Management Query Simple
+ [Tags] ete query
+ ${query}= Catenate schedules/scheduleDetails?request.scheduleId=${QUERY_TEST_UUID}
+ ${response}= Get Change Management alias ${query}
+ Row Count Should Be ${response} 3
+
+Change Management Query In
+ [Tags] ete query
+ ${query}= Catenate schedules/scheduleDetails?request.scheduleId=${QUERY_TEST_UUID}&vnfName=node1&vnfName=node3&WorkflowName=Replace
+ ${response}= Get Change Management alias ${query}
+ Row Count Should Be ${response} 2
+
+Change Management Query Like
+ [Tags] ete query
+ ${query}= Catenate schedules/scheduleDetails?request.scheduleId=${QUERY_TEST_UUID}&vnfName=node%&request.createDateTime=2018-01-01T00:00:00Z
+ ${response}= Get Change Management alias ${query}
+ Row Count Should Be ${response} 3
+
+Change Management Not Found
+ [Tags] ete query
+ ${query}= Catenate schedules/scheduleDetails?request.scheduleId=${QUERY_TEST_UUID}&vnfName=NoNode&request.createDateTime=2018-01-01T00:00:00Z,2018-01-01T01:00:00Z
+ ${response}= Get Change Management alias ${query}
+ Should Be Equal As Strings ${response.status_code} 404
+
+Change Management Invalid Argument
+ [Tags] ete query
+ ${query}= Catenate schedules/scheduleDetails?request.scheduleId=${QUERY_TEST_UUID}&bad=NoNode
+ ${response}= Get Change Management alias ${query}
+ Should Be Equal As Strings ${response.status_code} 400
+
+Change Management Invalid Date
+ [Tags] ete query
+ ${query}= Catenate schedules/scheduleDetails?request.scheduleId=${QUERY_TEST_UUID}&request.createDateTime=2018-01-010
+ ${response}= Get Change Management alias ${query}
+ Should Be Equal As Strings ${response.status_code} 400
+
+*** Keywords ***
+Row Count Should Be
+ [Arguments] ${response} ${count}
+ Should Be Equal As Strings ${response.status_code} 200
+ ${json}= Set Variable ${response.json()}
+ Log ${json}
+ ${length}= Get Length ${json}
+ Should be Equal as Integers ${count} ${length}
+
+
+Create Scheduler Request
+ [Documentation] Creates a future request, runs query, deletes request
+ ${QUERY_TEST_UUID}= Generate UUID
+ Set Suite Variable ${QUERY_TEST_UUID} ${QUERY_TEST_UUID}
+ ${request_file}= Catenate OneGroupMultipleVNFsOneChangeWindow.json.template
+ ${workflow}= Catenate Replace
+ ${template_folder}= Catenate ${TEMPLATES}/changemanagement
+ ${resp}= Create Schedule ${QUERY_TEST_UUID} ${request_file} ${template_folder} workflow=${workflow}
+ Should Be Equal as Strings ${resp.status_code} 202
+ Wait Until Keyword Succeeds 600s 30s Wait For Pending Approval ${QUERY_TEST_UUID}
+
+Delete Scheduler Request
+ [Documentation] Creates a future request, runs query, deletes request
+ Delete Change Management auth schedules/${QUERY_TEST_UUID}
Resource ../resources/scheduler_common.robot\r
Resource ../resources/ticketmgt_common.robot\r
Resource ../resources/topology_common.robot\r
+Resource ../resources/scheduler_requests/approval_requests.robot\r
\r
# Test Setup\r
# Test Teardown \r
Test CMSO Optimizer Policies\r
[Tags] ete \r
${response}= Get Optimizer alias policies \r
+ Should Be Equal As Strings ${response.status_code} 200\r
##Should Contain ${response.json()} kECFDaLusYNHTN6Q4DmsYw==\r
\r
Test CMSO Optimizer Get Schedule\r
[Tags] ete \r
${response}= Get Optimizer alias optimize/schedule/id1 \r
+ Should Be Equal As Strings ${response.status_code} 200\r
##Should Contain ${response.json()} kECFDaLusYNHTN6Q4DmsYw==\r
\r
Test CMSO Optimizer Delete Schedule\r
[Tags] ete \r
${response}= Delete Optimizer alias optimize/schedule/id1 \r
+ Should Be Equal As Strings ${response.status_code} 204\r
##Should Contain ${response.json()} kECFDaLusYNHTN6Q4DmsYw==\r
\r
\r
Test CMSO Ticket Mgt Get Tickets\r
[Tags] ete \r
${response}= Get Ticket Mgt alias tickets\r
+ Should Be Equal As Strings ${response.status_code} 200\r
##Dictionary Should Contain Item ${response.json()} healthy True \r
\r
Test CMSO Ticket Mgt Get Ticket\r
[Tags] ete \r
${response}= Get Ticket Mgt alias ticket/none\r
+ Should Be Equal As Strings ${response.status_code} 200\r
##Dictionary Should Contain Item ${response.json()} healthy True \r
+\r
+Get Not Found Schedule\r
+ [Tags] ete \r
+ ${response}= Get Change Management alias schedules/doesNotExist\r
+ Should Be Equal As Strings ${response.status_code} 404\r
+\r
+Delete Not Found Schedule\r
+ [Tags] ete \r
+ ${response}= Delete Change Management alias schedules/doesNotExist\r
+ Should Be Equal As Strings ${response.status_code} 404\r
+\r
+Approve Not Found Schedule\r
+ [Tags] ete \r
+ Send Tier2 Approval DoesNotExist jf9860 Accespted status_code=400\r
+
\ No newline at end of file
}\r
\r
private static DateTime convertDate(String utcDate, String urlName) throws CmsoException {\r
- DateTime dateTime = ISODateTimeFormat.dateTimeParser().parseDateTime(utcDate);\r
- if (dateTime != null) {\r
+ try {\r
+ DateTime dateTime = ISODateTimeFormat.dateTimeParser().parseDateTime(utcDate);\r
return dateTime;\r
}\r
- throw new CmsoException(Status.BAD_REQUEST, LogMessages.INVALID_DATE_FILTER, urlName, utcDate);\r
+ catch (Exception e) {\r
+ throw new CmsoException(Status.BAD_REQUEST, LogMessages.INVALID_DATE_FILTER, urlName, utcDate);\r
+ }\r
}\r
\r
// public static void main(String argv[])\r