{ "info": { "author": "Meheret Tesfaye", "author_email": "meherett@zoho.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Pytest", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "

\t\n \t\t\n

\n\n# PyTest-Cobra ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pytest-cobra.svg?style=for-the-badge)\n\n*PyTest plugin for testing Smart Contracts for Ethereum blockchain.*\n\n[![Build Status](https://travis-ci.com/cobraframework/pytest-cobra.svg?branch=master)](https://travis-ci.com/cobraframework/pytest-cobra)\n![PyPI Version](https://img.shields.io/pypi/v/pytest-cobra.svg?color=blue)\n![GitHub License](https://img.shields.io/github/license/cobraframework/pytest-cobra.svg)\n![Github Date](https://img.shields.io/github/release-date/cobraframework/pytest-cobra.svg?color=black)\n![PyPI Wheel](https://img.shields.io/pypi/wheel/pytest-cobra.svg?color=%2308490e)\n[![Donate with Ethereum](https://en.cryptobadges.io/badge/micro/0xD32AAEDF28A848e21040B6F643861A9077F83106)](https://en.cryptobadges.io/donate/0xD32AAEDF28A848e21040B6F643861A9077F83106)\n\n## Dependency\n\nThis library requires the `solc` executable to be present.\n\nOnly versions `>=0.4.2` are supported and tested though this library may work\nwith other versions.\n\n[solc installation instructions](http://solidity.readthedocs.io/en/latest/installing-solidity.html)\n\nInstall Solidity compiler (solc) using Node Package Manager(npm)\n```\nnpm install -g solc\n```\nor for Ubuntu(Linux)\n```\nsudo add-apt-repository ppa:ethereum/ethereum\nsudo apt-get update\nsudo apt-get install solc\n```\n\n## Quickstart\nInstallation\n```\npip install pytest-cobra\n```\n\n## Development\nClone the repository and then run\n```\npip install -e . -r requirements.txt\n```\n\n## Usage\n\n#### Execute your test suite\n Example MetaCoin\n [picture](https://github.com/cobraframework/pytest-cobra/blob/master/example/example.png)\n\n```python\n# MetaCoin Testing\n\n# cobra is pytest fixture\ndef test_metacoin(cobra):\n\n # Getting Contract Factory by name\n metacoin = cobra.contract('MetaCoin')\n\n # Getting Contract Instance of MetaCoin\n metacoin = metacoin.deploy()\n\n assert metacoin.getBalance(cobra.accounts[0]) == 10000\n```\n\n### Running test from Solidity file (.sol)\n\n```\npytest --cobra MetaCoin.sol\n```\n\n#### Optional commands\n\n##### Import path remappings\n`solc` provides path aliasing allow you to have more reusable project configurations.\n```\npytest --cobra MetaCoin.sol --import_remappings [\"zeppeling=/my-zeppelin-checkout-folder\"]\n```\n\n##### Allow paths\n```\npytest --cobra MetaCoin.sol --allow_paths \"/home/meheret,/user,/\"\n```\n\n### Running test from compiled Contracts Json file (.json)\n\nCompile your contracts into a package (soon to be ethPM-compliant)\n```\nsolc --combined-json abi,bin,bin-runtime contracts/ > MetaCoin.json\n```\nTesting Contracts.json\n```\npytest --cobra MetaCoin.json\n```\n\n### Running test from Yaml file (.yaml) \n`Comming Soon` with Cobra Framework\n\n## Further help\n##### PyTest\nGo check out the [PyTest](http://pytest.org).\n\n## Author \u2712\ufe0f\n\n* **Meheret Tesfaye** - *Initial work* - [Cobra](https://github.com/cobraframework)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cobraframework/pytest-cobra", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pytest-cobra", "package_url": "https://pypi.org/project/pytest-cobra/", "platform": "", "project_url": "https://pypi.org/project/pytest-cobra/", "project_urls": { "Homepage": "https://github.com/cobraframework/pytest-cobra" }, "release_url": "https://pypi.org/project/pytest-cobra/1.0.4/", "requires_dist": [ "pytest (<4.0.0,>=3.7.1)", "eth-keyfile (==0.5.1)", "eth-tester (==0.1.0b33)", "py-evm (==0.2.0a33)", "eth-abi (==1.2.2)", "py-ecc (==1.4.3)", "py-solc (<4.0.0,>=3.2.0)", "web3 (<5.0.0,>=4.4.1)", "PyYAML (<4.0,>=3.13)" ], "requires_python": ">=3.6,<3.8", "summary": "PyTest plugin for testing Smart Contracts for Ethereum blockchain.", "version": "1.0.4" }, "last_serial": 5521743, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "ccab9d05dccbb59b49eb0a4009d135aa", "sha256": "b7da1bbb30f4833f186eb16aef048f2d14f302f71103d7f94dbacbaa0213bcba" }, "downloads": -1, "filename": "pytest_cobra-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ccab9d05dccbb59b49eb0a4009d135aa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 6530, "upload_time": "2018-09-12T00:38:41", "url": "https://files.pythonhosted.org/packages/42/2c/e9d2bbfbebda0ac5445005c9f69b42971872021ecff6df127982d244da0d/pytest_cobra-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "30c549bcb385dbc59f8b989d903a76f4", "sha256": "56dc6c845f93e2d1806b63bb8cea470dfe2c2a6166e5d68aa489d5b1af62bcd4" }, "downloads": -1, "filename": "pytest-cobra-0.0.1.tar.gz", "has_sig": false, "md5_digest": "30c549bcb385dbc59f8b989d903a76f4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6650, "upload_time": "2018-09-12T00:38:43", "url": "https://files.pythonhosted.org/packages/64/37/0edec4fb637a68e53379848cc1745ea924f0235572d465cb8814a74b79cd/pytest-cobra-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "47105e857ddae0eb5dcfbec8b219cd5c", "sha256": "f6bc24ca9508b7c23d72e3548493c17881ab6ddccca3f4e757beb2b2d6d07a53" }, "downloads": -1, "filename": "pytest_cobra-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "47105e857ddae0eb5dcfbec8b219cd5c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<3.7", "size": 6558, "upload_time": "2018-09-12T08:11:33", "url": "https://files.pythonhosted.org/packages/2a/5d/a53a75cc8f70fe8fdc3131fb6bd7438ed9f131b3ffcc90cff4ad5569b30c/pytest_cobra-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "75b9261da14fd2d0c2520f27e293174e", "sha256": "c4af22c547fc05e737036b184438ed0a1b7d125285563dc707b296a822658cd2" }, "downloads": -1, "filename": "pytest-cobra-0.0.2.tar.gz", "has_sig": false, "md5_digest": "75b9261da14fd2d0c2520f27e293174e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<3.7", "size": 6673, "upload_time": "2018-09-12T08:11:34", "url": "https://files.pythonhosted.org/packages/79/d4/1dff1b1b2a957c059dc34746dd93c0a329d578e684765dfaa31134961049/pytest-cobra-0.0.2.tar.gz" } ], "0.0.2.dev1": [ { "comment_text": "", "digests": { "md5": "58136da62c42c81c9703da754be5d606", "sha256": "315f12ac74064dec327953cbce56a6dd1836fb952bd45b3274c6427c0520130c" }, "downloads": -1, "filename": "pytest_cobra-0.0.2.dev1-py3-none-any.whl", "has_sig": false, "md5_digest": "58136da62c42c81c9703da754be5d606", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<3.7", "size": 6616, "upload_time": "2018-09-12T01:32:27", "url": "https://files.pythonhosted.org/packages/82/23/4d499f5a94da0d170d0e2672274379c1ded92018ea33ace0077f1331d8bb/pytest_cobra-0.0.2.dev1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7bde2cb472510e1d91832ca4ddfbb3ec", "sha256": "c432080918db3c526839123dd96468b3a600ab117cee0c002be11467d054ef88" }, "downloads": -1, "filename": "pytest-cobra-0.0.2.dev1.tar.gz", "has_sig": false, "md5_digest": "7bde2cb472510e1d91832ca4ddfbb3ec", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<3.7", "size": 6685, "upload_time": "2018-09-12T01:32:28", "url": "https://files.pythonhosted.org/packages/db/2c/7105ada505bae4e28c0001a4394682acbf2718bf6c590d705480218466af/pytest-cobra-0.0.2.dev1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "77dd71639185de5b0e31742bfb8c04d3", "sha256": "d58a17e140295e54489e92b5bc788c840fe2009a26ff5853063355efd888fbe2" }, "downloads": -1, "filename": "pytest_cobra-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "77dd71639185de5b0e31742bfb8c04d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<3.8", "size": 8775, "upload_time": "2019-05-25T14:48:55", "url": "https://files.pythonhosted.org/packages/00/db/f6e2041c5ac9225c809f11d95d8ba14c6bddec9933cf0983ff92ed3a4545/pytest_cobra-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6447b43708dd7d0c3f65ea93712b3538", "sha256": "ee2bc68672b3e7720a3b0344979e865fce5deed7aebd0c5784a0e51f5c4e7a8f" }, "downloads": -1, "filename": "pytest-cobra-1.0.0.tar.gz", "has_sig": false, "md5_digest": "6447b43708dd7d0c3f65ea93712b3538", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<3.8", "size": 8720, "upload_time": "2019-05-25T14:48:56", "url": "https://files.pythonhosted.org/packages/f3/fd/40bc82d3c5b75dfb653181c25f81a21c570a23a6e2122dfa06ef2a5db50b/pytest-cobra-1.0.0.tar.gz" } ], "1.0.0a1": [ { "comment_text": "", "digests": { "md5": "330cbd3f9bb56a6aef29169bd4bdaa2a", "sha256": "7b9036d63be77bd512607d2744a698ae3aca9a1125b824eaff8f51aac023898f" }, "downloads": -1, "filename": "pytest_cobra-1.0.0a1-py3-none-any.whl", "has_sig": false, "md5_digest": "330cbd3f9bb56a6aef29169bd4bdaa2a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<3.8", "size": 8789, "upload_time": "2019-05-25T14:12:32", "url": "https://files.pythonhosted.org/packages/ab/cc/48e631e4487469ac8917faba69532414dadb38e2a2efec5218b7b1333954/pytest_cobra-1.0.0a1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0e3ec2f9ea6a93787e2067d18c610356", "sha256": "01c2bc655b6dd0421761053c229e91ded782475621a5cb761bc49546d497f36a" }, "downloads": -1, "filename": "pytest-cobra-1.0.0a1.tar.gz", "has_sig": false, "md5_digest": "0e3ec2f9ea6a93787e2067d18c610356", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<3.8", "size": 8710, "upload_time": "2019-05-25T14:12:34", "url": "https://files.pythonhosted.org/packages/63/bb/af23ffce802786f42b6b3d48b05a81149e065e4827bacf9d66788c62ed8b/pytest-cobra-1.0.0a1.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "c1507b47545756d28f2ca207514b4e2e", "sha256": "944293319094a8af289269a203a8bd9a00846bb25a124124316c2068dd48a5fa" }, "downloads": -1, "filename": "pytest_cobra-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c1507b47545756d28f2ca207514b4e2e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<3.8", "size": 8804, "upload_time": "2019-06-16T21:15:05", "url": "https://files.pythonhosted.org/packages/58/86/7d0cae1bdc6db528a3570a697358b495f29fd4e52b2347307bfc9fc21f6e/pytest_cobra-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0e30891a4b321661627bc52b23d51879", "sha256": "eb2e4f96754732cf4ed9f2af8004c7ffd395f55da1501d7e42848bbcf4d5988f" }, "downloads": -1, "filename": "pytest-cobra-1.0.1.tar.gz", "has_sig": false, "md5_digest": "0e30891a4b321661627bc52b23d51879", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<3.8", "size": 8765, "upload_time": "2019-06-16T21:15:07", "url": "https://files.pythonhosted.org/packages/b4/a2/5ed80612a01609aef8ca5b537a3bbc2789a115e2ed69b3ebbd75af88df79/pytest-cobra-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "73384f56dc199044f19900a4742d1a43", "sha256": "c4e953505bd32f3d4ba135f919383b7ee06307355e322eaa996f8dc5be44b1b3" }, "downloads": -1, "filename": "pytest_cobra-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "73384f56dc199044f19900a4742d1a43", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<3.8", "size": 8857, "upload_time": "2019-06-29T14:58:02", "url": "https://files.pythonhosted.org/packages/0a/12/344cbf6f95f50ef4bdb2d23d543cab2be6b920c0b37b7222435f2f03346c/pytest_cobra-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6da2720b392012f5a596dbd9595ba8e7", "sha256": "bce7d9484ca4d8dcdbf8c93c384576b7ebfbb85764484e3952b49e81dd84f002" }, "downloads": -1, "filename": "pytest-cobra-1.0.2.tar.gz", "has_sig": false, "md5_digest": "6da2720b392012f5a596dbd9595ba8e7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<3.8", "size": 9754, "upload_time": "2019-06-29T14:58:05", "url": "https://files.pythonhosted.org/packages/e4/00/9f675241174f08e3452f7057c679444d6172c35ccbe8887a11d2b6cc2d7f/pytest-cobra-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "1ae6d85af4f501286de8461c56bf5e18", "sha256": "22909e3e6b23e4293b9702883b0dc9b69a92ea39199b78768b2e06071dc710a8" }, "downloads": -1, "filename": "pytest_cobra-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1ae6d85af4f501286de8461c56bf5e18", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<3.8", "size": 8857, "upload_time": "2019-06-29T15:08:07", "url": "https://files.pythonhosted.org/packages/cb/cc/91550c4c99af0ff481f4cd6054a4e755c24c0fb25faf50937d3a687953cf/pytest_cobra-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "894b0065fdffef4623cc548309066740", "sha256": "e95e59aeb57fd155d5aa336e81b9a6097e53c6f7fbb1856903d8f0b0b426381b" }, "downloads": -1, "filename": "pytest-cobra-1.0.3.tar.gz", "has_sig": false, "md5_digest": "894b0065fdffef4623cc548309066740", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<3.8", "size": 9759, "upload_time": "2019-06-29T15:08:08", "url": "https://files.pythonhosted.org/packages/2c/50/8d3d8347c13a53cdda2851781d037c190088aa41c1aafd2d4e87f62ca336/pytest-cobra-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "56bd4bc9bbdfdb93f1cb256cc65f9e5d", "sha256": "431c4409f7ee1b5f835a56c31968b8a13e824c7dce8396d6c93d30e20af220f5" }, "downloads": -1, "filename": "pytest_cobra-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "56bd4bc9bbdfdb93f1cb256cc65f9e5d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<3.8", "size": 8857, "upload_time": "2019-06-29T15:12:27", "url": "https://files.pythonhosted.org/packages/82/3b/5b97503e929174476f3c2bb01cc92502daa42c1c1f351f41dc3e966b0f48/pytest_cobra-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5d5f6dcc0a6684b14c3a41082a7dceb7", "sha256": "b2825ff4591d963b8ae7281591356b97fdc5f1235a38f2db2bbd4bdabd366e71" }, "downloads": -1, "filename": "pytest-cobra-1.0.4.tar.gz", "has_sig": false, "md5_digest": "5d5f6dcc0a6684b14c3a41082a7dceb7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<3.8", "size": 49997, "upload_time": "2019-06-29T15:12:30", "url": "https://files.pythonhosted.org/packages/4b/67/886082ff8c6ef6ea23a193f386e211d65de6ee9ab67ed5fb3ebd4fe11b7f/pytest-cobra-1.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "56bd4bc9bbdfdb93f1cb256cc65f9e5d", "sha256": "431c4409f7ee1b5f835a56c31968b8a13e824c7dce8396d6c93d30e20af220f5" }, "downloads": -1, "filename": "pytest_cobra-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "56bd4bc9bbdfdb93f1cb256cc65f9e5d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<3.8", "size": 8857, "upload_time": "2019-06-29T15:12:27", "url": "https://files.pythonhosted.org/packages/82/3b/5b97503e929174476f3c2bb01cc92502daa42c1c1f351f41dc3e966b0f48/pytest_cobra-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5d5f6dcc0a6684b14c3a41082a7dceb7", "sha256": "b2825ff4591d963b8ae7281591356b97fdc5f1235a38f2db2bbd4bdabd366e71" }, "downloads": -1, "filename": "pytest-cobra-1.0.4.tar.gz", "has_sig": false, "md5_digest": "5d5f6dcc0a6684b14c3a41082a7dceb7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<3.8", "size": 49997, "upload_time": "2019-06-29T15:12:30", "url": "https://files.pythonhosted.org/packages/4b/67/886082ff8c6ef6ea23a193f386e211d65de6ee9ab67ed5fb3ebd4fe11b7f/pytest-cobra-1.0.4.tar.gz" } ] }