Socket
Socket
Sign inDemoInstall

celery-mock

Package Overview
Dependencies
1
Maintainers
2
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

celery-mock

celery-mock allows you to mock celery task and run them when you want

    1.1.7

Maintainers
2

Readme

=============================== Celery Task Mocking

.. image:: https://img.shields.io/pypi/v/celery-mock.svg :target: https://pypi.python.org/pypi/celery-mock

.. image:: https://img.shields.io/travis/ulamlabs/celery-mock.svg :target: https://travis-ci.org/ulamlabs/celery-mock

.. image:: https://codecov.io/gh/ulamlabs/celery-mock/branch/master/graph/badge.svg :target: https://codecov.io/gh/ulamlabs/celery-mock

celery-mock allows you to mock celery task and then run them when you want

Rationale

Sometimes a celery task retries itself to wait for some event or model to change. This is hard to test because celery tasks run (and retry) inline in tests. Now you can choose when to run your tasks.

Supported versions

  • Python 3 support
  • Celery 3.1.x and 4.0.x support

How to install

.. code-block:: bash

    pip install celery-mock

How to use

.. code-block:: python

    from celery_mock import task_mock
    from django.test import TestCase, Client
    
    from myapp import dummyview
    
    class UsersTestCase(TestCase):
     
        def test_create_user(self):
            client = Client()
            client.post('/api/users/', data={'username': 'konrad')  # runs tasks inline
            
            with task_mock():
                client.post('/api/users/', data={'username': 'konrad')
                # no tasks started yet
            # all tasks ran here
            
            with task_mock('myapp.post_user_create_task'):
                client.post('/api/users/', data={'username': 'konrad')
                # all tasks started execept myapp.post_user_create_task
            # myapp.post_user_create_task started here
            
            # you can use task_mock manually:
            
            tmock = task_mock().start()
            client.post('/api/users/', data={'username': 'konrad')
            # no tasks started yet
            tomock.stop()  # all tasks ran here

Keywords

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc