blob: c4d2dd6a2766c40f7c4448863a999ef53937b16d [file] [log] [blame]
Eduardo Sousa4d611d32018-05-09 19:20:37 +01001import http
2import pytest
3
4from osm_common.msgbase import MsgBase, MsgException
5
6
7def exception_message(message):
8 return "messaging exception " + message
9
tiernob20a9022018-05-22 12:07:05 +020010
Eduardo Sousa4d611d32018-05-09 19:20:37 +010011@pytest.fixture
12def msg_base():
13 return MsgBase()
14
tiernob20a9022018-05-22 12:07:05 +020015
Eduardo Sousa4d611d32018-05-09 19:20:37 +010016def test_constructor():
17 msgbase = MsgBase()
tiernob20a9022018-05-22 12:07:05 +020018 assert msgbase is not None
Eduardo Sousa4d611d32018-05-09 19:20:37 +010019 assert isinstance(msgbase, MsgBase)
20
tiernob20a9022018-05-22 12:07:05 +020021
Eduardo Sousa4d611d32018-05-09 19:20:37 +010022def test_connect(msg_base):
Eduardo Sousa5ffda642018-05-09 19:42:00 +010023 msg_base.connect(None)
Eduardo Sousa4d611d32018-05-09 19:20:37 +010024
tiernob20a9022018-05-22 12:07:05 +020025
Eduardo Sousa4d611d32018-05-09 19:20:37 +010026def test_disconnect(msg_base):
27 msg_base.disconnect()
28
tiernob20a9022018-05-22 12:07:05 +020029
Eduardo Sousa4d611d32018-05-09 19:20:37 +010030def test_write(msg_base):
31 with pytest.raises(MsgException) as excinfo:
32 msg_base.write("test", "test", "test")
33 assert str(excinfo.value).startswith(exception_message("Method 'write' not implemented"))
34 assert excinfo.value.http_code == http.HTTPStatus.INTERNAL_SERVER_ERROR
35
tiernob20a9022018-05-22 12:07:05 +020036
Eduardo Sousa4d611d32018-05-09 19:20:37 +010037def test_read(msg_base):
38 with pytest.raises(MsgException) as excinfo:
39 msg_base.read("test")
40 assert str(excinfo.value).startswith(exception_message("Method 'read' not implemented"))
41 assert excinfo.value.http_code == http.HTTPStatus.INTERNAL_SERVER_ERROR
42
tiernob20a9022018-05-22 12:07:05 +020043
Eduardo Sousa4d611d32018-05-09 19:20:37 +010044def test_aiowrite(msg_base, event_loop):
45 with pytest.raises(MsgException) as excinfo:
46 event_loop.run_until_complete(msg_base.aiowrite("test", "test", "test", event_loop))
47 assert str(excinfo.value).startswith(exception_message("Method 'aiowrite' not implemented"))
48 assert excinfo.value.http_code == http.HTTPStatus.INTERNAL_SERVER_ERROR
49
tiernob20a9022018-05-22 12:07:05 +020050
Eduardo Sousa4d611d32018-05-09 19:20:37 +010051def test_aioread(msg_base, event_loop):
52 with pytest.raises(MsgException) as excinfo:
53 event_loop.run_until_complete(msg_base.aioread("test", event_loop))
54 assert str(excinfo.value).startswith(exception_message("Method 'aioread' not implemented"))
55 assert excinfo.value.http_code == http.HTTPStatus.INTERNAL_SERVER_ERROR