Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aristanetworks/robotframework-aristalibrary
Robot Framework library for Arista EOS
https://github.com/aristanetworks/robotframework-aristalibrary
arista eos network robot robotframework validation
Last synced: about 1 month ago
JSON representation
Robot Framework library for Arista EOS
- Host: GitHub
- URL: https://github.com/aristanetworks/robotframework-aristalibrary
- Owner: aristanetworks
- License: bsd-3-clause
- Created: 2017-04-03T19:24:58.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-02-07T12:32:41.000Z (9 months ago)
- Last Synced: 2024-09-26T20:52:08.266Z (about 2 months ago)
- Topics: arista, eos, network, robot, robotframework, validation
- Language: Python
- Homepage:
- Size: 252 KB
- Stars: 16
- Watchers: 19
- Forks: 11
- Open Issues: 7
-
Metadata Files:
- Readme: README.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
Awesome Lists containing this project
README
The Arista Library for Robot Framework
======================================Introduction
------------AristaLibrary aims to simplify testing projects on `Arista EOS `
using `Robot Framework ` by adding a number of
EOS-centric keywords. The Library works by using the PyEAPI module to
interact with EOS nodes.Prerequisites
-------------* `Robot Framework `
* `PyEAPI ` (`GitHub `)
* `Arista EOS ` 4.12 or later
* Python 2.7Installation
------------The easiest way to install is to use `pip `::
pip install robotframework-aristalibrary
Upgrade using::
pip install --upgrade robotframework-aristalibrary
To install from source::
git clone https://github.com/aristanetworks/robotframework-aristalibrary.git
cd robotframework-aristalibrary
# Optionally, checkout the development branch"
git checkout develop"
python setup.py installKeyword Documentation
---------------------See the `AristaLibrary ` keyword documentation.
Example Robot Test
------------------::
# -*- coding: robot -*-
# :setf robot
# :set noexpandtab
*** Settings ***
Documentation This is a sample Robot Framework suite which takes advantage of
... the AristaLibrary for communicating with and controlling Arista switches.
... Run with:
... pybot --pythonpath=AristaLibrary demo/sample-test-refactored.txtLibrary AristaLibrary
Library Collections
Suite Setup Connect To Switches
Suite Teardown Clear All Connections*** Variables ***
${TRANSPORT} http
${SW1_HOST} localhost
${SW1_PORT} 2080
${SW2_HOST} localhost
${SW2_PORT} 2081
${USERNAME} apiuser
${PASSWORD} donttell*** Test Cases ***
Ping Test
[Documentation] Configure Et1 on both nodes and ping between them
[tags] Configure
Configure IP Int 1 ethernet1 10.1.1.0/31
Configure IP Int 2 ethernet1 10.1.1.1/31${output}= Enable ping 10.1.1.0
${result}= Get From Dictionary ${output[0]} result
Log ${result}
${match} ${group1}= Should Match Regexp ${result['messages'][0]} (\\d+)% packet loss
Should Be Equal As Integers ${group1} 0 msg="Packets lost percent not zero!!!"*** Keywords ***
Connect To Switches
[Documentation] Establish connection to a switch which gets used by test cases.
Connect To host=${SW1_HOST} transport=${TRANSPORT} username=${USERNAME}
... password=${PASSWORD} port=${SW1_PORT}
Configure hostname veos0
Connect To host=${SW2_HOST} transport=${TRANSPORT} username=${USERNAME}
... password=${PASSWORD} port=${SW2_PORT}
Configure hostname veos1Configure IP Int
[Arguments] ${switch} ${interface} ${ip}
Change To Switch ${switch}
@{cmds}= Create List
... default interface ${interface}
... interface ${interface}
... no switchport
... ip address ${ip}
... no shutdown
Configure ${cmds}Release Notes
-------------Release notes are available in the GitHub `releases `.
Support and Contacts
--------------------AristaLibrary is a community-supported project, maintained by Arista EOS+. Contact the maintainers at `[email protected]`.
Contributing
------------Contributing is encouraged via pull requests. Please see ``_ for more information.
License
-------All code within this repository is made available under the BSD3 license and via the ``_ file.