aboutsummaryrefslogtreecommitdiffstats
path: root/robot/resources/aai/add-relationship-list.robot
blob: 056b896f74df0ecdb6d2a4b8f836655b04ccca42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
*** Settings ***
Documentation     Operations on relationship-list sub-object in AAI,
...    using specified base URL path including API version where it is implemented,
...    relies on system to choose default EdgeRule for the pair of object classes

Resource    ../json_templater.robot
Resource    aai_interface.robot
Resource    api_version_properties.robot
Library    OperatingSystem
Library    Collections


*** Variables ***
${AAI_RELATIONSHIPLIST_PATH}=      relationship-list
${AAI_RELATIONSHIP_PATH}=      ${AAI_RELATIONSHIPLIST_PATH}/relationship
${AAI_ADD_RELATIONSHIP_BODY}=    robot/assets/templates/aai/add-relationship.template
${AAI_RELATIONSHIP_DEPTH}=    ?depth=1

*** Keywords ***
Add Relationship
    [Documentation]    Adds Relationship sub-object to existing object in AAI
    [Arguments]    ${api_version_base_object_url}  ${related_class_name}  ${related_object_url}
    ${arguments}=    Create Dictionary     related_class_name=${related_class_name}  related_object_url=${related_object_url}
    ${data}=    Fill JSON Template File    ${AAI_ADD_RELATIONSHIP_BODY}    ${arguments}
    ${put_resp}=    Run A&AI Put Request     ${api_version_base_object_url}/${AAI_RELATIONSHIP_PATH}     ${data}
    ${status_string}=    Convert To String    ${put_resp.status_code}
    Should Match Regexp    ${status_string}     ^(201|200)$

Get RelationshipList
    [Documentation]   Return RelationshipList of the object in AAI
    [Arguments]    ${api_version_base_object_url}
    ${resp}=  Get Object With Depth  ${api_version_base_object_url}
    Log    Returning response ${resp['${AAI_RELATIONSHIPLIST_PATH}']}
    [Return]  ${resp['${AAI_RELATIONSHIPLIST_PATH}']}

Get Object With Depth
    [Documentation]   Return Object with Depth parameter to show RelationshipList
    [Arguments]    ${api_version_base_object_url}
    ${resp}=    Run A&AI Get Request     ${api_version_base_object_url}${AAI_RELATIONSHIP_DEPTH}
    Should Be Equal As Strings  ${resp.status_code}     200
    Log    Returning response ${resp.json()}
    [Return]  ${resp.json()}