Add __init__ setup, pytest-trio and split up tests
continuous-integration/drone/push Build is failing Details

This commit is contained in:
Luke Murphy 2020-06-30 16:02:55 +02:00
parent 1fb81002d8
commit eb03ff96ad
No known key found for this signature in database
GPG Key ID: 5E2EF5A63E3718CC
4 changed files with 41 additions and 5 deletions

View File

@ -1,5 +1,6 @@
[tool:pytest]
testpaths = test
trio_mode = true
[flake8]
max-line-length = 80

View File

@ -2,10 +2,37 @@
__all__ = ["SimpleMessageChannel"]
from typing import List, Optional
import attr
@attr.s(auto_attribs=True)
class SimpleMessageChannel:
"""A simple message channel."""
message: Optional[bytes] = None
ptr: int = 0
varint: int = 0
factor: int = 1
length: int = 0
header: int = 0
state: int = 0
consumed: int = 0
max_size: int = 8 * 1024 * 1024
types: List = attr.Factory(list)
receiving: bool = False
destroyed: bool = False
error: Optional[Exception] = None
# TODO(decentral1se): need to lookup type of what is being passed in
# context: ???
# TODO(decentral1se): allow to override instead of callback interface!?
# onmissing: ???
# onmessage: ???
async def send(self, channel: int, type: int, message: bytes) -> bytes:
pass

View File

@ -1,10 +1,17 @@
async def test_send_recv(smc):
async def test_send_produces_bytes(smc):
channel, type, message = 0, 0, b"abc"
payload = await smc.send(channel, type, message)
assert isinstance(payload, bytes)
async with smc.recv(payload) as response:
assert response.channel == channel
assert response.type == type
assert response.message == message
# async def test_recv_context_manager(smc):
# channel, type, message = 0, 0, b"abc"
# payload = await smc.send(channel, type, message)
# assert isinstance(payload, bytes)
# async with smc.recv(payload) as response:
# assert response.channel == channel
# assert response.type == type
# assert response.message == message

View File

@ -13,6 +13,7 @@ deps =
pytest
pytest-cov
pytest-mock
pytest-trio
commands = pytest test/ --cov={toxinidir}/simple_message_channels/ --no-cov-on-fail {posargs}
[testenv:lint]