{"id":34032538,"url":"https://github.com/mwiatrzyk/mockify","last_synced_at":"2026-04-02T01:44:40.994Z","repository":{"id":140901583,"uuid":"543197251","full_name":"mwiatrzyk/mockify","owner":"mwiatrzyk","description":"Mocking toolkit for Python with API inspired by GMock C++ framework.","archived":false,"fork":false,"pushed_at":"2024-06-12T15:50:17.000Z","size":666,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-30T09:35:26.597Z","etag":null,"topics":["framework","mock","mocking","python","testing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mwiatrzyk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-29T15:36:03.000Z","updated_at":"2024-12-07T14:47:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"29fedcfb-c03b-4330-af02-36fb6626fad8","html_url":"https://github.com/mwiatrzyk/mockify","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/mwiatrzyk/mockify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwiatrzyk%2Fmockify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwiatrzyk%2Fmockify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwiatrzyk%2Fmockify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwiatrzyk%2Fmockify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mwiatrzyk","download_url":"https://codeload.github.com/mwiatrzyk/mockify/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mwiatrzyk%2Fmockify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31294123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T01:43:37.129Z","status":"ssl_error","status_checked_at":"2026-04-02T01:43:36.474Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["framework","mock","mocking","python","testing"],"created_at":"2025-12-13T18:51:22.500Z","updated_at":"2026-04-02T01:44:40.989Z","avatar_url":"https://github.com/mwiatrzyk.png","language":"Python","readme":"![PyPI - License](https://img.shields.io/pypi/l/mockify)\n![PyPI](https://img.shields.io/pypi/v/mockify)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/mockify)\n[![codecov](https://codecov.io/gl/zef1r/mockify/branch/master/graph/badge.svg?token=UX2T69XQAJ)](https://codecov.io/gl/zef1r/mockify)\n\nMockify\n=======\n\nHighly customizable and expressive mocking library for Python.\n\nAbout\n-----\n\nMockify is a library inspired by Google Mock C++ framework, but adopted to\nPython world.\n\nMockify is based on **expectations** that you need to record on your mocks\n**before** those are called by code you're testing. And expectations you're\nrecording are basically assertions that must pass before test ends. Along\nwith expectations you can also record actions the mock will execute once\ncalled. And all of these is provided by simple, expressive and easy to use\nAPI.\n\nHere's a simple example:\n\n```python\nfrom mockify.core import satisfied\nfrom mockify.mock import Mock\nfrom mockify.actions import Return\n\ndef func_caller(func):\n    return func()\n\ndef test_func_caller():\n    func_mock = Mock('greet')\n    func_mock.expect_call().will_once(Return('Hello, world!'))\n    with satisfied(func_mock):\n        assert func_caller(func_mock) == 'Hello, world!'\n```\n\nMockify allows you to:\n\n* Record expectations with any number of positional and/or keyword arguments,\n* Set expected call count or call count range,\n* Record **action chains**, allowing subsequent action can be performed on\n  subsequent call to same mock,\n* Record **repeated** actions that can be executed any number of times,\n* Use **matchers**, allowing to match range of parameters the mock is called\n  with instead of exact ones,\n* and more.\n\nI hope you'll find this library useful.\n\nDocumentation\n-------------\n\nNewest documentation can be found at https://mockify.readthedocs.org/.\n\nSource\n------\n\nSource code is available at https://github.com/mwiatrzyk/mockify.\n\nLicense\n-------\n\nThis software is released under the terms of the MIT license.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmwiatrzyk%2Fmockify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmwiatrzyk%2Fmockify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmwiatrzyk%2Fmockify/lists"}