SDK
Python SDK
Install and use the AEON Python SDK to push builds, run TTCN-3 campaigns, stream logs, and assert verdicts inside pytest.
6 min read
bashbash
pip install aeon-cloud
Run a campaign
pythonpython
from aeon import Client
client = Client() # reads AEON_TOKEN
build = client.builds.push("./srsue-bundle.tar.gz", tag="rc3", release=18)
run = client.executions.create(build=build.tag, campaign="smoke", lanes=4)
for line in run.stream_logs():
print(line.layer, line.text)
result = run.wait()
print(result.verdict, result.duration_s)
for case in result.failed_cases():
print(case.id, case.reason, case.clause)Assert inside pytest
pythonpython
import pytest
from aeon import Client
@pytest.fixture(scope="session")
def registration_run():
return Client().executions.create(
build="rc3", cases=["TC_6_1_1_1", "TC_6_1_1_2"],
).wait()
def test_initial_registration_passes(registration_run):
case = registration_run.case("TC_6_1_1_1")
assert case.verdict == "pass", case.reasonAsync client
pythonpython
import asyncio
from aeon import AsyncClient
async def main():
async with AsyncClient() as c:
runs = [c.executions.create(build="rc3", case=cid) for cid in cases]
results = await asyncio.gather(*(r.wait() for r in await asyncio.gather(*runs)))
print(sum(r.verdict == "pass" for r in results), "passed")
asyncio.run(main())Run this against a real SDR lane
The tester is a service, not a box. Push a build, reserve a lane, get a verdict.