2bcab5d098
- 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.
45 lines
1.2 KiB
Python
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)
|