From ce28252c485cea5cdc2b0f5fd9f1c8d50c26c7a2 Mon Sep 17 00:00:00 2001 From: Philipp Hagemeister Date: Tue, 2 Aug 2016 17:03:46 +0200 Subject: [PATCH] [options] Add test that checks that --password=secret is hidden in verbose output --- test/test_verbose_output.py | 70 +++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 test/test_verbose_output.py diff --git a/test/test_verbose_output.py b/test/test_verbose_output.py new file mode 100644 index 0000000000..4c77df2425 --- /dev/null +++ b/test/test_verbose_output.py @@ -0,0 +1,70 @@ +#!/usr/bin/env python +# coding: utf-8 + +from __future__ import unicode_literals + +import unittest + +import sys +import os +import subprocess +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +rootDir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +class TestVerboseOutput(unittest.TestCase): + def test_private_info_arg(self): + outp = subprocess.Popen( + [ + sys.executable, 'youtube_dl/__main__.py', '-v', + '--username', 'johnsmith@gmail.com', + '--password', 'secret', + ], cwd=rootDir, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + sout, serr = outp.communicate() + self.assertTrue('--username' in serr) + self.assertTrue('johnsmith' not in serr) + self.assertTrue('--password' in serr) + self.assertTrue('secret' not in serr) + + def test_private_info_shortarg(self): + outp = subprocess.Popen( + [ + sys.executable, 'youtube_dl/__main__.py', '-v', + '-u', 'johnsmith@gmail.com', + '-p', 'secret', + ], cwd=rootDir, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + sout, serr = outp.communicate() + self.assertTrue('-u' in serr) + self.assertTrue('johnsmith' not in serr) + self.assertTrue('-p' in serr) + self.assertTrue('secret' not in serr) + + def test_private_info_eq(self): + outp = subprocess.Popen( + [ + sys.executable, 'youtube_dl/__main__.py', '-v', + '--username=johnsmith@gmail.com', + '--password=secret', + ], cwd=rootDir, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + sout, serr = outp.communicate() + self.assertTrue('--username' in serr) + self.assertTrue('johnsmith' not in serr) + self.assertTrue('--password' in serr) + self.assertTrue('secret' not in serr) + + def test_private_info_shortarg_eq(self): + outp = subprocess.Popen( + [ + sys.executable, 'youtube_dl/__main__.py', '-v', + '-u=johnsmith@gmail.com', + '-p=secret', + ], cwd=rootDir, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + sout, serr = outp.communicate() + self.assertTrue('-u' in serr) + self.assertTrue('johnsmith' not in serr) + self.assertTrue('-p' in serr) + self.assertTrue('secret' not in serr) + +if __name__ == '__main__': + unittest.main()