2022-03-28 02:22:19 +00:00
|
|
|
import pytest
|
|
|
|
|
2014-03-13 16:43:27 +00:00
|
|
|
import pydle
|
2014-03-15 14:55:59 +00:00
|
|
|
|
|
|
|
from pytest import mark
|
2014-03-13 16:43:27 +00:00
|
|
|
from .fixtures import with_client
|
|
|
|
from .mocks import MockClient, MockServer, MockConnection, MockEventLoop
|
|
|
|
|
|
|
|
|
2022-03-28 02:22:19 +00:00
|
|
|
@pytest.mark.asyncio
|
2014-03-15 14:55:59 +00:00
|
|
|
@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)
|
2022-03-28 02:22:19 +00:00
|
|
|
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
|
|
|
|
|
2022-03-28 02:22:19 +00:00
|
|
|
|
|
|
|
@pytest.mark.asyncio
|
2014-03-15 14:55:59 +00:00
|
|
|
@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)
|
2022-03-28 02:22:19 +00:00
|
|
|
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)
|
|
|
|
|
2022-03-28 02:22:19 +00:00
|
|
|
|
|
|
|
@pytest.mark.asyncio
|
2014-03-15 14:55:59 +00:00
|
|
|
@mark.meta
|
2022-03-28 02:22:19 +00:00
|
|
|
@with_client(username="test_runner")
|
2014-03-14 23:29:55 +00:00
|
|
|
def test_fixtures_with_client_options(server, client):
|
2022-03-28 02:22:19 +00:00
|
|
|
assert client.username == "test_runner"
|
|
|
|
|
2014-03-14 23:29:55 +00:00
|
|
|
|
2022-03-28 02:22:19 +00:00
|
|
|
@pytest.mark.asyncio
|
2014-03-15 14:55:59 +00:00
|
|
|
@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
|