Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/diagrams/NUTS Needed classes for tests.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2021-12-07T14:18:07.983Z" agent="5.0 (X11)" etag="-sCO0KFnvxnipd0cMBjq" version="15.9.1" type="device"><diagram id="wO_6kX2JhAZT9kmhWfwk" name="Page-1">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</diagram></mxfile>
1 change: 1 addition & 0 deletions docs/diagrams/NUTS Test collection.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2021-11-10T13:41:43.229Z" agent="5.0 (X11)" etag="CiCQr0lXKbxB-xZyretT" version="15.7.1" type="device"><diagram id="kgpKYQtTHZ0yAKxKKP6v" name="Page-1">5Vldc+I2FP01zLQPYSwZG/wYyEc7TbdM2dndPGUULLBmheWR5QX66yvZkr8BAyFh20wefK/ka/mec4+uTM+erDaPHEXBn8zHtActf9Oz73oQggGEPfVv+dvMMwRu5lhy4utJhWNG/sHaaWlvQnwcVyYKxqggUdU5Z2GI56LiQ5yzdXXagtHqUyO0xA3HbI5o0/uV+CLIvCPHKvy/YbIMzJOBpUdWyEzWjjhAPluXXPZ9z55wxkR2tdpMMFXJM3nJ7nvYMZovjONQdLnBDpPxw4Z78+2TFYV/ff0M0eONjvID0US/cM++7UGXypDjaCtwLKS1VJZ+C7E1qZEvFKnLZEWfyAJTEmJ1E+ZkhQXmcoRq97TwjSVQAkmfGgepTSmKYvKahrWkh+N5wmPyA/+N44wPqZcloY99beXJTA3B2fccHpCvtZwb86KYC7wpuXSuHjGTC+RbOcWMGtw0cUfaXBcsyLEOSgywjRNp5i3z0AU48kLjcwRWsIlVHZKIkVCkz3XGPeeuBgfjImBLFiJaBuTMxO6lVedsD5xKsodtyW7mGniXyrXdyPXntBQsRVepM4SFjeSrtyVSOW4pWYbS9cqEYKs0jYiLWyVGCgQZU/pw6BvPK2Xz72aaVsDRW0MhYy/xvnmaTNiv6GETMI4pErI4q0rbkn9961RRsgD6xrFakTYRYpbwOdY31UDMV3E6rk6b3oWJiPsRTZakCep/W+RysboakXN/HpFzjs12TeRak92W6/NTPRt9+v1++jKdvXyb3D9ZX+g0+OMGNDd/rW6//Npd3NqErEt6a0LTNd87k2v1nZGlE3yuRgFYRQo4Vt+4DghVIxiEbi1WbT2ZMu8JZCayxSLGF1HFYYMIn6QkPqMVfSCSAFmZncIIFmE5NPZRHKTFB7Lh0iaHN0R801RR18/quu85Z8hfhsxhjbmWLREOq2yDttuJIW+F/qiBftb4v2g1eFkoEpwjCBIhvs1RVsbzmVvcQYxhR4zdj8EYuBfre1q1volxpcLfputZB0TgWYRSYNYcRdIXiBXNm6DTmiKWCPWkSX7Ct3JmNPbeFrLs3o5HH9j8tO/I13PEO5DZ3STr2v2AwbBb++NeKNlea0moY97/tyTc4dWVxOCnLgnvmJLI+f9RJWEetqsmLtkIHoAgbyFyI+sUndHAOO425Q7jblu2StCXamXvGeSoDyc7Ib6RSxyOdKwzmwhQ27CgCzs1io1ADqwHqq3l4OHmTc8k7VxsfoJ7l9NpTjSFXJVrAIBTuGaOOKAPKoecoWMOQEU0ZWxLxum8PaVD3qPA73HubvDbs08+djs2qMUaHFkr70Dx5tdII7cTiuL4OvS2b1erwAPuOVVg1arAG8J3qoK9/cUVy7wN7b7nWsXfsUzOVd+pxa0FuqjqS7P4rTObXvxibN//Cw==</diagram></mxfile>
1 change: 1 addition & 0 deletions docs/diagrams/NUTS Workflow.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2021-12-02T11:11:52.394Z" agent="5.0 (X11)" etag="lLa-pMgVH_9pxC4zM4Ng" version="15.8.8" type="device"><diagram id="cgw8DvIPmG6ru3pRCGVS" name="Page-1">7Vhdb5swFP01eewEJgnJY5umm7R0y5JNa/YyuXABr44dGZOP/frZYAIE2mVrWiJtEg/28fXHvfcc27jjjJbbtwKvolvuA+0gy992nOsOQnYXoY7+LH+XIa7dz4BQEN8YFcCc/AQDWgZNiA9xxVByTiVZVUGPMwaerGBYCL6pmgWcVmdd4RBqwNzDtI5+Jb6MMnSA3AJ/BySM8pnt/jBrWeLc2HgSR9jnmxLkjDvOSHAus9JyOwKqg5fHJet380jrfmECmDymw6eeO/t+834afAuGk3Bxu5x++XiRZ2ONaWI87qA+VQNe+WStiqEufoZYXiXMV0Exjfcib8sRNXGph3FZ7vI4Cq76g16KpZo3EZEwX2FPt24UcxQWySVVNVsVA0LpiFMu0r5OEEDf8/SScBylY2gjTEnIVJlCoGek+B7olMdEEq5hT4UF1ABXaxCSqIRODgyWxNcOFQaXZkDJ9XICzuTcrF9PF0vBH6C0Kt8d3lvW3lc9CmwfzY29z7iSCvAlSLFTJqZDd2BIYlQyNNVNQTnUM1hUohvqGhAbmof7oQsmqIIhwx8Qo1fLIPhKGKbKhYx4yBmm4wK9qua4sJlwHdE0ij9Ayp1ROU4kr+YdtkTelcoLPdSbnqldb83IaWWXV5hy965cKfXS1aJbWsv7Zf5pp57OmYoBT4QHT4nI7EtYhCCfsEPNHBBAsSTr6jpOnlC7JvQZYF8hi8vbyUVZ4c9R7gm0cCAFG9W1YPcbtPBiUug2bJEtaKN9nqMjee48k+dp10sh8K5ksOKEybg08lQDBW2cfpU3+R5aZD4bseDBfml/Tw1Uo8Y1qFNnSRjoQClRxemFRXufsNaldX7asp2zENcJReIcKRK71dOgHvaZ5qe12mnSGu7q+3LCPH1filvnbg8d6Ntt4K77qtxt9Y5U3IsWpZbf3ZGK42JROS1e/OwYvNLZ8ayMDmqqGG+lwJ5MVxAnNN3OA/UHoDwmLKSlXf7M5GEPe23Lo/tfHsf/QlhH6mPQpj7yVdaODR9LfCHUHARUW+pH/HCGomi677yuKOo3xqnI7rHZBnN2Mdvfq9uLmVuL2QcuGBGz5ogp32U1LNW3G8YZHDwyGejgSenwYWj/YtSUhWqeKi9VJ8hK33KrTG7IiuvUk4JeLCn1s/JDIuN/OCXIqZ+4J0qJqhbvxNm/a/Ha7ox/AQ==</diagram></mxfile>
1 change: 1 addition & 0 deletions docs/diagrams/nuts-ablauf-en.drawio

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions docs/diagrams/nuts-ablauf.drawio

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions docs/source/dev/writetests.rst
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,13 @@ Both extractors wrap the processed results in a new ``NutsResult``: This must be
The test class is written very similarly to the simple case above: Set the pytest custom marker with the required arguments, use them as fixture and write the test.


Class Diagram of How Tests are Embedded into NUTS
-------------------------------------------------

The following diagram provides a detailed overview of the class structure of NUTS relative to test class implementation.

.. image:: ../images/nuts-needed-classes-for-tests.drawio.png
:width: 911
:alt: Class diagram of the test environment. The original 'Diagrams.net'-diagram is stored inside the 'docs/diagrams' directory in the GitHub repo.


Binary file added docs/source/images/nuts-ablauf-en.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ tests. Nuts itself is written as a custom pytest plugin. In the background, `nor

Pytest reads in the test bundle (step 2 above) and transforms it into test runs. In the background, nornir uses the network information provided in the inventory (step 1 above), queries the network based on the specific test bundle and passes the results of those queries to pytest. Pytest then evaluates if the expectations defined in the test bundle match those results.

.. image:: images/nuts-ablauf-en.drawio.png
:width: 800
:alt: Nuts will take the YAML-test bundles and generate pytest test classes from them. These test classes will run the respective Nornir tasks and get the results from them in form of a Nornir 'MultiResult' or 'AggregatedResult' respectively. NUTS will provide these test results to the pytest test functions in form of 'NutsResult' instances.

Enhance nuts
------------
Nuts is written in python and designed as a pytest plugin. It provides some base tests described in :doc:`the section about all test bundles <testbundles/alltestbundles>`, but since it's a plugin, you can write your own, self-written test classes for your custom tests.
Expand Down