byteblower-test-cases-rfc-2544


Namebyteblower-test-cases-rfc-2544 JSON
Version 1.0.1 PyPI version JSON
download
home_pageNone
SummaryPerform throughput test based on RFC 2544 using ByteBlower.
upload_time2024-04-26 12:50:06
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords byteblower network test traffic test test case throughput rfc 2544
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            *****************************************
ByteBlower Test Case: RFC 2544 Throughput
*****************************************

.. footer::
   Copyright |copy| |year| - Excentis N.V.

.. |copy| unicode:: U+00A9 .. copyright sign
.. |year| date:: %Y

Introduction
============

This package contains an implementation of the `RFC 2544`_ Throughput
Test using the `ByteBlower Test Framework`_.

.. _RFC 2544: https://www.ietf.org/rfc/rfc2544.txt
.. _ByteBlower Test Framework: https://pypi.org/project/byteblower-test-framework/.

A throughput test aims to measure, under given circumstances,
the highest throughput the DUT can handle correctly without exceeding a given
threshold of frame loss (theoretically, this threshold is 0).

This ByteBlower RFC 2544 throughput test case allows you to:

#. Run throughput tests based on RFC 2544
#. Collect & Analyse statistics
#. Generate HTML & JSON reports

For more detailed documentation, please have a look
at `Test Case: RFC 2544 Throughput`_ in the ByteBlower API documentation.

.. _Test Case\: RFC 2544 Throughput: https://api.byteblower.com/test-framework/latest/test-cases/rfc-2544/overview.html

Installation
============

Requirements
------------

* `ByteBlower Test Framework`_: ByteBlower |registered| is a traffic
  generator/analyser system for TCP/IP networks.
* Highcharts-excentis_: Used for generating graphs
* jinja2_: To create HTML reports

.. _Highcharts-excentis: https://pypi.org/project/highcharts-excentis/
.. |registered| unicode:: U+00AE .. registered sign
.. _jinja2: https://pypi.org/project/Jinja2/

Prepare runtime environment
---------------------------

We recommend managing the runtime environment in a Python virtual
environment. This guarantees proper separation of the system-wide
installed Python and pip packages.

Python
------

The ByteBlower Test Framework currently supports Python versions
3.7 up to 3.11.

Important: Working directory
----------------------------

All the following sections expect that you first moved to your working
directory where you want to run this project. You may also want to create
your configuration files under a sub-directory of your choice.

#. On Unix-based systems (Linux, WSL, macOS):

   .. code-block:: shell

      cd '/path/to/working/directory'

#. On Windows systems using PowerShell:

   .. code-block:: shell

      cd 'c:\path\to\working\directory'

Python virtual environment
--------------------------

Make sure to use the right Python version (>= 3.7, <= 3.11),
list all Python versions installed in your machine by running:

#. On Windows systems using PowerShell:

   .. code-block:: shell

      py --list

If no Python version is in the required range, you can download and install
Python 3.7 or above using your system package manager
or from https://www.python.org/ftp/python.

Prepare Python virtual environment: Create the virtual environment
and install/update ``pip`` and ``build``.

#. On Unix-based systems (Linux, WSL, macOS):

   **Note**: *Mind the leading* ``.`` *which means* **sourcing**
   ``./env/bin/activate``.

   .. code-block:: shell

      python3 -m venv --clear env
      . ./env/bin/activate
      pip install -U pip build

#. On Windows systems using PowerShell:

   **Note**: On Microsoft Windows, it may be required to enable the
   Activate.ps1 script by setting the execution policy for the user.
   You can do this by issuing the following PowerShell command:

   .. code-block:: shell

      PS C:> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

   See `About Execution Policies`_ for more information.

   Make sure to specify the python version you're using.
   For example, for Python 3.8:

   .. code-block:: shell

      py -3.8 -m venv --clear env
      & ".\env\Scripts\activate.ps1"
      python -m pip install -U pip build

   .. _About Execution Policies: https://go.microsoft.com/fwlink/?LinkID=135170

To install the ByteBlower RFC 2544 throughput test case and its dependencies,
first make sure that you have activated your virtual environment:

#. On Unix-based systems (Linux, WSL, macOS):

   .. code-block:: shell

      . ./env/bin/activate

#. On Windows systems using PowerShell:

   .. code-block:: shell

      ./env/Scripts/activate.ps1

Then, run:

.. code-block:: shell

   pip install -U byteblower-test-cases-rfc-2544

Quick start
===========

Command-line interface
----------------------

After providing the appropriate test setup and frame configurations,
the test script can be run either as python module or as a command-line script.

For example (*to get help for the command-line arguments*):

#. As a python module:

   .. code-block:: shell

      # To get help for the command-line arguments:
      python -m byteblower.test_cases.rfc_2544 --help

#. As a command-line script:

   .. code-block:: shell

      # To get help for the command-line arguments:
      byteblower-test-cases-rfc-2544-throughput --help

For a quick start, you can run a simple test using the JSON configuration of
one of the example files below:

* Using `ByteBlower Ports scenario <https://api.byteblower.com/test-framework/json/test-cases/rfc-2544/port/rfc_2544.json>`_
* Using `ByteBlower Endpoint scenario <https://api.byteblower.com/test-framework/json/test-cases/rfc-2544/endpoint/rfc_2544.json>`_

Save you configuration in your working directory as ``rfc_2544.json``.
Make sure you change the ``"server"`` and ``"ports"`` configuration
according to the setup you want to run your test on.

More detailed documentation is available in the `Configuration file`_ section
of the documentation.

.. _Configuration file: https://api.byteblower.com/test-framework/latest/test-cases/rfc-2544/config.html

The ``rfc_2544.json`` can be used then to run the test in the
command line interface using the following commands:

**Note**: *The reports will be stored under a subdirectory* ``reports/``.

#. On Unix-based systems (Linux, WSL, macOS):

   .. code-block:: shell

      # Optional: create rfc_2544.json, then copy the configuration to it
      touch rfc_2544.json
      # Create reports folder to store HTML/JSON files
      mkdir reports
      # Run test
      byteblower-test-cases-rfc-2544-throughput --report-path reports

#. On Windows systems using PowerShell:

   .. code-block:: shell

      # Optional: create rfc_2544.json, then copy the configuration to it
      New-Item rfc_2544.json
      # Create reports folder to store HTML/JSON files
      md reports
      # Run test
      byteblower-test-cases-rfc-2544-throughput --report-path reports

Integrated
----------

.. code-block:: python

   from byteblower.test_cases.rfc_2544 import run

   # Defining test configuration, report path and report file name prefix:
   test_config = {} # Here you should provide your test setup + frame(s') configuration(s)
   report_path = 'my-output-folder' # Optional: provide the path to the output folder, defaults to the current working directory
   report_prefix = 'my-dut-feature-test' # Optional: provide prefix of the output files, defaults to 'report'

   # Run the RFC 2544 throughput test:
   run(test_config, report_path=report_path, report_prefix=report_prefix)


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "byteblower-test-cases-rfc-2544",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "Abdennour Rachedi <abdennour.rachedi@excentis.com>, Tom Ghyselinck <tom.ghyselinck@excentis.com>",
    "keywords": "ByteBlower, network test, traffic test, test case, throughput, RFC 2544",
    "author": null,
    "author_email": "ByteBlower Development Team <support.byteblower@excentis.com>",
    "download_url": "https://files.pythonhosted.org/packages/81/66/5e53ac3dcad333348be86dea19eadb6f1aeb8d42c7754449598c5b75b40e/byteblower_test_cases_rfc_2544-1.0.1.tar.gz",
    "platform": null,
    "description": "*****************************************\nByteBlower Test Case: RFC 2544 Throughput\n*****************************************\n\n.. footer::\n   Copyright |copy| |year| - Excentis N.V.\n\n.. |copy| unicode:: U+00A9 .. copyright sign\n.. |year| date:: %Y\n\nIntroduction\n============\n\nThis package contains an implementation of the `RFC 2544`_ Throughput\nTest using the `ByteBlower Test Framework`_.\n\n.. _RFC 2544: https://www.ietf.org/rfc/rfc2544.txt\n.. _ByteBlower Test Framework: https://pypi.org/project/byteblower-test-framework/.\n\nA throughput test aims to measure, under given circumstances,\nthe highest throughput the DUT can handle correctly without exceeding a given\nthreshold of frame loss (theoretically, this threshold is 0).\n\nThis ByteBlower RFC 2544 throughput test case allows you to:\n\n#. Run throughput tests based on RFC 2544\n#. Collect & Analyse statistics\n#. Generate HTML & JSON reports\n\nFor more detailed documentation, please have a look\nat `Test Case: RFC 2544 Throughput`_ in the ByteBlower API documentation.\n\n.. _Test Case\\: RFC 2544 Throughput: https://api.byteblower.com/test-framework/latest/test-cases/rfc-2544/overview.html\n\nInstallation\n============\n\nRequirements\n------------\n\n* `ByteBlower Test Framework`_: ByteBlower |registered| is a traffic\n  generator/analyser system for TCP/IP networks.\n* Highcharts-excentis_: Used for generating graphs\n* jinja2_: To create HTML reports\n\n.. _Highcharts-excentis: https://pypi.org/project/highcharts-excentis/\n.. |registered| unicode:: U+00AE .. registered sign\n.. _jinja2: https://pypi.org/project/Jinja2/\n\nPrepare runtime environment\n---------------------------\n\nWe recommend managing the runtime environment in a Python virtual\nenvironment. This guarantees proper separation of the system-wide\ninstalled Python and pip packages.\n\nPython\n------\n\nThe ByteBlower Test Framework currently supports Python versions\n3.7 up to 3.11.\n\nImportant: Working directory\n----------------------------\n\nAll the following sections expect that you first moved to your working\ndirectory where you want to run this project. You may also want to create\nyour configuration files under a sub-directory of your choice.\n\n#. On Unix-based systems (Linux, WSL, macOS):\n\n   .. code-block:: shell\n\n      cd '/path/to/working/directory'\n\n#. On Windows systems using PowerShell:\n\n   .. code-block:: shell\n\n      cd 'c:\\path\\to\\working\\directory'\n\nPython virtual environment\n--------------------------\n\nMake sure to use the right Python version (>= 3.7, <= 3.11),\nlist all Python versions installed in your machine by running:\n\n#. On Windows systems using PowerShell:\n\n   .. code-block:: shell\n\n      py --list\n\nIf no Python version is in the required range, you can download and install\nPython 3.7 or above using your system package manager\nor from https://www.python.org/ftp/python.\n\nPrepare Python virtual environment: Create the virtual environment\nand install/update ``pip`` and ``build``.\n\n#. On Unix-based systems (Linux, WSL, macOS):\n\n   **Note**: *Mind the leading* ``.`` *which means* **sourcing**\n   ``./env/bin/activate``.\n\n   .. code-block:: shell\n\n      python3 -m venv --clear env\n      . ./env/bin/activate\n      pip install -U pip build\n\n#. On Windows systems using PowerShell:\n\n   **Note**: On Microsoft Windows, it may be required to enable the\n   Activate.ps1 script by setting the execution policy for the user.\n   You can do this by issuing the following PowerShell command:\n\n   .. code-block:: shell\n\n      PS C:> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser\n\n   See `About Execution Policies`_ for more information.\n\n   Make sure to specify the python version you're using.\n   For example, for Python 3.8:\n\n   .. code-block:: shell\n\n      py -3.8 -m venv --clear env\n      & \".\\env\\Scripts\\activate.ps1\"\n      python -m pip install -U pip build\n\n   .. _About Execution Policies: https://go.microsoft.com/fwlink/?LinkID=135170\n\nTo install the ByteBlower RFC 2544 throughput test case and its dependencies,\nfirst make sure that you have activated your virtual environment:\n\n#. On Unix-based systems (Linux, WSL, macOS):\n\n   .. code-block:: shell\n\n      . ./env/bin/activate\n\n#. On Windows systems using PowerShell:\n\n   .. code-block:: shell\n\n      ./env/Scripts/activate.ps1\n\nThen, run:\n\n.. code-block:: shell\n\n   pip install -U byteblower-test-cases-rfc-2544\n\nQuick start\n===========\n\nCommand-line interface\n----------------------\n\nAfter providing the appropriate test setup and frame configurations,\nthe test script can be run either as python module or as a command-line script.\n\nFor example (*to get help for the command-line arguments*):\n\n#. As a python module:\n\n   .. code-block:: shell\n\n      # To get help for the command-line arguments:\n      python -m byteblower.test_cases.rfc_2544 --help\n\n#. As a command-line script:\n\n   .. code-block:: shell\n\n      # To get help for the command-line arguments:\n      byteblower-test-cases-rfc-2544-throughput --help\n\nFor a quick start, you can run a simple test using the JSON configuration of\none of the example files below:\n\n* Using `ByteBlower Ports scenario <https://api.byteblower.com/test-framework/json/test-cases/rfc-2544/port/rfc_2544.json>`_\n* Using `ByteBlower Endpoint scenario <https://api.byteblower.com/test-framework/json/test-cases/rfc-2544/endpoint/rfc_2544.json>`_\n\nSave you configuration in your working directory as ``rfc_2544.json``.\nMake sure you change the ``\"server\"`` and ``\"ports\"`` configuration\naccording to the setup you want to run your test on.\n\nMore detailed documentation is available in the `Configuration file`_ section\nof the documentation.\n\n.. _Configuration file: https://api.byteblower.com/test-framework/latest/test-cases/rfc-2544/config.html\n\nThe ``rfc_2544.json`` can be used then to run the test in the\ncommand line interface using the following commands:\n\n**Note**: *The reports will be stored under a subdirectory* ``reports/``.\n\n#. On Unix-based systems (Linux, WSL, macOS):\n\n   .. code-block:: shell\n\n      # Optional: create rfc_2544.json, then copy the configuration to it\n      touch rfc_2544.json\n      # Create reports folder to store HTML/JSON files\n      mkdir reports\n      # Run test\n      byteblower-test-cases-rfc-2544-throughput --report-path reports\n\n#. On Windows systems using PowerShell:\n\n   .. code-block:: shell\n\n      # Optional: create rfc_2544.json, then copy the configuration to it\n      New-Item rfc_2544.json\n      # Create reports folder to store HTML/JSON files\n      md reports\n      # Run test\n      byteblower-test-cases-rfc-2544-throughput --report-path reports\n\nIntegrated\n----------\n\n.. code-block:: python\n\n   from byteblower.test_cases.rfc_2544 import run\n\n   # Defining test configuration, report path and report file name prefix:\n   test_config = {} # Here you should provide your test setup + frame(s') configuration(s)\n   report_path = 'my-output-folder' # Optional: provide the path to the output folder, defaults to the current working directory\n   report_prefix = 'my-dut-feature-test' # Optional: provide prefix of the output files, defaults to 'report'\n\n   # Run the RFC 2544 throughput test:\n   run(test_config, report_path=report_path, report_prefix=report_prefix)\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Perform throughput test based on RFC 2544 using ByteBlower.",
    "version": "1.0.1",
    "project_urls": {
        "Documentation": "https://api.byteblower.com/test-framework",
        "Homepage": "https://www.byteblower.com",
        "Support Portal": "https://support.excentis.com"
    },
    "split_keywords": [
        "byteblower",
        " network test",
        " traffic test",
        " test case",
        " throughput",
        " rfc 2544"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "41b59a5763ebc26c72423a8cde34669b8d5342e64a046f192d8232f968b72cbe",
                "md5": "e206bfd26e8e129eb9082bd584f91b8a",
                "sha256": "f398afc0cf2fa2a59eeb17898634ea43635a69e2483ee8a5b586aa0339266317"
            },
            "downloads": -1,
            "filename": "byteblower_test_cases_rfc_2544-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e206bfd26e8e129eb9082bd584f91b8a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 2399589,
            "upload_time": "2024-04-26T12:50:03",
            "upload_time_iso_8601": "2024-04-26T12:50:03.030206Z",
            "url": "https://files.pythonhosted.org/packages/41/b5/9a5763ebc26c72423a8cde34669b8d5342e64a046f192d8232f968b72cbe/byteblower_test_cases_rfc_2544-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "81665e53ac3dcad333348be86dea19eadb6f1aeb8d42c7754449598c5b75b40e",
                "md5": "2658abf3da88769e63274d3f5479736f",
                "sha256": "b9cfce527ebf8fa5e597c0ecf46adbca0403f5530acd8fb8f8c4ff7a3391224e"
            },
            "downloads": -1,
            "filename": "byteblower_test_cases_rfc_2544-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "2658abf3da88769e63274d3f5479736f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 3166286,
            "upload_time": "2024-04-26T12:50:06",
            "upload_time_iso_8601": "2024-04-26T12:50:06.801691Z",
            "url": "https://files.pythonhosted.org/packages/81/66/5e53ac3dcad333348be86dea19eadb6f1aeb8d42c7754449598c5b75b40e/byteblower_test_cases_rfc_2544-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-26 12:50:06",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "byteblower-test-cases-rfc-2544"
}
        
Elapsed time: 0.25598s