Create or check file/directory trees described by YAML
Project description
Create or check file/directory trees described by YAML
This Pytest plugin was generated with Cookiecutter along with @hackebrot’s Cookiecutter-pytest-plugin template.
Features
Monkey-patches py.path.local class (the one behind tmpdir fixture) to append yaml_create and yaml_check methods for easy access.
Use it like this:
def test_foo(tmpdir): tmpdir.yaml_create(""" directory_one: file1: Hello World file2: "Including\nLine\nBreaks\n" subdir: file3: | Some raw content here. It is probably better readable. directory_two: arrow.gif: !!binary | R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5 OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+ +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs= """) # now these files are created under tmpdir assert tmpdir.join('directory_one', 'file1').read() == 'Hello World' # also can check that directory structure corresponds to the declaration tmpdir.yaml_check(""" directory_one: file1: Content directory_two: {} # empty mapping means empty directory """)
Requirements
PyYAML
Installation
You can install “pytest-yamltree” via pip from PyPI:
$ pip install pytest-yamltree
Usage
TODO
Contributing
Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.
License
Distributed under the terms of the MIT license, “pytest-yamltree” is free and open source software
Issues
If you encounter any problems, please file an issue along with a detailed description.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pytest_yamltree-0.1.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f87d6f79490bfc9ae900d5d0dcdd67fa706103d9731f55b8ba3af488ea960121 |
|
MD5 | 5933cce905c8226f05072d993b0cbc79 |
|
BLAKE2b-256 | 1ec928fd51079c0b35a2b013dc13cc4af12b79b7acc83864b79af5cad433958a |