SFC: Implement boron and carbon scope
[integration/test.git] / csit / suites / sfc / SFC_Basic / 140__sfc_service_function_classifier.robot
1 *** Settings ***
2 Documentation     Test suite for SFC Service Function Classifiers, Operates functions from Restconf APIs.
3 Suite Setup       Create Session    session    http://${ODL_SYSTEM_IP}:${RESTCONFPORT}    auth=${AUTH}    headers=${HEADERS}
4 Suite Teardown    Delete All Sessions
5 Test Setup        Remove All Elements If Exist    ${SERVICE_CLASSIFIER_URI}
6 Test Teardown     Remove All Elements At URI    ${SERVICE_CLASSIFIER_URI}
7 Library           SSHLibrary
8 Library           Collections
9 Library           OperatingSystem
10 Library           RequestsLibrary
11 Resource          ../../../variables/sfc/Variables.robot
12 Resource          ../../../libraries/Utils.robot
13
14 *** Variables ***
15 ${SERVICE_CLASSIFIER_URI}    /restconf/config/service-function-classifier:service-function-classifiers/
16 ${SERVICE_CLASSIFIER_FILE}    ${CURDIR}/../../../variables/sfc/master/service-function-classifiers.json
17
18 *** Test Cases ***
19 Add Service Function Classifier
20     [Documentation]    Add Service Function Classifiers from JSON file
21     Add Elements To URI From File    ${SERVICE_CLASSIFIER_URI}    ${SERVICE_CLASSIFIER_FILE}
22     ${body}    OperatingSystem.Get File    ${SERVICE_CLASSIFIER_FILE}
23     ${jsonbody}    To Json    ${body}
24     ${functions}    Get From Dictionary    ${jsonbody}    service-function-classifiers
25     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_CLASSIFIER_URI}
26     ${result}    To JSON    ${resp.content}
27     Should Be Equal As Strings    ${resp.status_code}    200
28     ${function}    Get From Dictionary    ${result}    service-function-classifiers
29     Lists Should be Equal    ${function}    ${functions}
30
31 Delete All Classifiers
32     [Documentation]    Delete all Classifiers
33     ${body}    OperatingSystem.Get File    ${SERVICE_CLASSIFIER_FILE}
34     Add Elements To URI From File    ${SERVICE_CLASSIFIER_URI}    ${SERVICE_CLASSIFIER_FILE}
35     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_CLASSIFIER_URI}
36     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
37     Remove All Elements At URI    ${SERVICE_CLASSIFIER_URI}
38     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_CLASSIFIER_URI}
39     Should Be Equal As Strings    ${resp.status_code}    404
40     [Teardown]    NONE
41
42 Get one Classifier
43     [Documentation]    Get one Classifier
44     Add Elements To URI From File    ${SERVICE_CLASSIFIER_URI}    ${SERVICE_CLASSIFIER_FILE}
45     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_CLASSIFIER_URI}service-function-classifier/Classifier1
46     Should Be Equal As Strings    ${resp.status_code}    200
47
48 Get A Non-existing Classifier
49     [Documentation]    Get A Non-existing Classifier
50     Add Elements To URI From File    ${SERVICE_CLASSIFIER_URI}    ${SERVICE_CLASSIFIER_FILE}
51     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_CLASSIFIER_URI}service-function-classifier/unexisting-classifier
52     Should Be Equal As Strings    ${resp.status_code}    404
53
54 Delete a Classifier
55     [Documentation]    Delete a classifier
56     Add Elements To URI From File    ${SERVICE_CLASSIFIER_URI}    ${SERVICE_CLASSIFIER_FILE}
57     Remove All Elements At URI    ${SERVICE_CLASSIFIER_URI}service-function-classifier/Classifier1
58     ${resp}    RequestsLibrary.Get Request    session    ${SERVICE_CLASSIFIER_URI}
59     Should Contain    ${ALLOWED_STATUS_CODES}    ${resp.status_code}
60     Should Not Contain    ${resp.content}    Classifier1