{ "info": { "author": "Simon Schmidt", "author_email": "schmidt.simon@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)", "Topic :: Software Development :: Testing" ], "description": "[Hypothesis](https://github.com/HypothesisWorks/hypothesis-python) strategy for \n[Django REST framework](http://www.django-rest-framework.org/) serializers.\n\n\nGenerate data that is valid according to a DRF serializer\n\n### Known issues\n\n* Only tested with python3.6\n* `URLField` can be slow when generating the first example\n* `*RelatedField` gets first object in queryset, not random\n* Not all fields are supported, known non-working:\n - FileField\n - FilePathField\n - ImageField\n - ModelField\n\n\n### Example\n\n```bash\npip install hypothesis-drf\n```\n\n```python\nfrom hypothesis_drf import from_serializer, from_field\nfrom rest_framework import serializers\n\n\nclass ExampleSerializer(serializers.Serializer):\n name = serializers.CharField(min_length=3, max_length=8)\n amount = serializers.IntegerField(min_value=200, max_value=500)\n\n\nfrom_serializer(ExampleSerializer).example()\n# {'amount': 391, 'name': '\\U00053a6b&\\U00030fee$.'}\n\nfrom_field(serializers.FloatField(min_value=-10, max_value=22)).example()\n# -8.499125311228873\n\n```\n\n\nFor HyperLinkedRelatedField (and variants) you must pass an instantiated serializer as\nthey require access to the request via context:\n\n```python\nfrom hypothesis_drf import from_serializer\n\nclass RelatedExample(serializers.ModelSerializer):\n class Meta:\n model = SourceModel\n fields = ('target', )\n\n target = HyperLinkedRelatedField(queryset=TargetModel.objects.all())\n\nfrom_serializer(RelatedExample(context={'request': request})).example()\n# {'target': 'http://example.com/something/'}\n```\n\n\n### Custom fields\n\nProvide `hypothesis_strategy` on the field:\n\n```python\nfrom rest_framework import fields\nfrom hypothesis import strategies as st\n\nclass MyField(fields.Field):\n hypothesis_strategy = st.booleans()\n\n # ...\n```\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/schmidt.simon/hypothesis-drf", "keywords": "", "license": "MPL v2", "maintainer": "", "maintainer_email": "", "name": "hypothesis-drf", "package_url": "https://pypi.org/project/hypothesis-drf/", "platform": "", "project_url": "https://pypi.org/project/hypothesis-drf/", "project_urls": { "Homepage": "https://gitlab.com/schmidt.simon/hypothesis-drf" }, "release_url": "https://pypi.org/project/hypothesis-drf/1.0.0/", "requires_dist": null, "requires_python": "", "summary": "Hypothesis DRF", "version": "1.0.0" }, "last_serial": 3324428, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "8ff24ddd362e632725953c69a1d59c1e", "sha256": "9a150657af37fff262b083b67950175ef1aa41ec170f8416350056eb990e213c" }, "downloads": -1, "filename": "hypothesis-drf-0.0.1.tar.gz", "has_sig": false, "md5_digest": "8ff24ddd362e632725953c69a1d59c1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6185, "upload_time": "2017-11-08T22:39:54", "url": "https://files.pythonhosted.org/packages/51/1c/1be7dc941bea6504d4d8ce4f2b7274a38e2569e487b4c373d6a86f53d68e/hypothesis-drf-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "34237912fb876c211f430a16de30ca1f", "sha256": "07784c8326790fd06bbb0c6d85aa03ca2dedb662877e35e967a019f35733c900" }, "downloads": -1, "filename": "hypothesis_drf-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "34237912fb876c211f430a16de30ca1f", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 5657, "upload_time": "2017-11-08T22:51:24", "url": "https://files.pythonhosted.org/packages/c0/6c/773ac5852f62d3a9523e20b7ebf782c3841d641e185a1d3296a629feebb6/hypothesis_drf-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ba4e11fdffe9b5090c415c5ce9e4ce0f", "sha256": "09e2e9067d9a2a7a324d36181df51d2d9289c3f11934cc5f70bf2261873fe072" }, "downloads": -1, "filename": "hypothesis-drf-0.0.2.tar.gz", "has_sig": false, "md5_digest": "ba4e11fdffe9b5090c415c5ce9e4ce0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6294, "upload_time": "2017-11-08T22:51:23", "url": "https://files.pythonhosted.org/packages/bb/41/1b192e9fc49b0a6ef2d2684bb9f3aa04ad6e5a223243764d1e8cdf4150e2/hypothesis-drf-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "a11b59c389f4296029318877b52784fa", "sha256": "fe7436e697fec1dd2b3cc5ea0916b7e92fab0fbbfa6fcb1394aefdd0edb719f0" }, "downloads": -1, "filename": "hypothesis_drf-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a11b59c389f4296029318877b52784fa", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 5923, "upload_time": "2017-11-09T16:55:58", "url": "https://files.pythonhosted.org/packages/b9/42/b851a9688219d4bf67cf26dd0fd50b0c493b160a8f5d304e4dd162addad2/hypothesis_drf-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ed0ed9a2711ca2a21c514402c41e4e7", "sha256": "40b290c617beace8c83e6f0d4b67075f1c8eca49a36b9506b048d72344971111" }, "downloads": -1, "filename": "hypothesis-drf-0.0.3.tar.gz", "has_sig": false, "md5_digest": "2ed0ed9a2711ca2a21c514402c41e4e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6601, "upload_time": "2017-11-09T16:55:57", "url": "https://files.pythonhosted.org/packages/5e/c4/d767dcd1241bf8e420606eccc6c4b15f3bca4cd8a4f580a42c64e27fa67d/hypothesis-drf-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "82900c5c07a45e8d44a4ec660d5979e3", "sha256": "5122439393049355b4da900de5167cc381fae6cc9d75600eff3c1f98bbb6a3fd" }, "downloads": -1, "filename": "hypothesis_drf-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "82900c5c07a45e8d44a4ec660d5979e3", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 5913, "upload_time": "2017-11-09T17:21:41", "url": "https://files.pythonhosted.org/packages/f3/38/1a67d0c44596491ff83698f168ee9c2a61c8298a03ffed846bb29a23c1ce/hypothesis_drf-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0b25ac879c1529ecf96877bf053161bd", "sha256": "4d79ea8dad09d1e7cacea890c67d2e4e7346494c6c2d64219692c367d1b778af" }, "downloads": -1, "filename": "hypothesis-drf-0.0.4.tar.gz", "has_sig": false, "md5_digest": "0b25ac879c1529ecf96877bf053161bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6617, "upload_time": "2017-11-09T17:21:40", "url": "https://files.pythonhosted.org/packages/cc/c9/985fcbd3ca22e69c3ffea47255df856ae1879e2fb7e195c10a68275d5e9f/hypothesis-drf-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "1e46f1a73c0146e7edad193f0cc6a65b", "sha256": "3f7b6829eb75df136ac8299812110d308bccec1a434f7bd7a33630be8463a8aa" }, "downloads": -1, "filename": "hypothesis_drf-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "1e46f1a73c0146e7edad193f0cc6a65b", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6589, "upload_time": "2017-11-11T09:47:28", "url": "https://files.pythonhosted.org/packages/d0/76/e6fd808430acd8356d12baa6707c09e22cf5c3e09d11791d2b8dd2d1a73f/hypothesis_drf-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cc128aa96141968637cfafc6de13632d", "sha256": "a01930302466540d8ed2f5daa620c10c8f40a298cda71436755a56502a3c2ba2" }, "downloads": -1, "filename": "hypothesis-drf-0.0.5.tar.gz", "has_sig": false, "md5_digest": "cc128aa96141968637cfafc6de13632d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8166, "upload_time": "2017-11-11T09:47:26", "url": "https://files.pythonhosted.org/packages/e0/90/4ac6eb75637a35256f89167f535f35612e2b641b646ae3fa4aea6468655e/hypothesis-drf-0.0.5.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "2b356c9d34b0acc517859c2893d1e1fb", "sha256": "e9c48103209bbd14ea50ee8fa543a12ebf3b09439fa60585ed8839745f78f047" }, "downloads": -1, "filename": "hypothesis_drf-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "2b356c9d34b0acc517859c2893d1e1fb", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6611, "upload_time": "2017-11-11T10:06:35", "url": "https://files.pythonhosted.org/packages/aa/48/f9d195657323f75a912bd1505e051cc67c37f39e8dae89adaf3b91eec853/hypothesis_drf-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8fce48755e33709fc1222ac19b85bc38", "sha256": "830b399a80af72ad29db14f847df8d52a5a28b0d58c3f2e46df2190f1f321004" }, "downloads": -1, "filename": "hypothesis-drf-0.0.7.tar.gz", "has_sig": false, "md5_digest": "8fce48755e33709fc1222ac19b85bc38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8296, "upload_time": "2017-11-11T10:06:34", "url": "https://files.pythonhosted.org/packages/7e/c6/14fd137cdddf3929a432a9dca7253a4a4a4323d0c0f0b5ee9dd62a53d0c1/hypothesis-drf-0.0.7.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "5f53a5bfe2a03a6afab49d9a0285f35f", "sha256": "cff9a2d3878aa4a4414a852e7f0006c4839e3fabae45b897fb07cec361dfd2a4" }, "downloads": -1, "filename": "hypothesis_drf-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5f53a5bfe2a03a6afab49d9a0285f35f", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6578, "upload_time": "2017-11-11T13:52:38", "url": "https://files.pythonhosted.org/packages/b9/bd/cbdbcf1d59c690540ebeae69e82207817b6a6ca119b230d59e1f18bdf4ec/hypothesis_drf-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e243801a97d3a10bf038dbdb998b3697", "sha256": "f05d4c1b93627c237585b7988de7f02b900aa02494d197adb025dc3e77faa90e" }, "downloads": -1, "filename": "hypothesis-drf-1.0.0.tar.gz", "has_sig": false, "md5_digest": "e243801a97d3a10bf038dbdb998b3697", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8543, "upload_time": "2017-11-11T13:52:37", "url": "https://files.pythonhosted.org/packages/69/93/3a61da055b8a2f7fb5c5ca0d3bbf701713360ede472071a1e891de45d15d/hypothesis-drf-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5f53a5bfe2a03a6afab49d9a0285f35f", "sha256": "cff9a2d3878aa4a4414a852e7f0006c4839e3fabae45b897fb07cec361dfd2a4" }, "downloads": -1, "filename": "hypothesis_drf-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5f53a5bfe2a03a6afab49d9a0285f35f", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6578, "upload_time": "2017-11-11T13:52:38", "url": "https://files.pythonhosted.org/packages/b9/bd/cbdbcf1d59c690540ebeae69e82207817b6a6ca119b230d59e1f18bdf4ec/hypothesis_drf-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e243801a97d3a10bf038dbdb998b3697", "sha256": "f05d4c1b93627c237585b7988de7f02b900aa02494d197adb025dc3e77faa90e" }, "downloads": -1, "filename": "hypothesis-drf-1.0.0.tar.gz", "has_sig": false, "md5_digest": "e243801a97d3a10bf038dbdb998b3697", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8543, "upload_time": "2017-11-11T13:52:37", "url": "https://files.pythonhosted.org/packages/69/93/3a61da055b8a2f7fb5c5ca0d3bbf701713360ede472071a1e891de45d15d/hypothesis-drf-1.0.0.tar.gz" } ] }