|
|
@@ -316,21 +316,34 @@ class TestMain(unittest.TestCase): |
|
|
|
shutil.rmtree(self.basetempdir) |
|
|
|
self.tempdir = None |
|
|
|
|
|
|
|
def test_noargs(self): |
|
|
|
sys.argv = [ 'prog' ] |
|
|
|
@async_test |
|
|
|
async def test_noargs(self): |
|
|
|
proc = await self.run_with_args() |
|
|
|
|
|
|
|
with self.assertRaises(SystemExit) as cm: |
|
|
|
main() |
|
|
|
await proc.wait() |
|
|
|
|
|
|
|
# XXX - not checking error message |
|
|
|
|
|
|
|
# And that it exited w/ the correct code |
|
|
|
self.assertEqual(5, cm.exception.code) |
|
|
|
self.assertEqual(proc.returncode, 5) |
|
|
|
|
|
|
|
def run_with_args(self, *args): |
|
|
|
return asyncio.create_subprocess_exec(sys.executable, |
|
|
|
__file__, *args, |
|
|
|
stdout=asyncio.subprocess.PIPE, |
|
|
|
stderr=asyncio.subprocess.PIPE) |
|
|
|
|
|
|
|
def test_genkey(self): |
|
|
|
def test_both(self): |
|
|
|
pass |
|
|
|
|
|
|
|
@async_test |
|
|
|
async def test_genkey(self): |
|
|
|
# that it can generate a key |
|
|
|
sys.argv = [ 'prog', 'genkey', 'somefile' ] |
|
|
|
main() |
|
|
|
proc = await self.run_with_args('genkey', 'somefile') |
|
|
|
|
|
|
|
await proc.wait() |
|
|
|
|
|
|
|
self.assertEqual(proc.returncode, 0) |
|
|
|
|
|
|
|
with open('somefile.pub', encoding='ascii') as fp: |
|
|
|
lines = fp.readlines() |
|
|
@@ -347,13 +360,17 @@ class TestMain(unittest.TestCase): |
|
|
|
self.assertIsInstance(key, x448.X448PrivateKey) |
|
|
|
|
|
|
|
# that a second call fails |
|
|
|
with self.assertRaises(SystemExit) as cm: |
|
|
|
main() |
|
|
|
proc = await self.run_with_args('genkey', 'somefile') |
|
|
|
|
|
|
|
# XXX - not checking error message |
|
|
|
await proc.wait() |
|
|
|
|
|
|
|
stdoutdata, stderrdata = await proc.communicate() |
|
|
|
|
|
|
|
self.assertFalse(stdoutdata) |
|
|
|
self.assertEqual(b'failed to create somefile.pub, file exists.\n', stderrdata) |
|
|
|
|
|
|
|
# And that it exited w/ the correct code |
|
|
|
self.assertEqual(1, cm.exception.code) |
|
|
|
self.assertEqual(proc.returncode, 1) |
|
|
|
|
|
|
|
class TestNoiseFowarder(unittest.TestCase): |
|
|
|
def setUp(self): |
|
|
|