diff options
Diffstat (limited to 'python/mozperftest/mozperftest/tests/test_pingserver.py')
-rw-r--r-- | python/mozperftest/mozperftest/tests/test_pingserver.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/python/mozperftest/mozperftest/tests/test_pingserver.py b/python/mozperftest/mozperftest/tests/test_pingserver.py new file mode 100644 index 0000000000..aa485f3a19 --- /dev/null +++ b/python/mozperftest/mozperftest/tests/test_pingserver.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python +import json +import sys +from pathlib import Path + +import mozunit +import requests + +from mozperftest.system.pingserver import PingServer +from mozperftest.tests.support import get_running_env +from mozperftest.utils import ON_TRY, temp_dir + + +def test_ping_server(): + if ON_TRY and sys.platform == "darwin": + # macos slave in the CI are restricted + return + ping_data = {"some": "data"} + with temp_dir() as output: + args = {"verbose": True, "output": output} + mach_cmd, metadata, env = get_running_env(**args) + layer = PingServer(env, mach_cmd) + layer.setup() + try: + metadata = layer.run(metadata) + # simulates a ping + requests.post( + layer.endpoint + "/submit/something", data=json.dumps(ping_data) + ) + finally: + layer.teardown() + + with Path(output, "telemetry.json").open() as f: + assert json.loads(f.read()) == [ping_data] + + +if __name__ == "__main__": + mozunit.main() |