Added SXP robot tests
[integration/test.git] / csit / suites / sxp / topology / 020_Scalability.robot
1 *** Settings ***
2 Documentation     Test suite to test scalability of SXP
3 Suite Setup       Setup SXP Environment
4 Suite Teardown    Clean SXP Environment
5 Test Setup        Clean Nodes
6 Library           RequestsLibrary
7 Library           SSHLibrary
8 Library           ../../../libraries/Sxp.py
9 Resource          ../../../libraries/SxpLib.robot
10 Resource          ../../../libraries/Utils.robot
11 Resource          ../../../libraries/KarafKeywords.robot
12 Resource          ../../../variables/Variables.py
13
14 *** Variables ***
15
16 *** Test Cases ***
17 Test Mega Topology
18     [Documentation]     Stress test that contains of connecting 20 Nodes and exporting their bindings
19     Setup Mega Topology
20     Sleep    5s
21     ${resp}    Get Bindings Master Database    127.0.0.1
22     :FOR    ${num}    IN RANGE    2    22
23     \    ${ip}    Get Ip From Number    ${num}
24     \    Should Contain Binding    ${resp}    ${num}    ${ip}/32    sxp
25
26 Test Complex Mega Topology
27     [Documentation]     Stress test that contains of connecting 30 Nodes and exporting their bindings
28     Setup Complex Mega Topology
29     Sleep    5s
30     ${resp}    Get Bindings Master Database    127.0.0.1
31     :FOR    ${num}    IN RANGE    22    32
32     \    ${ip}    Get Ip From Number    ${num}
33     \    Should Contain Binding    ${resp}    ${num}    ${ip}/32    sxp
34
35 Text Bindings export
36     [Documentation]     Stress test that consist of exporting 500 Bindings under 5s
37     :FOR    ${num}    IN RANGE    2    502
38     \    ${ip}    Get Ip From Number    ${num}
39     \    Add Binding    ${num}    ${ip}/32    127.0.0.2
40     Add Connection    version4    listener    127.0.0.2    64999    127.0.0.1
41     Add Connection    version4    speaker    127.0.0.1    64999    127.0.0.2
42     Sleep   5s
43     ${resp}    Get Bindings Master Database    127.0.0.1
44     :FOR    ${num}    IN RANGE    2    102
45     \    ${ip}    Get Ip From Number    ${num}
46     \    Should Contain Binding    ${resp}    ${num}    ${ip}/32    sxp
47
48 *** Keywords ***
49 Setup Mega Topology
50     [Arguments]    ${version}=version4
51     :FOR    ${num}    IN RANGE    2    22
52     \    ${ip}    Get Ip From Number    ${num}
53     \    Add Binding    ${num}    ${ip}/32    ${ip}
54     \    Add Connection    ${version}    listener    ${ip}    64999    127.0.0.1
55     \    Add Connection    ${version}    speaker    127.0.0.1    64999    ${ip}
56
57 Setup Complex Mega Topology
58     [Arguments]    ${version}=version4
59     Setup Mega Topology    ${version}
60     ${second_num}    Convert To Integer    2
61     :FOR    ${num}    IN RANGE    22    32
62     \    ${ip}    Get Ip From Number    ${num}
63     \    ${second_ip}    Get Ip From Number    ${second_num}
64     \    Add Binding    ${num}    ${ip}/32    ${ip}
65     \    Add Connection    ${version}    listener    ${ip}    64999    ${second_ip}
66     \    Add Connection    ${version}    speaker    ${second_ip}    64999    ${ip}
67     \    ${second_num}    Set Variable      ${second_num + 1}
68     \    ${second_ip}    Get Ip From Number    ${second_num}
69     \    Add Connection    ${version}    listener    ${ip}    64999    ${second_ip}
70     \    Add Connection    ${version}    speaker    ${second_ip}    64999    ${ip}
71
72
73 Clean Nodes
74     :FOR    ${num}    IN RANGE    1    32
75     \    ${ip}    Get Ip From Number    ${num}
76     \    Clean Connections    ${ip}
77     \    Clean Bindings    ${ip}