Welcome to DNS Zone Test’s documentation!

Contents:

DNS Zone Test

PyPi Travis CI Coverage Documentation Status

Dns Zone Test tests a DNS zone file agaist a given name server.

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.

  1. Fork the dnszonetest repo on GitHub.

  2. Clone your fork locally:

    $ git clone git@github.com:your_name_here/dnszonetest.git
    
  3. 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
    
  4. Create a branch for local development:

    $ git checkout -b name-of-your-bugfix-or-feature
    

    Now you can make your changes locally.

  5. 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.

  6. 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
    
  7. Submit a pull request through the GitHub website.

Pull Request Guidelines

Before you submit a pull request, check that it meets these guidelines:

  1. The pull request should include tests.
  2. 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.
  3. 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.

Tips

To run a subset of tests:

$ python -m unittest tests.test_dnszonetest

Credits

Development Lead

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.

Indices and tables