pydle/tests/test__fixtures.py

48 lines
1.4 KiB
Python
Raw Normal View History

import pytest
from pytest import mark
2022-03-29 01:34:36 +00:00
import pydle
2014-03-13 16:43:27 +00:00
from .fixtures import with_client
from .mocks import MockClient, MockServer, MockConnection, MockEventLoop
@pytest.mark.asyncio
@mark.meta
2014-03-13 16:43:27 +00:00
@with_client(connected=False)
def test_fixtures_with_client(server, client):
assert isinstance(server, MockServer)
assert isinstance(client, MockClient)
assert (
client.__class__.__mro__[1] is MockClient
), "MockClient should be first in method resolution order"
2014-03-13 16:43:27 +00:00
assert not client.connected
@pytest.mark.asyncio
@mark.meta
2014-03-13 16:43:27 +00:00
@with_client(pydle.features.RFC1459Support, connected=False)
def test_fixtures_with_client_features(server, client):
assert isinstance(client, MockClient)
assert (
client.__class__.__mro__[1] is MockClient
), "MockClient should be first in method resolution order"
2014-03-13 16:43:27 +00:00
assert isinstance(client, pydle.features.RFC1459Support)
@pytest.mark.asyncio
@mark.meta
@with_client(username="test_runner")
def test_fixtures_with_client_options(server, client):
assert client.username == "test_runner"
@pytest.mark.asyncio
@mark.meta
2014-03-13 16:43:27 +00:00
@with_client()
def test_fixtures_with_client_connected(server, client):
assert client.connected
assert isinstance(client.eventloop, MockEventLoop)
assert isinstance(client.connection, MockConnection)
assert isinstance(client.connection.eventloop, MockEventLoop)
assert client.eventloop is client.connection.eventloop