{ "info": { "author": "Yehonatan Daniv", "author_email": "maggotfish@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Internet :: WWW/HTTP" ], "description": "django-rest-assured\n===================\n\n.. image:: https://secure.travis-ci.org/ydaniv/django-rest-assured.png\n :target: http://travis-ci.org/ydaniv/django-rest-assured/\n :alt: Build\n\n.. image:: https://pypip.in/download/django-rest-assured/badge.svg\n :target: https://pypi.python.org/pypi/django-rest-assured/\n :alt: Downloads\n\n.. image:: https://pypip.in/version/django-rest-assured/badge.svg\n :target: https://pypi.python.org/pypi/django-rest-assured/\n :alt: Latest Version\n\n.. image:: https://pypip.in/license/django-rest-assured/badge.svg\n :target: https://pypi.python.org/pypi/django-rest-assured/\n :alt: License\n\n\nInstantly test-cover your Django REST Framework based API.\n\nDjango-REST-Assured adds another layer on top of\nDjango REST Framework's `APITestCase `_\nwhich allows covering a set of RESTful resource's endpoints with a single class declaration.\n\nThis gives both a quick coverage of sanity tests to your API and a more DRY and more friendly\nplatform for writing additional, more comprehensive tests.\n\n\nAs easy as\n----------\n.. code-block:: python\n\n class CategoryTestCase(ReadWriteRESTAPITestCaseMixin, BaseRESTAPITestCase):\n\n base_name = 'category'\n factory_class = CategoryFactory\n create_data = {'name': 'comedy'}\n update_data = {'name': 'horror'}\n\nDjango-REST-Assured is designed to work with `factory_boy `_\nfor mocking objects to test against. However, you can easily extend the ``BaseRESTAPITestCase``\nto work directly with Django Models or any other factory.\n\n\nMain features\n-------------\n\n* Class-based declarative API for creating tests.\n* Covers the stack through: ``route > view > serializer > model``.\n* Uses Django REST Framework's conventions to minimize configuration.\n* All tests return the response object for more extensive assertions.\n* Automatic mocking of authentication if a user factory is provided.\n\n\nUsage\n-----\n\nThe basic form of usage is simply to create a class that extends\nany mixin from ``rest_assured.testcases``, according to the\nendpoints you wish to cover, and the ``BaseRESTAPITestCase`` class.\n\nThen just set the required attributes, and continue extending it from there.\n\n.. admonition:: example\n\n .. code:: python\n\n class CategoryAPITestCase(ReadWriteRESTAPITestCaseMixin, BaseRESTAPITestCase):\n\n base_name = 'category'\n factory_class = Category\n create_data = {'name', 'documentary'}\n update_data = {'name', 'horror'}\n\nIf your API requires authentication and/or authorization just add\na user factory class. Assuming you use `factory_boy `_:\n\n.. admonition:: example\n\n .. code:: python\n\n # in some factories.py module in your accounts app\n class User(factory.DjangoModelFactory):\n\n class Meta:\n model = User\n exclude = ('raw_password',)\n\n first_name = 'Robert'\n last_name = factory.Sequence(lambda n: 'Paulson the {0}'.format(n))\n email = factory.sequence(lambda n: 'account{0}@example.com'.format(n))\n username = 'mayhem'\n raw_password = '123'\n password = factory.PostGenerationMethodCall('set_password', raw_password)\n is_active = True\n\n\n # now back in your tests.py module\n class CategoryAPITestCase(ReadWriteRESTAPITestCaseMixin, BaseRESTAPITestCase):\n\n base_name = 'category'\n factory_class = Category\n # see here:\n user_factory = User\n create_data = {'name', 'documentary'}\n update_data = {'name', 'horror'}\n\n\n\nSupports\n--------\n\nTests run against:\n\n* Django 1.6, 1.7, 1.8 & 1.9.\n* Django REST Framework 2.4.3, 2.4.4, 3.0, 3.1, 3.2 & 3.3.\n* Python 2.7, 3.3, 3.4 & 3.5 (3.2 should work but is not tested).\n\n\nInstallation\n------------\n\nPyPI: https://pypi.python.org/pypi/django-rest-assured\n\n.. code-block:: sh\n\n $ pip install django-rest-assured\n\nSource: https://github.com/ydaniv/django-rest-assured\n\n.. code-block:: sh\n\n $ git clone https://github.com/ydaniv/django-rest-assured\n $ python setup.py install\n\n\nContributing\n------------\n\nIssues are tracked in the `github repository `_.\n\nPull requests are welcome!\n\n\nRunning tests\n-------------\n\n.. code-block:: sh\n\n $ pip install pytest pytest-django\n $ py.test\n\n\nLicense\n-------\n\nDjango-REST-Assured is distributed under the BSD license.\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ydaniv/django-rest-assured", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "django-rest-assured", "package_url": "https://pypi.org/project/django-rest-assured/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-rest-assured/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/ydaniv/django-rest-assured" }, "release_url": "https://pypi.org/project/django-rest-assured/0.2.1/", "requires_dist": null, "requires_python": null, "summary": "Django REST Assured instantly test-covers your Django REST Framework based API.", "version": "0.2.1" }, "last_serial": 2721112, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "6c41b7a2b7556b63249883808455fc6a", "sha256": "fba023d36324ce557445d005a4dec57c03d66a155a4c47102c48bf8e4e3f0deb" }, "downloads": -1, "filename": "django-rest-assured-0.0.1.tar.gz", "has_sig": false, "md5_digest": "6c41b7a2b7556b63249883808455fc6a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3857, "upload_time": "2014-10-23T06:19:05", "url": "https://files.pythonhosted.org/packages/49/b6/c76baf57d69fef318838fdced9c9f47ddd20bfdc96106f73e4ff92ab5f71/django-rest-assured-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "ca1bb69a09cd459b4f663088cbc14f71", "sha256": "dc62d4577f02ab51d832a7f8488280b36f25a0db9d949e2212042f4b5a70915c" }, "downloads": -1, "filename": "django-rest-assured-0.0.10.tar.gz", "has_sig": false, "md5_digest": "ca1bb69a09cd459b4f663088cbc14f71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6190, "upload_time": "2014-11-23T22:48:37", "url": "https://files.pythonhosted.org/packages/a5/59/bbbccfc926bf1d8d569fb23818f4f09675d0eaaa2b96e9a9e0066ec3e38a/django-rest-assured-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "f8979932cfc344910087c985aa22da89", "sha256": "d033b584a04e50bc4c98a1a376a8b978e0808d2601628f15dbf6c76e0087eeb4" }, "downloads": -1, "filename": "django-rest-assured-0.0.11.tar.gz", "has_sig": false, "md5_digest": "f8979932cfc344910087c985aa22da89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8864, "upload_time": "2014-12-18T18:44:13", "url": "https://files.pythonhosted.org/packages/08/c7/5f6eaa632e8f388dd4aed5b8d180f1601eca3e9f0a45b2aaf5256468dcad/django-rest-assured-0.0.11.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "88a0652cf8df7d75213ee917aad9e5d4", "sha256": "fae2e7184716ebde18ba0918388f43446841779673d950708a9f6fe8b0a3c535" }, "downloads": -1, "filename": "django-rest-assured-0.0.2.tar.gz", "has_sig": false, "md5_digest": "88a0652cf8df7d75213ee917aad9e5d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3840, "upload_time": "2014-10-23T06:23:27", "url": "https://files.pythonhosted.org/packages/95/a9/1ce89c331dcfa96f1c83c15dd51883cd53eb1831b2c9b6d5c1b8472ed7b0/django-rest-assured-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "9454df28ea1ad96f64d167071198375e", "sha256": "1e66217a905a00cd53be0deb3378a2cd97e71360b17024d4bbfaf7707aaf6dfe" }, "downloads": -1, "filename": "django-rest-assured-0.0.3.tar.gz", "has_sig": false, "md5_digest": "9454df28ea1ad96f64d167071198375e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4083, "upload_time": "2014-10-23T08:56:42", "url": "https://files.pythonhosted.org/packages/86/ef/2517498fa1923f4c407fa74de938e1194958322f2b6bf07f5713834b27d4/django-rest-assured-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "3e16bf9e689b3b329c823e53e98d7e33", "sha256": "198b21345b3b56bf904c821021581ed7752312af379262b86ec60b61e16dddd8" }, "downloads": -1, "filename": "django-rest-assured-0.0.4.tar.gz", "has_sig": false, "md5_digest": "3e16bf9e689b3b329c823e53e98d7e33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4146, "upload_time": "2014-10-23T11:05:40", "url": "https://files.pythonhosted.org/packages/d7/e6/a3c1359c4f57417b4d1b60f995c1d244a21392c15e1fd63f0e9092ac5bb9/django-rest-assured-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "0e2130d701e7981d286c38f99d5002ce", "sha256": "50f357eac6e48ecd9720c3151a3424c4bef6afc55b0845109003d366bcf5e88f" }, "downloads": -1, "filename": "django-rest-assured-0.0.5.tar.gz", "has_sig": false, "md5_digest": "0e2130d701e7981d286c38f99d5002ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5826, "upload_time": "2014-10-25T19:14:55", "url": "https://files.pythonhosted.org/packages/30/39/77380512324d1249750e12433d01d0fb988875fd834b15a16ca19cd744ff/django-rest-assured-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "99ed722b025e4be2ff762eacd3ecfa63", "sha256": "dc4c7c68f28e118d78f7428e69ece754ef2549887303d9d4b7fc1e0955e6aec0" }, "downloads": -1, "filename": "django-rest-assured-0.0.6.tar.gz", "has_sig": false, "md5_digest": "99ed722b025e4be2ff762eacd3ecfa63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6399, "upload_time": "2014-11-07T18:47:54", "url": "https://files.pythonhosted.org/packages/b5/f9/54a6b3c771e1afdb86fb35967e6e4f260a9bff05ffef011fdd6a109b0f36/django-rest-assured-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "11beaa1e92b09011edb14d0cce2979c4", "sha256": "a498375ea3332c43c9760e2ac9243c397d17766115979bfc80c869436d6f9c28" }, "downloads": -1, "filename": "django-rest-assured-0.0.7.tar.gz", "has_sig": false, "md5_digest": "11beaa1e92b09011edb14d0cce2979c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6388, "upload_time": "2014-11-11T07:57:02", "url": "https://files.pythonhosted.org/packages/00/a0/0f7f87e3b9826b8b972f919312b7d286c73200e553299287d3117e474de3/django-rest-assured-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "dda0aed880808c245ef6a3f6a53363d2", "sha256": "291ae3f496cd4850f410739ec972480323bb973091a707318d19ed60dd7148a4" }, "downloads": -1, "filename": "django-rest-assured-0.0.8.tar.gz", "has_sig": false, "md5_digest": "dda0aed880808c245ef6a3f6a53363d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6761, "upload_time": "2014-11-12T10:03:46", "url": "https://files.pythonhosted.org/packages/c2/2a/b20a804dab9470c9e6f7cd348f60ad92963c1dab1ed8dfe4b9c9f0c265bf/django-rest-assured-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "ee09d76d15db062085d2012bd7ff3d5a", "sha256": "6700c8748131e6aa99a2a42a8c359ea52e7a81cbb37605aebb5262f5562fc35b" }, "downloads": -1, "filename": "django-rest-assured-0.0.9.tar.gz", "has_sig": false, "md5_digest": "ee09d76d15db062085d2012bd7ff3d5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6844, "upload_time": "2014-11-12T10:15:31", "url": "https://files.pythonhosted.org/packages/47/77/de8a767b8bf8e0435a196cb5051272ca80ff9b4194aab5474eb4f06bef15/django-rest-assured-0.0.9.tar.gz" } ], "0.1": [ { "comment_text": "", "digests": { "md5": "d042f46adf7aeab58aaec2852a2e4fd2", "sha256": "1f7fdef677f37de292fd54bda2fa1d11f60b451f7708db7e775b567dcd4763c1" }, "downloads": -1, "filename": "django-rest-assured-0.1.tar.gz", "has_sig": false, "md5_digest": "d042f46adf7aeab58aaec2852a2e4fd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8563, "upload_time": "2014-12-21T15:07:42", "url": "https://files.pythonhosted.org/packages/9f/d6/3c95aa5e376a4a6e072b04a048e47b01501f089b74e01eaa6fb18091f132/django-rest-assured-0.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "ba1836976835777a4d16e5ff6ab41830", "sha256": "e2a0ad0251eab7f2f6a3d47558da244e26f2f8de70d4c0a66da91238b87e5ba9" }, "downloads": -1, "filename": "django-rest-assured-0.2.0.tar.gz", "has_sig": false, "md5_digest": "ba1836976835777a4d16e5ff6ab41830", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9875, "upload_time": "2015-11-27T22:17:22", "url": "https://files.pythonhosted.org/packages/f0/ad/aca033199874712d8cb6161770c827ee14ac8baca5e02d1e4bb596ca777e/django-rest-assured-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "cf577cc42b6be39acdc7a5eb7f7fda46", "sha256": "542ca4e70c8df78c574a930061d0ff84450b121ad1e59c4a285938ce76dcb568" }, "downloads": -1, "filename": "django-rest-assured-0.2.1.tar.gz", "has_sig": false, "md5_digest": "cf577cc42b6be39acdc7a5eb7f7fda46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9888, "upload_time": "2017-03-21T16:50:48", "url": "https://files.pythonhosted.org/packages/e1/5b/65f0383b84fbfac21eacfe16d862e2693c6f47bfc4fe3128ce699b389314/django-rest-assured-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cf577cc42b6be39acdc7a5eb7f7fda46", "sha256": "542ca4e70c8df78c574a930061d0ff84450b121ad1e59c4a285938ce76dcb568" }, "downloads": -1, "filename": "django-rest-assured-0.2.1.tar.gz", "has_sig": false, "md5_digest": "cf577cc42b6be39acdc7a5eb7f7fda46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9888, "upload_time": "2017-03-21T16:50:48", "url": "https://files.pythonhosted.org/packages/e1/5b/65f0383b84fbfac21eacfe16d862e2693c6f47bfc4fe3128ce699b389314/django-rest-assured-0.2.1.tar.gz" } ] }