{ "info": { "author": "@LoisaidaSam", "author_email": "sam.sandberg@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# fakespotipy\n\nA fake [spotipy](https://github.com/plamere/spotipy) client. For unit tests and stuff.\n\n## Installation\n\n```\npip install fakespotipy\n```\n\n## Usage\n\n```python\n# Initialize the client\n>>> from fakespotipy import FakeSpotify\n>>> client = FakeSpotify()\n\n# 1. Example of a mock object response\n# First, set up a mock response\n>>> response = {\n... 'expires_in': 60,\n... 'access_token': 'BQDdKdI1eLRl2ErhCRC0jHdfr_DYEm_ecUuUPq2-dW_txQZeCrA32lNSYOZO7v7rEPXqC846nHlgSeg4m0c3-y05W9ISJRluCXdco4igf8eMhgLojXZb4RbE0vmlH4a06T3TX7Jg-uN1ClYFEkXnCGCA0NBNqkiFYDKlvMWqZExQom-XF-8pr6gV_PpzNJ2eKRRR6_ORp1ABUhtJ_aD8f5W4GexLq1mzpWQLkKE_Fq_LuwE1JhpxxNxRI-FLtzz46Jc',\n... 'token_type': 'Bearer',\n... 'refresh_token': 'AQDDNE-U4IElufFWfNjlwy7rOn-Kyt2PeIN1Nze2I5rVi7c9Etcx9blVkHVe5liSoKRMbJzS3etlA3sQ-0UqMKxRJ-HN08jrO_1IoDgciSZOaAUaQUiSkBOgtgnmO_tEHCU',\n... 'scope': 'user-top-read',\n... }\n\n# Prep the client with that response\n>>> client.add_response('refresh_access_token', response)\n\n# And trigger it\n>>> client.refresh_access_token('refresh_token_str_here')\n{'access_token': 'BQDdKdI1eLRl2ErhCRC0jHdfr_DYEm_ecUuUPq2-dW_txQZeCrA32lNSYOZO7v7rEPXqC846nHlgSeg4m0c3-y05W9ISJRluCXdco4igf8eMhgLojXZb4RbE0vmlH4a06T3TX7Jg-uN1ClYFEkXnCGCA0NBNqkiFYDKlvMWqZExQom-XF-8pr6gV_PpzNJ2eKRRR6_ORp1ABUhtJ_aD8f5W4GexLq1mzpWQLkKE_Fq_LuwE1JhpxxNxRI-FLtzz46Jc', 'token_type': 'Bearer', 'expires_in': 60, 'refresh_token': 'AQDDNE-U4IElufFWfNjlwy7rOn-Kyt2PeIN1Nze2I5rVi7c9Etcx9blVkHVe5liSoKRMbJzS3etlA3sQ-0UqMKxRJ-HN08jrO_1IoDgciSZOaAUaQUiSkBOgtgnmO_tEHCU', 'scope': 'user-top-read'}\n\n# If we try again, we get a NotImplementedError\n>>> client.refresh_access_token('refresh_token_str_here')\nTraceback (most recent call last):\n File \"\", line 1, in \n File \"fakespotipy.py\", line 37, in method\n raise NotImplementedError\nNotImplementedError\n\n# 2. Example of a mock function response\n# First set up the mock function\n>>> def refresh_response(refresh_token_str):\n... print \"i'm refreshing!\"\n... if refresh_token_str == 'foo':\n... raise Exception(\"Foo! Oh noes!\")\n... return {'foo': 'bar'}\n... \n\n# Add it a couple of times (so we can call it twice)\n>>> client.add_response('refresh_access_token', refresh_response)\n>>> client.add_response('refresh_access_token', refresh_response)\n\n# Trigger it\n>>> client.refresh_access_token('refresh_token_str_here')\ni'm refreshing!\n{'foo': 'bar'}\n\n# Trigger again, using anticipated input to trigger custom Exception\n>>> client.refresh_access_token('foo')\ni'm refreshing!\nTraceback (most recent call last):\n File \"\", line 1, in \n File \"fakespotipy.py\", line 40, in method\n return response(*args, **kwargs)\n File \"\", line 4, in refresh_response\nException: Foo! Oh noes!\n\n# Try one more time, get NotImplementedError\n>>> client.refresh_access_token('foo')\nTraceback (most recent call last):\n File \"\", line 1, in \n File \"fakespotipy.py\", line 37, in method\n raise NotImplementedError\nNotImplementedError\n```\n\n## Testing\n\n```\npython setup.py test\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/rcrdclub/fakespotipy", "keywords": "spotify,spotipy,wrapper,testing,unit testing", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "fakespotipy", "package_url": "https://pypi.org/project/fakespotipy/", "platform": "", "project_url": "https://pypi.org/project/fakespotipy/", "project_urls": { "Homepage": "https://github.com/rcrdclub/fakespotipy" }, "release_url": "https://pypi.org/project/fakespotipy/0.8.0/", "requires_dist": null, "requires_python": "", "summary": "A fake spotipy client. For unit tests and stuff.", "version": "0.8.0" }, "last_serial": 3803523, "releases": { "0.3.0": [ { "comment_text": "", "digests": { "md5": "2149ab88f4abb4ffe1dc72f18b322e3a", "sha256": "40513b2fd8795752d8be54887387ee7af992429f70535462f0ca24adc2a56f8a" }, "downloads": -1, "filename": "fakespotipy-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2149ab88f4abb4ffe1dc72f18b322e3a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1757, "upload_time": "2018-04-23T17:42:59", "url": "https://files.pythonhosted.org/packages/8a/b8/bd57727e8baf66e7ca0a21a39f293e0847f1eb2ed8bbd13a3ed63522ac65/fakespotipy-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "63c9e8b0f58cfcaac9cfb4aebda4c47d", "sha256": "6849794ed3c378229faf9aafda4131e85cf7c354b8fb6dd7c308c9ffa6353ebb" }, "downloads": -1, "filename": "fakespotipy-0.3.0.tar.gz", "has_sig": false, "md5_digest": "63c9e8b0f58cfcaac9cfb4aebda4c47d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2297, "upload_time": "2018-04-23T17:43:00", "url": "https://files.pythonhosted.org/packages/1a/83/fe1ff60d7992583efc3f9569d7a7b9af8dd43f24989f71b6b60d056accac/fakespotipy-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "70aedc52278ef93cbe79bff07e522a20", "sha256": "a33028565ad9b935bed8a17055db6c397177c9d248fcbdbc341065a1fff07604" }, "downloads": -1, "filename": "fakespotipy-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "70aedc52278ef93cbe79bff07e522a20", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1756, "upload_time": "2018-04-23T18:01:06", "url": "https://files.pythonhosted.org/packages/06/b7/c1f4d849d2753619d206985168939cd66c772d7bbce6adc6272006772239/fakespotipy-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e53e6694dd27dbb88c21bd2c60099ed6", "sha256": "ad3376aef8fe39ededb82d370dc1947b7ae5d6a6a96c39162df1571271aec679" }, "downloads": -1, "filename": "fakespotipy-0.4.0.tar.gz", "has_sig": false, "md5_digest": "e53e6694dd27dbb88c21bd2c60099ed6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2315, "upload_time": "2018-04-23T18:01:08", "url": "https://files.pythonhosted.org/packages/2f/62/baa75ccc46c6848cd983bd30e50712e5cdc65f1515092eaa3ceec47a06d7/fakespotipy-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "7542f8cc0f3adc3873a2d04707f70606", "sha256": "94ab7b27c83b0ee828f74d375666e676150877b84b08289a3a71d1e338b740d4" }, "downloads": -1, "filename": "fakespotipy-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7542f8cc0f3adc3873a2d04707f70606", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 2841, "upload_time": "2018-04-23T18:16:56", "url": "https://files.pythonhosted.org/packages/43/06/2dfacd083b503f1f6ae263220e2e1fe9f19c6a7fd2fed3a5536d7c5fc361/fakespotipy-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c9f3326c8b42f02b2501af6840a25fde", "sha256": "6152d44dc3f71351b245312545898332ce66f6de2ce124296785226daf2a00c8" }, "downloads": -1, "filename": "fakespotipy-0.5.0.tar.gz", "has_sig": false, "md5_digest": "c9f3326c8b42f02b2501af6840a25fde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2757, "upload_time": "2018-04-23T18:16:58", "url": "https://files.pythonhosted.org/packages/db/4e/f49014aaab001c07050418ba372bfd2bb36e2cde44d3d0f6bb4170a363f4/fakespotipy-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "b521368bfe1d87625f530cdcbc8ab196", "sha256": "0da1999e86628656044245108ab73c186fd67546cd09823eb4a2b7acad61ef4e" }, "downloads": -1, "filename": "fakespotipy-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b521368bfe1d87625f530cdcbc8ab196", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 2896, "upload_time": "2018-04-24T15:40:59", "url": "https://files.pythonhosted.org/packages/4f/7b/9ac220e3db14c785cc5f7511c19c3b59f0d94a71a58afd09617773238ea4/fakespotipy-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76397a852442e04db3ef5fa96bf2bc1f", "sha256": "f2fc04bd344e0c2a9391071390cf5b72ddb4c5c636f619094cc7c7fc4538bbc9" }, "downloads": -1, "filename": "fakespotipy-0.6.0.tar.gz", "has_sig": false, "md5_digest": "76397a852442e04db3ef5fa96bf2bc1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2810, "upload_time": "2018-04-24T15:41:01", "url": "https://files.pythonhosted.org/packages/71/df/75390475afab5039a2050a7bafb2096ceb7dcc5efbf7ec3f70346ce5d6d1/fakespotipy-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "15c77ba54b5db08d763a8a3eb606cb44", "sha256": "37ea4a228e4db122ff8c31b41d26497f9e528773f0b1141c12959b6c1d4fa53e" }, "downloads": -1, "filename": "fakespotipy-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "15c77ba54b5db08d763a8a3eb606cb44", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 2896, "upload_time": "2018-04-24T15:51:29", "url": "https://files.pythonhosted.org/packages/aa/2a/e09625b67343b8be7dc511401c0e713f30bbbbe5994f3454927253b5e375/fakespotipy-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1153188accc59313968b0a6c7f440c7e", "sha256": "b2f221f08f83b570a7da943c12db0e46950b595664e946b8f1fa51de19a7ae5b" }, "downloads": -1, "filename": "fakespotipy-0.7.0.tar.gz", "has_sig": false, "md5_digest": "1153188accc59313968b0a6c7f440c7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2809, "upload_time": "2018-04-24T15:51:31", "url": "https://files.pythonhosted.org/packages/0a/d6/0a299f3b1e6d3af02b27828813d7366780eb1bdf2be084f7076c9ce37266/fakespotipy-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "daec99850aaea640d510591a6f54d977", "sha256": "ce8b290db5febf0954b5f0275f0ad95a8320b34525efe8006415e2461109dbfc" }, "downloads": -1, "filename": "fakespotipy-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "daec99850aaea640d510591a6f54d977", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 2919, "upload_time": "2018-04-24T16:18:00", "url": "https://files.pythonhosted.org/packages/e0/a7/a73bd38cf9379c5c46a0931c4e75c0e45412cd1b82b55f81147f4dad31c8/fakespotipy-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "20b42ce8ab1cd58448b7a2f1f39a1471", "sha256": "f15a26c8198b47e6b7fabde244fb75f16c9b538fd52e7ede9f299b6818183670" }, "downloads": -1, "filename": "fakespotipy-0.8.0.tar.gz", "has_sig": false, "md5_digest": "20b42ce8ab1cd58448b7a2f1f39a1471", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2813, "upload_time": "2018-04-24T16:18:02", "url": "https://files.pythonhosted.org/packages/7c/c4/7dafce580cb84a8c27869fa1fa371b4478879c20798f74991344a51fe4f0/fakespotipy-0.8.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "daec99850aaea640d510591a6f54d977", "sha256": "ce8b290db5febf0954b5f0275f0ad95a8320b34525efe8006415e2461109dbfc" }, "downloads": -1, "filename": "fakespotipy-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "daec99850aaea640d510591a6f54d977", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 2919, "upload_time": "2018-04-24T16:18:00", "url": "https://files.pythonhosted.org/packages/e0/a7/a73bd38cf9379c5c46a0931c4e75c0e45412cd1b82b55f81147f4dad31c8/fakespotipy-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "20b42ce8ab1cd58448b7a2f1f39a1471", "sha256": "f15a26c8198b47e6b7fabde244fb75f16c9b538fd52e7ede9f299b6818183670" }, "downloads": -1, "filename": "fakespotipy-0.8.0.tar.gz", "has_sig": false, "md5_digest": "20b42ce8ab1cd58448b7a2f1f39a1471", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2813, "upload_time": "2018-04-24T16:18:02", "url": "https://files.pythonhosted.org/packages/7c/c4/7dafce580cb84a8c27869fa1fa371b4478879c20798f74991344a51fe4f0/fakespotipy-0.8.0.tar.gz" } ] }