Source code

Revision control

Copy as Markdown

Other Tools

#!/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()