def test_cli_sign_writes_correct_signature_to_stdout(self): keypair = lamp.generate_keys() msg = 'hey' priv_name = 'test_priv.key' sig_name = 'test_sign.txt' expected_sig = lamp.sign_message(keypair.priv, msg) lamp.export_key(keypair.priv, priv_name) with patch('sys.stdout', new=StringIO()) as fake_out: lamp.cli(['sign', '--priv', priv_name, '--msg', msg]) self.assertEqual(lamp.str_to_sig(fake_out.getvalue()), expected_sig)
def test_cli_verify_signature_with_inline_msg(self): keypair = lamp.generate_keys() msg = 'hey' pub_name = 'test_pub.key' sig_name = 'test_sign.txt' sig = lamp.sign_message(keypair.priv, msg) lamp.export_key(keypair.pub, pub_name) with open(sig_name, 'w') as f: f.write(''.join(sig).strip()) with patch('sys.stdout', new=StringIO()) as fake_out: lamp.cli( ['verify', '--pub', pub_name, '--msg', msg, '--sig', sig_name]) self.assertEqual(fake_out.getvalue().strip(), 'valid')
def test_cli_generates_keys_with_pub_flag(self): pub_name = 'pub.key' lamp.cli(['generate_keys', '--pub', pub_name]) self.assertTrue(os.path.exists(pub_name))
def test_cli_generates_keys_with_priv_flag(self): priv_name = 'priv.key' lamp.cli(['generate_keys', '--priv', priv_name]) self.assertTrue(os.path.exists(priv_name))
def test_cli_generates_keys_with_no_flag(self): pub_name = 'pub.key' priv_name = 'priv.key' lamp.cli(['generate_keys']) self.assertTrue(os.path.exists(pub_name) and os.path.exists(priv_name))