Add Honeycomb persistence tests
[csit.git] / resources / libraries / robot / honeycomb / honeycomb.robot
1 # Copyright (c) 2016 Cisco and/or its affiliates.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
5 #
6 #     http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13
14 *** Settings ***
15 | Library | resources/libraries/python/honeycomb/HoneycombSetup.py
16 | Library | resources/libraries/python/honeycomb/HoneycombUtil.py
17
18 *** Keywords ***
19 | Setup Honeycomb service on DUTs
20 | | [Documentation] | *Setup environment for honeycomb testing.*
21 | | ...
22 | | ... | _Setup steps:_
23 | | ... | - 1. Login to each honeycomb node using ssh
24 | | ... | - 2. Startup honeycomb service
25 | | ... | - 3. Monitor service startup using HTTP GET request loop
26 | | ... | Expected sequence of HTTP replies:
27 | | ... | connection refused -> 404 -> 401 -> 503 or 500 -> 200 (pass)
28 | | ... | - 4. Configure honeycomb nodes using HTTP PUT request
29 | | ...
30 | | ... | _Arguments:_
31 | | ... | - duts - list of nodes to setup Honeycomb on
32 | | ...
33 | | ... | _Used global constants and variables:_
34 | | ... | - RESOURCES_TPL_HC - path to honeycomb templates directory
35 | | ... | - HTTPCodes - HTTP protocol status codes
36 | | ...
37 | | [Arguments] | @{duts}
38 | | Start honeycomb on DUTs | @{duts}
39 | | Wait until keyword succeeds | 4min | 20sec
40 | | ... | Check honeycomb startup state | @{duts}
41
42 | Stop honeycomb service on DUTs
43 | | [Documentation] | *Cleanup environment after honeycomb testing.*
44 | | ...
45 | | ... | _Teardown steps:_
46 | | ... | - 1. Login to each honeycomb node using ssh
47 | | ... | - 2. Stop honeycomb service
48 | | ... | - 3. Monitor service shutdown using HTTP GET request loop
49 | | ... | Expected sequence of HTTP replies:
50 | | ... | 200 -> 404 -> connection refused (pass)
51 | | ...
52 | | ... | _Arguments:_
53 | | ... | - duts - list of nodes to stop Honeycomb on
54 | | ...
55 | | ... | _Used global constants and variables:_
56 | | ... | - RESOURCES_TPL_HC - path to honeycomb templates directory
57 | | ... | - HTTPCodes - HTTP protocol status codes
58 | | ...
59 | | [Arguments] | @{duts}
60 | | Stop honeycomb on DUTs | @{duts}
61 | | Wait until keyword succeeds | 2m | 10s
62 | | ... | Check honeycomb shutdown state | @{duts}
63
64 | Clear persisted Honeycomb configuration
65 | | [Documentation] | *Delete saved configuration.*
66 | | ...
67 | | ... | *Arguments:*
68 | | ... | - duts - one or more nodes to clear persistence on. Type: dictionary
69 | | ...
70 | | ... | *Example:*
71 | | ...
72 | | ... | \| Clear persisted Honeycomb configuration \| ${nodes['DUT1']} \|
73 | | [Arguments] | @{duts}
74 | | Clear persisted Honeycomb config | @{duts}

©2016 FD.io a Linux Foundation Collaborative Project. All Rights Reserved.
Linux Foundation is a registered trademark of The Linux Foundation. Linux is a registered trademark of Linus Torvalds.
Please see our privacy policy and terms of use.