X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=tests%2Fintegration%2Ftest_machine.py;h=60de035244f75b946be3619e618b3bc9d44b2d7a;hb=fbd25b458d70f0ca0743be60ff3d6ab21335707f;hp=499a7d3d8309325e18f5ab105585b369dc57ad94;hpb=6d11e9199ddb40cb474ae68150fc79fa6ea35e22;p=osm%2FN2VC.git diff --git a/tests/integration/test_machine.py b/tests/integration/test_machine.py index 499a7d3..60de035 100644 --- a/tests/integration/test_machine.py +++ b/tests/integration/test_machine.py @@ -1,7 +1,8 @@ import asyncio - import pytest +from tempfile import NamedTemporaryFile + from .. import base @@ -35,3 +36,27 @@ async def test_status(event_loop): assert machine.status_message.lower() == 'running' assert machine.agent_status == 'started' assert machine.agent_version.major >= 2 + + +@base.bootstrapped +@pytest.mark.asyncio +async def test_scp(event_loop): + async with base.CleanModel() as model: + await model.add_machine() + await asyncio.wait_for( + model.block_until(lambda: model.machines), + timeout=240) + machine = model.machines['0'] + await asyncio.wait_for( + model.block_until(lambda: (machine.status == 'running' and + machine.agent_status == 'started')), + timeout=480) + + with NamedTemporaryFile() as f: + f.write(b'testcontents') + f.flush() + await machine.scp_to(f.name, 'testfile') + + with NamedTemporaryFile() as f: + await machine.scp_from('testfile', f.name) + assert f.read() == b'testcontents'