OpenSlides/server/tests/unit/core/test_websocket.py
FinnStutzenstein 2bcab5d098
Repository restructure
- moved all server related things into the folder `server`, so this
configuration is parallel to the client.
- All main "services" are now folders in the root directory
- Added Dockerfiles to each service (currently server and client)
- Added a docker compose configuration to start everything together.
Currently there are heavy dependencies into https://github.com/OpenSlides/openslides-docker-compose
- Resturctured the .gitignore. If someone needs something excluded,
please add it to the right section.
- Added initial build setup with Docker and docker-compose.
- removed setup.py. We won't deliver OpenSlides via pip anymore.
2020-08-21 08:11:13 +02:00

45 lines
1.2 KiB
Python

import jsonschema
import pytest
from openslides.utils.websocket import schema
def test_notify_schema_validation():
# This raises a validaten error if it fails
message = {
"id": "test-message",
"type": "notify",
"content": {"name": "testname", "content": ["some content"]},
}
jsonschema.validate(message, schema)
def test_notify_schema_invalid_str_in_list():
message = {
"type": "notify",
"content": [{}, "testmessage"],
"id": "test_send_invalid_notify_str_in_list",
}
with pytest.raises(jsonschema.ValidationError):
jsonschema.validate(message, schema)
def test_notify_schema_invalid_no_elements():
message = {
"type": "notify",
"content": [],
"id": "test_send_invalid_notify_str_in_list",
}
with pytest.raises(jsonschema.ValidationError):
jsonschema.validate(message, schema)
def test_notify_schema_invalid_not_a_list():
message = {
"type": "notify",
"content": {"testmessage": "foobar, what else."},
"id": "test_send_invalid_notify_str_in_list",
}
with pytest.raises(jsonschema.ValidationError):
jsonschema.validate(message, schema)