Welcome to DNS Zone Test’s documentation!¶
Contents:
DNS Zone Test¶
Dns Zone Test tests a DNS zone file agaist a given name server.
- Free software: ISC license
- Documentation: https://dnszonetest.readthedocs.io
- GitHub: https://github.com/maartenq/dnszonetest
- PyPi: https://pypi.python.org/pypi/dnszonetest
- Travis CI: https://travis-ci.org/maartenq/dnszonetest
- Codecov: https://codecov.io/github/maartenq/dnszonetest
Features¶
- Test all resources in a given zonefile to given nameserver.
Credits¶
This package was created with Cookiecutter and the maartenq/cookiecutter-pypackage project template.
Installation¶
Virtualenv¶
Make virtual environment:
$ virtualenv /<path>/<to>/<virtualenv_name>
Activate virtual environment:
$ source /<path>/<to>/<virtualenv_name>/bin/activate
Install dnszonetest:
(<virtualenv_name>)$ pip install dnszonetest
Usage¶
see dnszonetest -h:
usage: dnszonetest [-h] [-d NAMESERVER] [-p PROTOCOL] [-v] [-q] [-r] [-t] [-n]
[-s]
zonename zonefile
DNS Zone Test
positional arguments:
zonename zone name
zonefile zone file
optional arguments:
-h, --help show this help message and exit
-d NAMESERVER, --nameserver NAMESERVER
DNS server to query.
-p PROTOCOL, --protocol PROTOCOL
Protocol to use (udp/tcp) .
-v, --verbose Show verbose info (level DEBUG).
-q, --quiet No output.
-r, --norec Set No Recursion flag.
-t, --ttl Compare TTL values.
-n, --ns Compare NS records.
-s, --soa Compare SOA records.
Contributing¶
Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.
You can contribute in many ways:
Types of Contributions¶
Report Bugs¶
Report bugs at https://github.com/maartenq/dnszonetest/issues.
If you are reporting a bug, please include:
- Your operating system name and version.
- Any details about your local setup that might be helpful in troubleshooting.
- Detailed steps to reproduce the bug.
Fix Bugs¶
Look through the GitHub issues for bugs. Anything tagged with “bug” is open to whoever wants to implement it.
Implement Features¶
Look through the GitHub issues for features. Anything tagged with “feature” is open to whoever wants to implement it.
Write Documentation¶
DNS Zone Test could always use more documentation, whether as part of the official DNS Zone Test docs, in docstrings, or even on the web in blog posts, articles, and such.
Submit Feedback¶
The best way to send feedback is to file an issue at https://github.com/maartenq/dnszonetest/issues.
If you are proposing a feature:
- Explain in detail how it would work.
- Keep the scope as narrow as possible, to make it easier to implement.
- Remember that this is a volunteer-driven project, and that contributions are welcome :)
Get Started!¶
Ready to contribute? Here’s how to set up dnszonetest for local development.
Fork the dnszonetest repo on GitHub.
Clone your fork locally:
$ git clone git@github.com:your_name_here/dnszonetest.git
Install your local copy into a virtualenv. Assuming you have virtualenvwrapper installed, this is how you set up your fork for local development:
$ mkvirtualenv dnszonetest $ cd dnszonetest/ $ python setup.py develop
Create a branch for local development:
$ git checkout -b name-of-your-bugfix-or-feature
Now you can make your changes locally.
When you’re done making changes, check that your changes pass flake8 and the tests, including testing other Python versions with tox:
$ flake8 dnszonetest tests $ python setup.py test $ tox
To get flake8 and tox, just pip install them into your virtualenv.
Commit your changes and push your branch to GitHub:
$ git add . $ git commit -m "Your detailed description of your changes." $ git push origin name-of-your-bugfix-or-feature
Submit a pull request through the GitHub website.
Pull Request Guidelines¶
Before you submit a pull request, check that it meets these guidelines:
- The pull request should include tests.
- If the pull request adds functionality, the docs should be updated. Put your new functionality into a function with a docstring, and add the feature to the list in README.rst.
- The pull request should work for Python 2.6, 2.7, 3.3, 3.4 and 3.5, and for PyPy. Check https://travis-ci.org/maartenq/dnszonetest/pull_requests and make sure that the tests pass for all supported Python versions.
Credits¶
Development Lead¶
- Maarten Diemel <maarten@maartendiemel.nl>
Contributors¶
None yet. Why not be the first?
History¶
1.2.0 (2018-09-10)¶
- Add option protocol tcp/udp
- Default upd edns
- Default upd payload 2048
- Updated requirements_dev.txt
1.1.3 (2017-08-11)¶
- requirements update
- Removed Python2.6 testing
1.1.2 (2017-08-11)¶
- requirements update
1.1.1 (2017-01-31)¶
- Makefile update release to PyPi
1.1.0 (2017-01-31)¶
- Better output.
- Updated requirements.
1.0.7 (2017-01-16)¶
- Updated requirements.
1.0.6 (2016-10-14)¶
- Updated requirements.
1.0.5 (2016-09-01)¶
- Update requirements.
1.0.4 (2016-08-28)¶
- Removed Travis deploy to PyPi.
1.0.3 (2016-08-28)¶
- Bumped version to test Travis deploy to PyPi.
1.0.2 (2016-08-28)¶
- Removed dev requirements
- Update Travis key
1.0.1 (2016-08-28)¶
- Updated dependencies
- Travis key
1.0.0 (2016-08-21)¶
- PyPi deployment via Travic CI
- README.rst updates
- Package removed from requirments_dev.txt
- Remove pytest command from setup.py
- Made sure flake8 and docs will run with Py27 in tox (will fail inP26)
- .gitignore + OS X and VIM file
0.3.7 (2016-08-19)¶
- requirements: Update pytest to 3.0.0
0.3.6 (2016-08-13)¶
- requirements: Update dnspython to 1.14.0
0.3.5 (2016-08-13)¶
- ISC License
- Pinned requirements
- Travis/Tox fixes
0.3.4 (2016-06-11)¶
- Factored out pytest-runner. Removes setuptools_scm dependency which breaks RPM build on RHEL6.
- Added recursive remove on *.egg in Makefile.
0.3.3 (2016-06-11)¶
- Add log to file option.
0.3.2 (2016-05-12)¶
- Added argparse as requirement for Python 2.6.
0.3.1 (2016-05-12)¶
- Update installation docs.
0.3.0 (2016-05-11)¶
- First working version
0.2.3 (2016-02-06)¶
- Tests on cli
- Project stuff
0.2.2 (2016-01-21)¶
- First release on PyPI.