[V3] Make pytest fixtures available as a plugin (#1858)

* Move all fixtures to pytest plugin folder

* Add core dunder all

* Update other dunder all's

* Black reformat
This commit is contained in:
Will
2018-06-22 21:33:06 -04:00
committed by Toby Harradine
parent d23620727e
commit afa08713e0
22 changed files with 304 additions and 218 deletions

51
redbot/pytest/rpc.py Normal file
View File

@@ -0,0 +1,51 @@
import pytest
from redbot.core.rpc import RPC, RPCMixin
from unittest.mock import MagicMock
__all__ = ["rpc", "rpcmixin", "cog", "existing_func", "existing_multi_func"]
@pytest.fixture()
def rpc():
return RPC()
@pytest.fixture()
def rpcmixin():
r = RPCMixin()
r.rpc = MagicMock(spec=RPC)
return r
@pytest.fixture()
def cog():
class Cog:
async def cofunc(*args, **kwargs):
pass
async def cofunc2(*args, **kwargs):
pass
async def cofunc3(*args, **kwargs):
pass
def func(*args, **kwargs):
pass
return Cog()
@pytest.fixture()
def existing_func(rpc, cog):
rpc.add_method(cog.cofunc)
return cog.cofunc
@pytest.fixture()
def existing_multi_func(rpc, cog):
funcs = [cog.cofunc, cog.cofunc2, cog.cofunc3]
rpc.add_multi_method(*funcs)
return funcs