Package: lbr-testsuite
Python package lbr_testsuiteThe purpose of this package is to provide common set of tools
that can be used in development of tests. Package now containscommon,data_table,executable,ipconfigurer,packet_crafter,spirent,trexandvlan_config.The package also includes theTopologyplugin for pytest. The plugin provides
a set of fixtures and pre-defined pytest arguments that can be used to prepare
a testing environment. TheTopologyplugin is automatically installed into
pytest with thelbr_testsuitepackage.Hosting and contributionPackagelbr_testsuiteis hosted inPyPI index.
You can list all available versions by following thislink.This project uses GitLab CI pipeline which is triggered
with every new commit. If coding style (PEP8) check passes, then
pipeline creates .whl package from contents insidelbr_testsuitefolder. This package can be found inbuildstep of pipeline and downloaded
for manual installation.If the pipeline triggers on themasterbranch, the package is also published.
Releases (tagged commits) are uploaded to PyPI, development versions are uploaded
to internal GitLab's Package Registry.
Version of the package is controlled using git tags. Development package names
are composed from current version and the hash of the last commit.Development of this repository is done mainly through GitLab. The repository is
mirrored to GitHub for the purpose of publishing the code.InstallationInstall from PyPI index via command:pip install lbr-testsuiteThe PyPI index contains onlyreleaseversions. The development version of
the package can be obtained by installing it from the GitLab's Package Registry.
The Package Registry have to be specified as index url. Authentication viapersonal access tokenwith scope set toapimust be used.UsageForcommon:import lbr_testsuiteAll stuff from common module are available directly under the lbr_testsuite
package.Fordata_table:from lbr_testsuite import data_tableProvides tools for storing results and generating graphs not only for
throughput tests.Forexecutable:from lbr_testsuite import executableExecutable module provides Tool, AsyncTool and Daemon convenient classes forlocalorremoteexecution of various commands.Foripconfigurer:from lbr_testsuite import ipconfigurerIpconfigurer provides API for ip configuration using pyroute2 library.Forpacket_crafter:from lbr_testsuite import packet_crafterClasses providing high-level packet crafting. Used fortrexmodule.Forspirent:from lbr_testsuite import spirentProvides API for Spirent Test Center (STC).Fortrex:from lbr_testsuite import trexProvides our custom API for Cisco TRex traffic generator.
Official API is provided by required packagelbr_trex_client.Forvlan_config:from lbr_testsuite import vlan_configHelper class for VLAN configuration management.Repository MaintainersJan Sobol,Jan.Sobol@cesnet.czPavel Krobot,Pavel.Krobot@cesnet.czDominik Tran,Dominik.Tran@cesnet.czLicenseThis project is licensed under the BSD-3-Clause License - see theLICENSEfile for details.AcknowledgementThe software was partially developed within the scope of the Security Research
Programme of the Czech Republic 2015-2022 (BV III / 1 VS) granted by the Ministry
of the Interior of the Czech Republic under the project No. VI20192022137 --
Adaptive protection against DDoS attacks (AdaptDDoS).