Hi there,

I was trying to write a test for a consumer. It is just a very simply
AsyncHttpConsumer subclass that awaits on asyncio.sleep(3) and returns a
"OK" in plain text.

The test case is:
@pytest.mark.asyncio
async def test_my_consumer():
    communicator = HttpCommunicator(BasicHttpConsumer, "GET", "asynchttp")
    response = await communicator.get_response()
    assert response["status"] == 200
    assert response["body"] == b"OK"

1) Error 1:
I run it with command "pytest xxxx.py"
The first error I got was:
django.core.exceptions.ImproperlyConfigured: Requested settings, but
settings are not configured. You must either define the environment
variable DJANGO_SETTINGS_MODULE or call settings.configure() before
accessing settings.

I google online and found this fix:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "MODULE_PATH_TO.settings")


2) Error 2:
The new error I am getting is:
self = <async_timeout.timeout object at 0x7fe427eca470>, exc_type = <class
'concurrent.futures._base.CancelledError'>

    def _do_exit(self, exc_type: Type[BaseException]) -> None:
        if exc_type is asyncio.CancelledError and self._cancelled:
            self._cancel_handler = None
            self._task = None
>           raise asyncio.TimeoutError
E           concurrent.futures._base.TimeoutError

But If I change async.sleep(3) to  async.sleep(0) the test passed. Not sure
why

Also how to test url mapping works correctly?

Thanks
Drew

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAMmsbUk-3AemjcTxxidf4GBvKeWG7b72qwfUcs5owReTeOEMiw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to