1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
from urllib.parse import quote
import pytest
import moto.server as server
from moto import mock_aws
"""
Test the different server responses
"""
@mock_aws
def test_iotdata_list() -> None:
backend = server.create_backend_app("iot-data")
test_client = backend.test_client()
# just making sure that server is up
thing_name = "nothing"
res = test_client.get(f"/things/{thing_name}/shadow")
assert res.status_code == 404
@pytest.mark.parametrize(
"url_encode_topic",
[
pytest.param(True, id="Topic in Path is URL encoded"),
pytest.param(False, id="Topic in Path is *not* URL encoded"),
],
)
@mock_aws
def test_publish(url_encode_topic: bool) -> None:
backend = server.create_backend_app("iot-data")
test_client = backend.test_client()
topic = "test/topic"
topic_for_path = quote(topic, safe="") if url_encode_topic else topic
result = test_client.post(f"/topics/{topic_for_path}")
assert result.status_code == 200
|