Skip to content

Release Notes for Nuts 3.0.0

Compare
Choose a tag to compare
@bytinbit bytinbit released this 17 May 09:29

Nuts 3.0.0 is a completely new version of nuts, rewritten from scratch and not compatible with earlier versions of nuts. Nuts 3.0.0. is designed as a pytest-plugin to run tests and uses nornir to interact with a network in the background. It requires python 3.7 and above. In case you wonder where version 2.0.0 went: Nuts 2 was a study project written in spring 2020, which used nornir, but not pytest to conduct tests.

Features of nuts 3.0.0

  • Write test bundles as yaml files that contain a desired state of the network. Nuts comes with a basic set of test definitions - see the documentation for details. Nuts then checks the desired state against the actual state of the network using pytest.
  • Enhance nuts: Nuts is designed as pytest plugin. You can write your own, custom test definitions and test bundles to suit your specific needs. Note: It is currently not supported (but nevertheless possible), since future releases might introduce breaking changes.
  • If you write your own test definitions/test classes and want to share it with the community, feel free to contact the developers and they will happily link to it in the repo readme.

Planned for 3.0.1

  • Improve error handling - the current implementation has an opaque error handling and is not really informative or helpful.
  • Refactor self-tests - the current self-tests are hard to read for non-devs and must be improved.

Planned for 4.0.0 (aka the far future)

Nuts is deeply intertwined with pytest to create test classes out of the yaml file. It digs deep into pytest to use its functionalities without really committing to pytest. It smells of future problems with project growth. Version 4 will try to solve that, but this may also introduce breaking changes.