Skip to content
This repository has been archived by the owner on Sep 4, 2023. It is now read-only.

MideO/assert_tools

Repository files navigation

assert_tools

A Python Unit/Functional test library.

  • All unittest2 assert* converted to pep8 style functions
  • Custom assertions for http status code
  • Custom assertions for RESTful API verbs (GET, POST, PUT,DELETE)

#Build Status Build Status

Docs

http://mideo.github.io/assert_tools/

Download

https://pypi.python.org/pypi/assert_tools/0.0.1

Run tests

nosetests --with-coverage --cover-tests --cover-package=assert_tool

usage


from assert_tools import assert_equal
def func():
    return 2
def test_func()
    assert_equal(2, func())

More interesting stuff with RESTful api..

Small bottle server to run as SUT: server.py


from bottle import route, run, response, request

def do():
    if request.GET.get('code'):
        response.status = int(request.GET.get('code'))
    else:
        response.status = 200
        return request.body

@route('/goo', method='GET')
def response_get(): return do()

@route('/goo', method='DELETE' )
def response_delete(): return do()

@route('/goo', method='PUT')
def response_put(): return do()

@route('/goo', method='POST')
def response_post(): return do()

run(host='localhost', port=8080, debug=True)

Test Code: test_server.py


import httplib2
from assert_tools.rest import (
    assert_response_ok,
    assert_delete_request_returns_success_status_code
)
from requests import get

def test_get_server_base_url():
    assert_response_ok(get('http://localhost:8080/goo'))
    client = httplib2.Http()

    assert_response_ok(client.request('http://localhost:8080/goo', 'GET'))

def test_server_response_to_delete():
    assert_delete_request_returns_success_status_code(
        'http://localhost:8080/goo?code=201',
        expected_content='abc', request_kwargs={'body':'abc'})

About

A Python Unit/Functional Http Test Library

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages